Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-4365

Build should be postponed if upstream projects are building or in build queue

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Major Major
    • core
    • 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.

            Unassigned Unassigned
            willemv Willem Verstraeten
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: