Add parent/child pipeline limitations (2nd attempt)
Changes from this MR were originally merged in !21817 (merged) but needed to be reverted due a bug in code dependency introduced in !20930 (merged).
Given that the bug has been fixed, I'm resubmitting the same MR (to be merged once the bugfix MR !22663 (merged) is merged)
This MR diff is the same as the !21817 (merged) which had already been merged.
What does this MR do?
Related issue: #16094 (closed)
With the introduction of parent/child pipelines we need to add some limitations to prevent abuses:
- A child pipeline cannot create further child pipelines
- When defining a child pipeline
trigger:include
cannot contain more than 3 entries
What are parent/child pipelines? A pipeline (parent) can create a downstream pipeline (child) within the same project in order to breakdown a pipeline into composable primitives.
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
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