diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 9c4f86144d8489e1997a39ee6e505ee0a3d0809a..4bb4211dfe382d0dacaaa58dc1cef9b03194086e 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -70,9 +70,8 @@ class CommitStatus < ActiveRecord::Base end after_transition do |commit_status, transition| - commit_status.pipeline.tap do |pipeline| - return if transition.loopback? - return unless pipeline + commit_status.pipeline.try do |pipeline| + return false if transition.loopback? if commit_status.complete? ProcessPipelineWorker.perform_async(pipeline.id) diff --git a/spec/models/project_services/hipchat_service_spec.rb b/spec/models/project_services/hipchat_service_spec.rb index cf713684463e203fcecca6cdd8aa39393f4277ee..26dd95bdfec64808069ef327ee1c6cb64cb88760 100644 --- a/spec/models/project_services/hipchat_service_spec.rb +++ b/spec/models/project_services/hipchat_service_spec.rb @@ -283,7 +283,7 @@ describe HipchatService, models: true do context 'build events' do let(:pipeline) { create(:ci_empty_pipeline) } let(:build) { create(:ci_build, pipeline: pipeline) } - let(:data) { Gitlab::DataBuilder::Build.build(build) } + let(:data) { Gitlab::DataBuilder::Build.build(build.reload) } context 'for failed' do before { build.drop }