Skip to content

Port `trigger` keyword to Core (MR is too big)

Fabio Pitino requested to merge port-trigger-keyword-to-ce into master

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:

  1. Move Config::Entry::Trigger to Core
  2. Move Config::Entry::Bridge to Core by consequence as it's defined by trigger.
  3. Move most of Ci::Bridge code to Core, except for upstream pipeline subscription which remains in EE
  4. Move Ci::CreateCrossProjectPipelineService (and worker) to Core
  5. Move to Core Ci::Pipeline behavior that triggers bridge status updates based on state machine changes
  6. Split Ci::PipelineBridgeStatusService (and worker) between Core and EE, leaving pipeline subscription behavior in EE
  7. Move failure reasons to Core for bridge jobs related to multi-project and child-parent pipelines
  8. Adjust documentation
  9. Adjust specs according to code being moved around

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

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

Merge request reports