Skip to content

Ci changes refactor

Kamil Trzciński requested to merge ci-changes-refactor into master
  1. Ci::Commit receives context: ref, action
  2. One Ci::Commit describes a Pipeline
  3. Pipeline is a ordered group of builds
  4. Pipelines have a separate view
  5. Pipeline can be triggered from UI (the New)
  6. We test MR against Pipeline
  7. Later we change Trigger -> TriggerRequest -> Build to Trigger -> Pipeline
  8. Then we add additional Triggers (currently project can be triggered on Token/API), we add trigger on upstream project, on scheduled trigger (cron job?)
  9. We add a Pipeline Hook that will be triggered on Pipeline status change
  10. Some time in future we add Pipelines for Merge Requests
  11. We extend notifications to use Pipeline Hook to send summary on pipeline changes

During all this:

Ci::Commit -> Pipeline
Ci::Build -> Build
CommitStatus -> Job
GenericCommitStatus -> ExternalJob

This is draft and reflects only first 6 points. The code will be refactored and improved.

This is to solve https://gitlab.com/gitlab-org/gitlab-ce/issues/14149.

cc @grzesiek

Merge request reports