Skip to content
Snippets Groups Projects

Persist source sha and target sha for merge pipelines

Merged Shinya Maeda requested to merge persist-source-sha-and-target-sha-for-pipelines into master
All threads resolved!
Compare and Show latest version
1 file
+ 20
12
Compare changes
  • Side-by-side
  • Inline
+ 20
12
@@ -191,16 +191,20 @@ class Pipeline < ActiveRecord::Base
.sort_by_merge_request_pipelines
end
scope :detached_merge_pipelines, -> do
where(source: :merge_request).where(target_sha: nil)
scope :triggered_by_merge_request, -> (merge_request) do
where(source: :merge_request, merge_request: merge_request)
end
scope :merge_pipelines, -> do
where(source: :merge_request).where.not(target_sha: nil)
scope :detached_merge_request_pipelines, -> (merge_request) do
triggered_by_merge_request(merge_request).where(target_sha: nil)
end
scope :mergeable_merge_pipelines, -> (target_branch_sha) do
where(source: :merge_request, target_sha: target_branch_sha)
scope :merge_request_pipelines, -> (merge_request) do
triggered_by_merge_request(merge_request).where.not(target_sha: nil)
end
scope :mergeable_merge_request_pipelines, -> (merge_request) do
triggered_by_merge_request(merge_request).where(target_sha: merge_request.target_branch_sha)
end
# Returns the pipelines in descending order (= newest first), optionally
@@ -722,16 +726,20 @@ def default_branch?
ref == project.default_branch
end
def detached_merge_pipeline?
merge_request? && target_sha.nil?
def triggered_by_merge_request?(merge_request)
merge_request? && merge_request.id == merge_request_id
end
def detached_merge_request_pipeline?(merge_request)
triggered_by_merge_request?(merge_request) && target_sha.nil?
end
def merge_pipeline?
merge_request? && target_sha.present?
def merge_request_pipeline?(merge_request)
triggered_by_merge_request?(merge_request) && target_sha.present?
end
def mergeable_merge_pipeline?
merge_pipeline? && target_sha == merge_request.target_branch_sha
def mergeable_merge_pipeline?(merge_request)
triggered_by_merge_request?(merge_request) && target_sha == merge_request.target_branch_sha
end
private
Loading