Adds support for passing :allow_duplicate option
What does this MR do and why?
By default, we don't want to create "duplicate" pipeline runs. When a MR target branch changes, we don't generate a new MergeRequestDiff
. As a result, when MergeRequest#find_actual_head_pipeline
gets called, it returns the previous head pipeline. So the check will return false and will not create a new pipeline. It doesn't happen on RefreshService
because we create a new MergeRequestDiff
in that case.
This MR adds support for passing :allow_duplicate
as an option to MergeRequests::CreatePipelineService
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.