Show failed jobs in MR pipelines tab part 3
What does this MR do and why?
Add failed jobs tract to MR pipelines tab
Behind a FF we add the ability to see failed jobs trace directly inside the pipelines tab of a MR. Failed jobs are only fetched when clicking on the button to expand the table. Then each failed jobs is fetched and can be clicked on to expand the job log and see why the job failed.
IMPORTANT This will only get a UX review in the very last MR because before that, it is not enough to be properly tested.
This is part 3 of 5 in a series of MR!
In this MR, we introduce 2 key aspects:
- We render individual job details
- We allow to view job logs! They can all be toggled individually.
MR table:
Title | Link |
---|---|
Introduce FF and base component | !122914 (merged) |
Fetch failed jobs | !122917 (merged) |
Display each failed job in a row with log |
|
Add action button to each job row | !123086 (merged) |
Add polling when the widget is opened |
this is behind a disabled feature flag: ci_job_failures_in_mr
.
Preview
If you are wondering what it will look like after all the MRs are done, here is a quick preview of what the PoC looked like:
Screen_Recording_2023-06-05_at_3.18.34_PM
Screenshots or screen recordings
Before | After |
---|---|
![]() |
![]() |
![]() |
![]() |
Screen_Recording_2023-06-07_at_11.04.44_AM
How to set up and validate locally
- Enable feature flag in rails console `Feature.enable(:ci_job_failures_in_mr)
- Make sure to have a functioning runner
- We need a MR with jobs failures. An easy to do so is to make a merge request on the ci config file and add explicit failures
- Navigate to
Build -> Pipeline Editor
- Change your config to include jobs failures like so:
my_failed_job:
script: exit 1
- Create a merge request with that change
- Navigate to the Merge request page
- Go to the pipelines page
- Click on the "Show failed jobs"
- Notice the new UI
- Click on any failed job
- Notice that the job log expands!
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.