Port `trigger` keyword to Core (MR is too big)
What does this MR do?
Related to: #199224 (closed)
With the deployment of parent-child pipelines we realized that a lot of the functionality it was based upon (multi-project pipelines) was available in Core GitLab EE installations only and free on Gitlab.com. However this feature was supposed to be available in Core (including CE installations).
In order to fix this we decided to port the trigger
keyword and all the pipeline associations via bridge job into Core.
These changes contain:
- Move
Config::Entry::Trigger
to Core - Move
Config::Entry::Bridge
to Core by consequence as it's defined bytrigger
. - Move most of
Ci::Bridge
code to Core, except for upstream pipeline subscription which remains in EE - Move
Ci::CreateCrossProjectPipelineService
(and worker) to Core - Move to Core
Ci::Pipeline
behavior that triggers bridge status updates based on state machine changes - Split
Ci::PipelineBridgeStatusService
(and worker) between Core and EE, leaving pipeline subscription behavior in EE - Move failure reasons to Core for bridge jobs related to multi-project and child-parent pipelines
- Adjust documentation
- Adjust specs according to code being moved around
Screenshots
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
Edited by Fabio Pitino