GitLab CI Trigger Job Fails - Downstream Pipeline Failed
By Daniel Zoghalchali·Latchkey
A trigger job with strategy: depend mirrors the downstream pipeline status. When the child or multi-project pipeline fails, the trigger job fails too. The root cause lives in the downstream pipeline, not the trigger.
What this error means
The trigger job is red with a generic downstream failure message, while the actual error is in the linked child or multi-project pipeline.
gitlab-ci
The downstream pipeline failed.trigger job 'deploy-service' failed because its downstreampipeline (strategy:depend) finished with status: failed
Diagnose it: which rule matched, and on which runner?
GitLab evaluates rules: top to bottom and the first match wins, including one that sets when: never. A job that does not run, or runs when you did not expect it to, is nearly always matching an earlier rule than the one you are reading.
.gitlab-ci.yml
# validate the definition against the projectcurl -s --header "PRIVATE-TOKEN:$TOKEN" \"https://gitlab.com/api/v4/projects/$CI_PROJECT_ID/ci/lint" \--data-urlencode "content=$(cat .gitlab-ci.yml)"# what the job actually seesscript:- env | grep -E "^CI_(PIPELINE_SOURCE|COMMIT_REF_NAME|RUNNER)" | sort
Common causes
A job in the downstream pipeline failed
With strategy:depend, any failed downstream job fails the trigger.
Downstream pipeline could not be created
An invalid downstream config or a transient coordinator hiccup can leave the trigger failed.
Transient infrastructure failure downstream
A momentary runner or network blip can fail a downstream job that would otherwise pass on retry.
How to fix it
Open and fix the downstream pipeline
Follow the link from the trigger job to the failed downstream pipeline and address the failing job there.
Click into the downstream pipeline from the trigger job.
Identify the failed downstream job and read its log.
Fix the root cause, then re-run the downstream (or the parent) pipeline.
Decide whether to propagate failure
Drop strategy:depend if the downstream result should not block the parent.
.gitlab-ci.yml
deploy-service:trigger:project:group/servicestrategy:depend # remove to not propagate downstream failure
How to prevent it
Use strategy:depend only when downstream success should gate the parent.
Keep downstream pipelines independently green.
Add retries to flaky downstream jobs.
Frequently asked questions
What causes GitLab CI trigger job fails?
There are 3 common causes: a job in the downstream pipeline failed, downstream pipeline could not be created, and transient infrastructure failure downstream. With strategy:depend, any failed downstream job fails the trigger.
How do I fix GitLab CI trigger job fails?
There are 2 fixes depending on which cause you have: open and fix the downstream pipeline and decide whether to propagate failure. Work through them in order, since the first is the most common.
What does GitLab CI trigger job fails actually mean?
The trigger job is red with a generic downstream failure message, while the actual error is in the linked child or multi-project pipeline.
How do I stop GitLab CI trigger job fails happening again?
Use strategy:depend only when downstream success should gate the parent. The prevention section lists 3 changes that keep it from recurring.