gitlab-org--gitlab-foss/app/workers/update_head_pipeline_for_me...

32 lines
852 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class UpdateHeadPipelineForMergeRequestWorker
2017-12-05 17:14:37 +00:00
include ApplicationWorker
2017-11-28 16:16:50 +00:00
include PipelineQueue
queue_namespace :pipeline_processing
def perform(merge_request_id)
merge_request = MergeRequest.find(merge_request_id)
2018-12-05 06:57:00 +00:00
sha = merge_request.diff_head_sha
pipeline = merge_request.all_pipelines(shas: sha).first
return unless pipeline && pipeline.latest?
if merge_request.diff_head_sha != pipeline.sha
log_error_message_for(merge_request)
return
end
merge_request.update_attribute(:head_pipeline_id, pipeline.id)
end
def log_error_message_for(merge_request)
Rails.logger.error(
"Outdated head pipeline for active merge request: id=#{merge_request.id}, source_branch=#{merge_request.source_branch}, diff_head_sha=#{merge_request.diff_head_sha}"
)
end
end