Create show page for a trigger job
What does this MR do and why?
For #345046
This sets up the show page for a bridge/trigger job. This is hidden behind the :ci_retry_downstream_pipeline
feature flag.
In the pipeline graph, jobs that trigger a downstream pipeline currently link to the page for the downstream pipeline. In this MR, we are changing the behavior by creating a show page for the trigger job. In the future, this page will contain actions for retrying the whole downstream pipeline, or for retrying only the failed/canceled jobs in the downstream pipeline.
To keep a clean separation of data, and because the retry actions will be implemented in graphQL, we decided to implement a separate vue app instead of integrating the new show page with the existing job vue app (which uses REST and vuex). A trigger job also doesn't have any of the extra components shown in a job page (such as artifacts, logs, etc.).
This MR is just for setting up the page. Fetching and displaying the job details will be implemented in another MR to reduce bloat on this one.
Screenshots or screen recordings
Regualr Job Page | Trigger Job Page |
---|---|
FF Disabled (links to downstream pipeline) | FF Enabled (links to trigger show page) |
---|---|
downstream_pipeline | trigger_job_page |
How to set up and validate locally
- Enable the
ci_retry_downstream_pipeline
feature flag. (rails c
thenFeature.enable(:ci_retry_downstream_pipeline)
) - Add the following content to your
.gitlab-ci.yml
file:stages: - prepare - deploy job: stage: prepare script: - echo "running prepare_job" triggerJob: stage: deploy trigger: include: - project: "/path/to/project" # replace with another project file: ".gitlab-ci.yml"
- Visit the pipeline and click on the
triggerJob
job pill. - Site should redirect to the trigger show page.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.