Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinya Maeda <shinya@gitlab.com>2019-05-22 14:45:27 +0300
committerShinya Maeda <shinya@gitlab.com>2019-06-03 09:15:29 +0300
commitd4b46936633a3b2a0248b4572b4a1dc7b2ba8531 (patch)
treebf5c1cf5a8ebf1568ca62576d63ff793ce29764f /app/workers
parent96744d0befd7e298c08e6d20a4f504086a717c35 (diff)
Abstract auto merge processes
We have one auto merge strategy today - Merge When Pipeline Succeeds. In order to add more strategies for Merge Train feature, we abstract the architecture to be more extensible. Removed arguments Fix spec
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/pipeline_success_worker.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/app/workers/pipeline_success_worker.rb b/app/workers/pipeline_success_worker.rb
index 4f349ed922c..ce6c88c85c1 100644
--- a/app/workers/pipeline_success_worker.rb
+++ b/app/workers/pipeline_success_worker.rb
@@ -9,9 +9,10 @@ class PipelineSuccessWorker
# rubocop: disable CodeReuse/ActiveRecord
def perform(pipeline_id)
Ci::Pipeline.find_by(id: pipeline_id).try do |pipeline|
- MergeRequests::MergeWhenPipelineSucceedsService
- .new(pipeline.project, nil)
- .trigger(pipeline)
+ pipeline.all_merge_requests.preload(:merge_user).each do |merge_request|
+ AutoMergeService.new(pipeline.project, merge_request.merge_user)
+ .process(merge_request)
+ end
end
end
# rubocop: enable CodeReuse/ActiveRecord