Fix non-restarted skipped bridge jobs
What does this MR do and why?
This MR fixes the problem of non-restarted skipped bridge jobs.
When retrying the whole pipeline, all skipped jobs should be "processed", which usually means "transition to created state".
We fixed this bug (!39989 (merged)) for "builds" but not for "bridges". In this MR, we started to use "processables" to include both.
Related to #337320 (closed)
Screenshots or screen recordings
When we retry the failed build, everything works as expected;
When we retry the whole pipeline, the bridge job does not retry.
After this MR;
How to set up and validate locally
- Use this CI config
# .gitlab-ci.yml
build:
stage: build
script:
- exit $((RANDOM % 2))
trigger_job:
stage: deploy
trigger:
include: .child-pipeline.yml
# .child-pipeline.yml
deploy:
stage: deploy
script: exit 0
- Run a pipeline.
- If the
build
job fails, retry until it succeeds. - See that
trigger_job
is still skipped.
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.
Edited by Furkan Ayhan