Spike: Bring some DAG insights into the pipeline view
This issue was open as a follow up from #232946 (closed) Based on @sarahghp comment:
Implementing this will be pretty complicated, as it is a big project and touches the updates we are making to the graph layout (with the
gitlab-ci.yml
as the first part of the implementation) and the underlying data fetching and storage (GraphQL & Apollo).So I am proposing that for %13.5 we do two or three things:
- Add the colors to the
JobItem
components, so that users start thinking of stages as colors,- Open a backend ticket to indicate whether a pipeline includes
needs
, accessible both as adata-
attribute and via GraphQL, and- Do a POC spike on creating this graph view, with me, @f_caplette, and @lauraMon contributing, since we have been doing work around this already.
Numbers 2 and 3 can be combined.
I except the POC/spike to answer these questions:
- We need to get the info from the backend. We need to transform that data into the shape needed by the graphs. The data currently given for the pipelines does not include data needed for a DAG view. What does that data look like and are there issues getting it from GraphQL? (This also addresses the GraphQL KR and #223262)
- Establish that our planned approach for links replacement will work (this is congruent with step 2 in !40880 (merged))
- Determine how the interactions with upstream and downstream pipelines might complicate the work. (I actually expect this to become easier.)
The ultimate outcome would be to have the fast & dirty code and from there a more solid plan for all the steps needed to get us to this view.
Please let me know what you think of this plan. It involves still doing work on planned issues, but focusing some extra time on this POC. The alternate is to push this out one or two milestones and keep working on the related issues in the meantime.
Expected outcome
Since the purpose of this issue is to allocate some engineering time to break this issue properly so we’ll come better prepared for the next iteration the expected outcome is:
- List of broken issues of how we can iterate through this existing issue