diff options
Diffstat (limited to 'app/models/commit_status.rb')
-rw-r--r-- | app/models/commit_status.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 79e038b6a78..9c730904ba3 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -70,9 +70,12 @@ class CommitStatus < ActiveRecord::Base MergeRequests::AddTodoWhenBuildFailsService.new(commit_status.pipeline.project, nil).execute(commit_status) end - after_transition any => [:success, :failed, :canceled] do |commit_status| + # We use around_transition to process pipeline on next stages as soon as possible, before the `after_*` is executed + around_transition any => [:success, :failed, :canceled] do |commit_status, block| + block.call if commit_status.pipeline commit_status.pipeline.process! + commit_status.pipeline.reload_status! end end end |