summaryrefslogtreecommitdiff
path: root/app/models/commit_status.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/commit_status.rb')
-rw-r--r--app/models/commit_status.rb9
1 files changed, 2 insertions, 7 deletions
diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb
index da7d6ea6b94..e8a331e720c 100644
--- a/app/models/commit_status.rb
+++ b/app/models/commit_status.rb
@@ -38,7 +38,7 @@ class CommitStatus < ActiveRecord::Base
self.table_name = 'ci_builds'
belongs_to :project, class_name: '::Project', foreign_key: :gl_project_id
- belongs_to :commit, class_name: 'Ci::Commit'
+ belongs_to :commit, class_name: 'Ci::Commit', touch: true
belongs_to :user
validates :commit, presence: true
@@ -47,7 +47,7 @@ class CommitStatus < ActiveRecord::Base
alias_attribute :author, :user
- scope :latest, -> { where(id: unscope(:select).select('max(id)').group(:name)) }
+ scope :latest, -> { where(id: unscope(:select).select('max(id)').group(:name, :commit_id)) }
scope :ordered, -> { order(:ref, :stage_idx, :name) }
AVAILABLE_STATUSES = ['pending', 'running', 'success', 'failed', 'canceled']
@@ -80,11 +80,6 @@ class CommitStatus < ActiveRecord::Base
after_transition [:pending, :running] => :success do |commit_status|
MergeRequests::MergeWhenBuildSucceedsService.new(commit_status.commit.project, nil).trigger(commit_status)
end
-
- after_transition any => any do |commit_status|
- commit_status.commit.invalidate
- commit_status.save
- end
end
delegate :before_sha, :sha, :short_sha, to: :commit, prefix: false