Fix validation of dynamic child pipeline depenencies
What does this MR do?
Related to #209070 (closed)
This MR is a reimplementation of the previously merged !27916 (merged) which was then reverted in !28904 (merged) due to a regression on child-parent pipeline behavior.
The cause of the bug that made us revert the previous MR was due to the fact that the include:
feature can accept:
- single string
- array of strings
- array of hashes
The validation that was implemented against the job dependencies, in the context of dynamic parent-child pipelines was only considering trigger:include:
to be an array of hashes.
This cause the new feature validation to work for some of dynamic child pipelines but to break for existing behavior on standard parent-child pipelines.
Due to the lack of other integration specs we did not catch the regression.
All missing specs have been added to this MR.
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team