Sha256: 4296fb784805f877d2de395dfaebb7ea9023405c09cacdc2b83b4d34ba73192a
Contents?: true
Size: 820 Bytes
Versions: 6
Compression:
Stored size: 820 Bytes
Contents
module Shipit class MergePullRequestsJob < BackgroundJob include BackgroundJob::Unique on_duplicate :drop def perform(stack) pull_requests = stack.pull_requests.to_be_merged.to_a pull_requests.each do |pull_request| pull_request.refresh! pull_request.reject_unless_mergeable! if pull_request.closed? pull_request.merged_upstream? ? pull_request.complete! : pull_request.cancel! end end return false unless stack.allows_merges? pull_requests.select(&:pending?).each do |pull_request| pull_request.refresh! begin pull_request.merge! rescue PullRequest::NotReady MergePullRequestsJob.set(wait: 10.seconds).perform_later(stack) return false end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems