diff options
author | Douwe Maan <douwe@gitlab.com> | 2019-01-02 18:50:32 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2019-01-02 18:50:32 +0300 |
commit | ca6fbe8a79431aa52f23a500c2be3f8545942ec1 (patch) | |
tree | 1a36fd045121a3a3400943cc3fc707e6f2388dca /app/workers | |
parent | 28cffb9f41836a84d3323e640fe31f92f37bccd9 (diff) | |
parent | ba781484c7b1bea2829f3429990a7cf39bb37ff8 (diff) |
Merge branch '18667-handle-push-opts' into 'master'
Handle 'git push -o ci.skip'
Closes #18667
See merge request gitlab-org/gitlab-ce!15643
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/post_receive.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/app/workers/post_receive.rb b/app/workers/post_receive.rb index 72a1733a2a8..bbd4ab159e4 100644 --- a/app/workers/post_receive.rb +++ b/app/workers/post_receive.rb @@ -3,7 +3,7 @@ class PostReceive include ApplicationWorker - def perform(gl_repository, identifier, changes) + def perform(gl_repository, identifier, changes, push_options = []) project, is_wiki = Gitlab::GlRepository.parse(gl_repository) if project.nil? @@ -15,7 +15,7 @@ class PostReceive # Use Sidekiq.logger so arguments can be correlated with execution # time and thread ID's. Sidekiq.logger.info "changes: #{changes.inspect}" if ENV['SIDEKIQ_LOG_ARGUMENTS'] - post_received = Gitlab::GitPostReceive.new(project, identifier, changes) + post_received = Gitlab::GitPostReceive.new(project, identifier, changes, push_options) if is_wiki process_wiki_changes(post_received) @@ -38,9 +38,21 @@ class PostReceive post_received.changes_refs do |oldrev, newrev, ref| if Gitlab::Git.tag_ref?(ref) - GitTagPushService.new(post_received.project, @user, oldrev: oldrev, newrev: newrev, ref: ref).execute + GitTagPushService.new( + post_received.project, + @user, + oldrev: oldrev, + newrev: newrev, + ref: ref, + push_options: post_received.push_options).execute elsif Gitlab::Git.branch_ref?(ref) - GitPushService.new(post_received.project, @user, oldrev: oldrev, newrev: newrev, ref: ref).execute + GitPushService.new( + post_received.project, + @user, + oldrev: oldrev, + newrev: newrev, + ref: ref, + push_options: post_received.push_options).execute end changes << Gitlab::DataBuilder::Repository.single_change(oldrev, newrev, ref) |