Child pipeline execution is skipped when previous job in parent pipeline is retried
Summary
Dependencies in the pipeline graph are not handled correctly, when Child pipelines are involved. More over, in some cases, the child pipeline is not even started and skipped. As far as I can see it's related to restarting a previously failed stage.
Steps to reproduce
Create a pipeline that creates a child pipeline. Let the first stage fail and then retry that stage successfully.
(This might happen if a compiler needs a license and the license server was not reachable for the first run.)
Example Project
See attached yaml files.
What is the current bug behavior?
The stage spinning of the child pipeline is skipped and the next regular stage in the parent pipeline is started. The child pipeline was not even started.
What is the expected correct behavior?
Follow dependencies and start the child pipeline. Then wait for its result and continue the parent pipeline.
Relevant logs and/or screenshots
YAML files:
- parent pipeline: .gitlab-ci.yml
- child pipeline: out-of-context.yml
Output of checks
This was executed on GitLab-EE 12.9.2
Results of GitLab environment info
Does not apply.
Results of GitLab application Check
Does not apply.
Possible fixes
(If you can, link to the line of code that might be responsible for the problem)