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:
authorKamil Trzciński <ayufan@ayufan.eu>2017-02-23 20:09:27 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2017-02-23 20:09:27 +0300
commit6a39888344a2478db022fdf8b5e41fd7625d83ab (patch)
treeb5589d8b6674df989d27794ec3748a4197341d35 /app/services/ci
parent70997dea84ea0aa1392e6483fac014085975d1c4 (diff)
parentca378aa34c890db9e8f5031413661827680a0701 (diff)
Merge branch 'fix/gb/pipeline-retry-skipped-jobs' into 'master'
Fix reprocessing skipped jobs when retrying pipeline See merge request !9436
Diffstat (limited to 'app/services/ci')
-rw-r--r--app/services/ci/retry_pipeline_service.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/services/ci/retry_pipeline_service.rb b/app/services/ci/retry_pipeline_service.rb
index 2c5e130e5aa..574561adc4c 100644
--- a/app/services/ci/retry_pipeline_service.rb
+++ b/app/services/ci/retry_pipeline_service.rb
@@ -1,5 +1,7 @@
module Ci
class RetryPipelineService < ::BaseService
+ include Gitlab::OptimisticLocking
+
def execute(pipeline)
unless can?(current_user, :update_pipeline, pipeline)
raise Gitlab::Access::AccessDeniedError
@@ -12,6 +14,10 @@ module Ci
.reprocess(build)
end
+ pipeline.builds.skipped.find_each do |skipped|
+ retry_optimistic_lock(skipped) { |build| build.process }
+ end
+
MergeRequests::AddTodoWhenBuildFailsService
.new(project, current_user)
.close_all(pipeline)