No useful error information when "optional" dependency isn't defined
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Summary
When a job has a needs field with an optional dependency using needs:parallel:matrix, the pipeline cannot be spawned, and no useful error message is given.
Steps to reproduce
- Create a repository with a pipeline that has a job with a
needsfield using bothoptional: trueandparallel:matrix. - Trigger a pipeline (manually from GitLab UI or via commit)
Example Project
This shows the "child pipeline" version:
https://gitlab.com/kstrand1/ci-parent-child-data-integrity-bug#
What is the current bug behavior?
Instead of spawning the child pipeline and showing a meaningful error (such as "job depends on , but it does not exist"), no pipeline is spawned.
If the problematic job is in the main pipeline for a repo, there is no error message at all; pipelines simply never start, and in the pipeline editor, the "validate" button doesn't appear to do anything.
If the job is in a child pipeline, then the child pipeline is never spawned, and the triggering job shows "data integrity failure" (similar to #424158 (closed)).
What is the expected correct behavior?
One of:
- the pipeline is created, but an error message shows that the
needsconfiguration is incorrect; or, - the pipeline is valid, and the dependency is ignored since it is optional
Output of checks
This bug happens on GitLab.com.