Merge branch 'sh-conditional-system-hook-push' into 'master'

Eliminate unnecessary and duplicate system hook fires

Closes #50549

See merge request gitlab-org/gitlab-ce!21337
This commit is contained in:
Sean McGivern 2018-08-22 11:34:52 +00:00
commit f3d9e19b02
3 changed files with 12 additions and 4 deletions

View file

@ -140,7 +140,6 @@ class GitPushService < BaseService
EventCreateService.new.push(project, current_user, build_push_data)
Ci::CreatePipelineService.new(project, current_user, build_push_data).execute(:push)
SystemHookPushWorker.perform_async(build_push_data.dup, :push_hooks)
project.execute_hooks(build_push_data.dup, :push_hooks)
project.execute_services(build_push_data.dup, :push_hooks)

View file

@ -0,0 +1,5 @@
---
title: Eliminate unnecessary and duplicate system hook fires
merge_request: 21337
author:
type: performance

View file

@ -223,9 +223,13 @@ describe GitPushService, services: true do
end
end
context "Sends System Push data" do
it "when pushing on a branch" do
expect(SystemHookPushWorker).to receive(:perform_async).with(push_data, :push_hooks)
describe 'system hooks' do
let(:system_hook_service) { double() }
it "sends a system hook after pushing a branch" do
expect(SystemHooksService).to receive(:new).and_return(system_hook_service)
expect(system_hook_service).to receive(:execute_hooks).with(push_data, :push_hooks)
execute_service(project, user, oldrev, newrev, ref)
end
end