diff options
Diffstat (limited to 'app/models/ci/pipeline.rb')
-rw-r--r-- | app/models/ci/pipeline.rb | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index 61d9316a5d3..d1ce43570ac 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -89,23 +89,19 @@ module Ci end end - scope :latest, -> do + # ref can't be HEAD or SHA, can only be branch/tag name + scope :latest, ->(ref = nil) do max_id = unscope(:select).select("max(#{quoted_table_name}.id)") - where(id: max_id.group(:ref, :sha)) - end - - # ref can't be HEAD or SHA, can only be branch/tag name - scope :latest_for, ->(ref) do if ref where(ref: ref) else self - end.latest + end.where(id: max_id.group(:ref, :sha)) end def self.latest_successful_for(ref) - success.latest_for(ref).first + success.latest(ref).first end def self.truncate_sha(sha) |