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:
Diffstat (limited to 'app/services/ci/retry_pipeline_service.rb')
-rw-r--r--app/services/ci/retry_pipeline_service.rb16
1 files changed, 14 insertions, 2 deletions
diff --git a/app/services/ci/retry_pipeline_service.rb b/app/services/ci/retry_pipeline_service.rb
index 5cc6b89bfef..02ee40d2cf6 100644
--- a/app/services/ci/retry_pipeline_service.rb
+++ b/app/services/ci/retry_pipeline_service.rb
@@ -13,8 +13,8 @@ module Ci
pipeline.ensure_scheduling_type!
- pipeline.retryable_builds.preload_needs.find_each do |build|
- next unless can?(current_user, :update_build, build)
+ builds_relation(pipeline).find_each do |build|
+ next unless can_be_retried?(build)
Ci::RetryBuildService.new(project, current_user)
.reprocess!(build)
@@ -36,5 +36,17 @@ module Ci
.new(pipeline)
.execute
end
+
+ private
+
+ def builds_relation(pipeline)
+ pipeline.retryable_builds.preload_needs
+ end
+
+ def can_be_retried?(build)
+ can?(current_user, :update_build, build)
+ end
end
end
+
+Ci::RetryPipelineService.prepend_mod_with('Ci::RetryPipelineService')