Skip to content

Upstream pipeline fails to proceed to next stage if job in downstream pipeline (strategy: depend) fails and then passes

Summary

Note: Much of this was copied from #244334 (closed) which overlaps with this issue.

If a parent pipeline includes a child pipeline with strategy: depend and any jobs fail in the child pipeline the parent pipeline becomes stuck. !41930 (merged) addressed the parent pipeline not getting updated when the child job was retried but this doesn't address the the fact that the parent pipeline won't continue, even after the child successfully passes. Below is a demo, the child pipeline jobs are simple bash scripts that exit either 0 or 1 randomly. The child pipeline fails and if you replay those jobs they eventually pass and the parent is updated as "passed" but the parent pipeline won't continue to the next stage.

Steps to reproduce

Start a pipeline with the .yml files outlined in the following repo: https://gitlab.com/learoy.klinginsmith/ci-test/-/tree/master

Example Project

https://gitlab.com/learoy.klinginsmith/ci-test/-/tree/master

https://gitlab.com/learoy.klinginsmith/ci-test/-/pipelines/241400949

What is the current bug behavior?

When a child pipeline fails and is restarted, then runs successfully, the parent is updated to a "passed" state but the next stage in the parent pipeline is never executed.

What is the expected correct behavior?

When the child pipeline fails and is restarted, then runs successfully, the parent pipeline should proceed to the next stage.

Relevant logs and/or screenshots

image image

Output of checks

This bug happens on 13.6.3-ee as well as Gitlab.com

Edited by Dov Hershkovitch