Skip to content

Add bridge relation between Pipelines and Bridges

Matija Čupić requested to merge mc/feature/pipeline-tracking into master

What does this MR do?

Extends Ci::Bridge to allow pipeline tracking. This lays down the foundations for pipeline status tracking.

  1. Adds a connection between builds and an upstream pipeline - ci_builds.bridged_pipeline_id
    1. add_index :ci_builds, :bridged_pipeline_id, where: 'bridged_pipeline_id<>NULL',
  2. Adds a state machine transition that triggers downstream job status updates Ci::Pipeline, after_transition, PipelineBridgeWorker,
  3. Adds a worker that updates downstream pipeline statuses PipelineBridgeWorker

Related https://gitlab.com/gitlab-org/gitlab-ee/issues/9045
Related https://gitlab.com/gitlab-org/gitlab-ee/issues/11238
CE MR https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/28152

Does this MR meet the acceptance criteria?

Conformity

Performance 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:

  • N/A Label as security and @ mention @gitlab-com/gl-security/appsec
  • N/A The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • N/A Security reports checked/validated by a reviewer from the AppSec team
Edited by Matija Čupić

Merge request reports