Discussion: Behavior of `merge_when_pipeline_succeeds` when pipeline is absent
In https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27978 I added a check for pipeline existence when accepting an MR via the API, as a race condition exists where rapidly creating then accepting the MR can result in the MR being merged regardless of a merge_when_pipeline_succeeds: true
(MWPS) setting. After my MR was merged, @grzesiek offered additional context of a previous Issue (which we haven't been able to locate yet) which discusses what customer's expectations might be in the case where they have MWPS set to true, but a pipeline doesn't exist. There is a potential that some customer's are relying on the behavior that a true
value for MWPS does not require the existence of a pipeline, and has asked me to revert this MR.
To avoid surprising customers, and because there had been previously an internal discussion on this point, we wanted to loop in other people who are familiar with the problem and feature set for their opinion on this MR (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27978) and whether we should revert it or not, and perhaps come to a canonical consensus on this moving forward.