Add `include:` file links to the pipeline editor
## 🧩 Problem Complex CI/CD configuration can contain multiple pipelines added to the main config using the `include` keyword. When editing or troubleshooting your config it's difficult to navigate between the `.gitlab-ci-yml` and the included files. Additionally, a complex pipeline configuration might contain separate files for downstream pipelines and other files. Engineers who author pipelines would like to locate and edit all of their pipelines files in one place and take advantage of the pipeline editor features like pipeline visualization, linting, etc. ## 🎨 Proposal As an MVC, we will surface a list of links to the pipeline files added to the config with the `include:` keyword. #### :point_right: [See the feature proposal in the design issue.](https://gitlab.com/gitlab-org/gitlab/-/issues/339469/) #### Open questions - BE issue will define which files we can surface in the files section in the first iteration. #### Next iterations - Add a search bar for files [like in the MRs](https://share.getcloudapp.com/Kou7Z19J) - Add a file path hierarchy for files like in the MRs #### Relevant links - [Technical Spike issue for making included pipeline files clickable](https://gitlab.com/gitlab-org/gitlab/-/issues/300142#note_658626591) #### Implementation Plan A thorough implementation plan is detailed in https://gitlab.com/gitlab-org/gitlab/-/issues/344940#note_790001555. The ~backend and ~frontend work can be done in parallel. The breakdown is as follows: | Work Type | Description | Issue Link | | ------ | ------ | ------ | | ~backend | Expose includes link | https://gitlab.com/gitlab-org/gitlab/-/issues/344937 | | ~frontend | Change the pipeline editor fixed layout to full-width | https://gitlab.com/gitlab-org/gitlab/-/issues/346331 | | ~frontend | Introduce the feature flag and the empty drawer. | https://gitlab.com/gitlab-org/gitlab/-/issues/350721 | | ~frontend | Pass down the content to the drawer and format it properly | https://gitlab.com/gitlab-org/gitlab/-/issues/350722 | | ~frontend | Remember the open/closed state in local storage | https://gitlab.com/gitlab-org/gitlab/-/issues/350723 | | ~frontend | Add feature discovery popover | https://gitlab.com/gitlab-org/gitlab/-/issues/360111 | | ~frontend | Roll out feature flag | https://gitlab.com/gitlab-org/gitlab/-/issues/357219 ~"workflow::in dev" | | ~frontend ~backend | Add messaging when files can't be fetched due to invalid CI configuration | https://gitlab.com/gitlab-org/gitlab/-/issues/360431 | | ~frontend (tech debt) | Investigate better way to style the file tree layout | https://gitlab.com/gitlab-org/gitlab/-/issues/361920 |
epic