Inline upstream/downstream pipelines expansion MVC
Problem to Solve
Currently it is not possible to show upstream or downstream pipeline information in context of the current pipeline in order to be able to backtrace what triggered which pipeline and/or what other pipelines did it cause to trigger.
- General topic
ExpandLarger projects, especially those adopting a micro-services architecture, often have a set of interdependent components that form the complete product. When working with these projects, it is important to be able to build, test, and deploy both the individual parts as well as the whole. For example when developers are working on a low level service, it is important to ensure downstream components are not negatively impacted by changes.
With Cross Project Pipelines, GitLab will have first class support for managing and running CI/CD pipelines across projects. Users will be able to easily link a projects CI/CD stages into the full pipeline, as well as view current status.
- Specific documentation blurb
ExpandIn a multi-project scenario, it is very important for developers to access some basic details of related projects when viewing upstream and downstream links. Clicking on the project you're interested in, it will be expanded to a more comprehensive view that shows stages and jobs, as well as further dependencies. You can iterate on it in order to get the full view of the complete pipeline.
- For any given project, show all upstream and downstream projects in the same pipeline graph, clearly indicating which jobs belong to the pipeline in focus. e.g. put external jobs
Note, this is not about showing artifact, image, submodule or other dependencies. It's about what pipelines cause other pipelines to run.
Links / references
Experiment: Figma design link
Can be used to see most up to date design (as we literally work in it and can be inspected for measurements and attribute values (needs free account)
Updated & New Mockups:
Since we are in the
Pipeline tab for a particular pipeline, we show that pipeline expanded by default. You can see its direct upstream and downstream pipelines.
Clicking on the row with the caret on the upstream or downstream project node, will expand the project inline. They can also again be collapsed.
3-levels (additional downstream from upstream expanded):
expanded downstream pipeline, where there are multiple downstreams already and another downstream:
- additional downstream pipelines, stay at height of expanded downstream
expanded direct upstream pipeline, which has additional downstream pipelines:
- Has no column denominator/title
- Is not positioned under the nodes of the current pipeline (is a real edge case)..
- if expanded.. just stretches horizontal space needed
- this iteration will just focus on having the upstream and downstream expansion, with no collapse
- this iteration will not have the blue background for current project, or other ways to highlight it
- this iteration will show only the direct upstream for the original project
What does success look like, and how can we measure that?
(If no way to measure success, link to an issue that will implement a way to measure this)