-
Improvement
-
Resolution: Duplicate
-
Major
-
None
-
Platform: All, OS: All
Consider following scenario with three projects: 'common', 'core', 'codec'.
Project 'codec' depends on 'core'.
Projects 'core' and 'codec' both directly depend on 'common'.
If a build is triggered for 'common', both the 'codec' and the 'core' projects
are scheduled to be built as well. The order in which these are put in the queue
is not determined (because each of the projects directly depend on common), so
it could be that the 'codec' project is built before the 'core' project.
Now if the original change in the 'common' project (which triggered all the
builds) introduced an incompatible change in 'core' (eg. the 'common' project
defines the common parts of the build script, so the output of the 'core' build
can be different as before the change), the build for the 'codec' project will
fail if it is built first, ie. before the 'core' project.
This could be solved if, before a build moves from the build schedule to the
actual build executor, the build queue is checked for upstream projects. If
there are any upstream projects, the build should be postponed.
- duplicates
-
JENKINS-1938 Order Buildque / Block Projects for Upstream Projects
- Closed