`needs:pipeline` implementation
We should introduce support for defining the upstream/downstream relationship in downstream projects:
gitlab-ce:
needs:
pipeline: gitlab-org/gitlab-ce
gitlab-ee:
needs:
pipeline: gitlab-org/gitlab-ce
This introduces a job that is exactly the same Ci::Bridge
, but instead of having downstream (trigger) it has an upstream dependency.
- For each job that has an upstream dependency we want to find the latest pipeline on the given project
- If the pipeline is running we wait for this pipeline to finish
- This serves as an idea to wait for multiple upstream projects to finish, and allow to easily pass states and dependencies of upstream projects
- The
needs:pipeline
follows all regular rules for handling jobs and when to run them (only
/except
/when
, etc...), we configure the dependency based on that - We do not skip any jobs before this job
Edited by Jason Yavorska