|
|
|
|
|
by jpdel
2620 days ago
|
|
Nope. * PR1 is merged with main branch commit N: build OK. PR1 is merged creating main branch commit N+1
* PR2 is merged the same way creating commit N+2
* PR3 build started at the same time as PR2 build, so using main branch commit N+1
* By the time PR3 build is finished and green, head of main branch is commit N+2. So it's not safe to merge
* A new build is automatically started for the merge of PR3 and main branch commit N+2. If it's green, it is merged, created main branch commit N+3. See what I mean? (and obviously I can't figure out how to make bullets in this editor sorry ...) With a build lasting 30 minutes, cases like PR3 above are more likely to happen. But then it doesn't really matter: the build tool will just run builds until it merges. The real issue here is the delayed feedback for the developers: if you are interrupted every 30 minutes with some build status (green or red), it's quite a waste of time daily in terms of context switching. What CI tool and Git provider are you using? Lately I've worked with a team with a build of 28 minutes using TFS VSTS. We got the build down under 10 minutes using conditional builds (tests ran only if some folders have changed). |
|