Pipeline stuck in running state when the parent job of a dynamic trigger job is set to manual

Summary

If the parent job of a dynamic pipeline is set the manual, the child job is not run as expected. But then the status of the pipeline is shown as running. Only after the parent job is triggered, the child job runs and the pipeline shows as passed.

Steps to reproduce

Using sample project from https://gitlab.com/calvincheng8668/pipeline-dag/-/tree/test-dag-dynamic

The parent job build-dynamic is set as manual. The child job test-trigger depends on the build-dynamic job.

In the #first run, the job build-dynamic is triggered manually and the pipeline passes as expected.

In the #second run, the job build-dynamic is not triggered and the pipeline is stuck in running state.

Example Project

https://gitlab.com/calvincheng8668/pipeline-dag/

Under the branch test-dag-dynamic

What is the current bug behavior?

The pipeline is stuck in running state, even after more than 12 hours.

What is the expected correct behavior?

The pipeline should be marked as passed or failed when the manual parent job is not triggered.

Relevant logs and/or screenshots

Screen_Shot_2020-11-19_at_12.10.07_PM

Output of checks

This bug was initially found in gitlab-ee release 13.4.

This bug happens on GitLab.com

Results of GitLab environment info

Results of GitLab application Check

Possible fixes