Start CI job immediately after the job it defined dependency on completes, without waiting for whole stage to complete
Description
Right now, we have a stage => stage => stage way of progress in pipelines. That is, a stage starts only after all jobs in previous stage has completed. However, there are usecases in which a job in one stage depends on only one job in the previous stage, nothing else. Now, it has to wait for the whole previous stage to complete before start.
Proposal
If job B in stage 2 has specified a dependency
on job A in stage 1, start processing of job B immediately after job A completes, without waiting for other jobs in stage 1 to finish. By default, do stage => stage => stage way. But if there are dependencies, respect them and start that job immediately.
In omnibus-gitlab, the job building the docker image depends only on Ubuntu 16.04 package build job. It needn't wait for other jobs in the package build stage.
@markpundsack @bikebilly @ayufan
Feature checklist
Make sure these are completed before closing the issue, with a link to the relevant commit.
-
Feature assurance -
Documentation -
Added to features.yml