Skip to content

Improve pipeline processing

Kamil Trzciński requested to merge improve-pipeline-processing into master

What does this MR do?

This works on top of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5295 trying to solve some edge cases introduced by that Merge Request. The fix switches to a state machine which is already a part of Ci::Pipeline and uses events with conditional transitions to switch between pipeline states.

This is approach is much more bullet proof and much easier to understand than a previous one where we were calling a reload_status! which manually updated status. Previous approach become confusing and prone to number of errors.

Why was this MR needed?

This improves changes introduced by https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5295

What are the relevant issue numbers?

None, yet.

Screenshots (if relevant)

Not needed.

Does this MR meet the acceptance criteria?

Merge request reports