diff options
Diffstat (limited to 'app/models/commit_status.rb')
-rw-r--r-- | app/models/commit_status.rb | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 966a2449d2c..09aec6b40d0 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -78,10 +78,14 @@ class CommitStatus < ActiveRecord::Base end after_transition do |commit_status, transition| - if commit_status.pipeline && !transition.loopback? - ProcessPipelineWorker.perform_async( - commit_status.pipeline.id, process: commit_status.complete? - ) + return if transition.loopback? + + commit_status.pipeline.try(:id).try do |pipeline_id| + if commit_status.complete? + ProcessPipelineWorker.perform_async(pipeline_id) + end + + UpdatePipelineWorker.perform_async(pipeline_id) end true |