diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2017-02-23 20:09:27 +0300 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2017-02-23 20:09:27 +0300 |
commit | 6a39888344a2478db022fdf8b5e41fd7625d83ab (patch) | |
tree | b5589d8b6674df989d27794ec3748a4197341d35 /app/services/ci | |
parent | 70997dea84ea0aa1392e6483fac014085975d1c4 (diff) | |
parent | ca378aa34c890db9e8f5031413661827680a0701 (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.rb | 6 |
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) |