Backend: Wrong parent pipeline status when child pipeline contains optional manual jobs
Summary
When a child pipeline contains only optional (allow_failure: true) manual jobs, which were not run yet, the status of the parent pipeline is set to failed even though no jobs have failed.
Steps to reproduce
- Create parent pipeline
.gitlab-ci.yml:
stages:
- trigger_pipeline
trigger_pipeline:
stage: trigger_pipeline
trigger:
include:
- local: .gitlab-ci-include.yml
strategy: depend
- Create child pipeline
.gitlab-ci-include.yml:
stages:
- test
test:
stage: test
allow_failure: true
script:
- echo 1
rules:
- when: manual
Example Project
https://gitlab.com/sandra17/gitlab-ci-wrong-pipeline-status/
What is the current bug behavior?
The status of the parent pipeline is set to failed.
What is the expected correct behavior?
The status of the pipeline should be set to passed if no jobs have failed.
Acceptance criteria
- Test with
trigger:strategy:dependand without.
Edited by James Heimbuck