From 057c0d7a5c062f3030bcc46614ef2442009002de Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Thu, 6 Apr 2017 21:32:56 +0800 Subject: Also track auto-cancelling in jobs, detail: Not only tracking auto-cancelling in pipelines, we'll also track this in jobs because pipelines could be retried and the information would get lost when this happened. Also erase auto-cancelling relation for pipelines when they're retried. --- app/models/commit_status.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'app/models/commit_status.rb') diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 17b322b5ae3..2c4033146bf 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -7,6 +7,7 @@ class CommitStatus < ActiveRecord::Base belongs_to :project belongs_to :pipeline, class_name: 'Ci::Pipeline', foreign_key: :commit_id + belongs_to :auto_canceled_by, class_name: 'Ci::Pipeline' belongs_to :user delegate :commit, to: :pipeline @@ -137,6 +138,10 @@ class CommitStatus < ActiveRecord::Base false end + def auto_canceled? + canceled? && auto_canceled_by_id? + end + # Added in 9.0 to keep backward compatibility for projects exported in 8.17 # and prior. def gl_project_id -- cgit v1.2.1 From 702b291f81b576c08f8e194d87fb779b4ce0fd6c Mon Sep 17 00:00:00 2001 From: James Lopez Date: Tue, 2 May 2017 14:55:32 +0200 Subject: remove gl_project_id for I/E version update --- app/models/commit_status.rb | 6 ------ 1 file changed, 6 deletions(-) (limited to 'app/models/commit_status.rb') diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 2c4033146bf..75d04fd2b08 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -142,12 +142,6 @@ class CommitStatus < ActiveRecord::Base canceled? && auto_canceled_by_id? end - # Added in 9.0 to keep backward compatibility for projects exported in 8.17 - # and prior. - def gl_project_id - 'dummy' - end - def detailed_status(current_user) Gitlab::Ci::Status::Factory .new(self, current_user) -- cgit v1.2.1 From f2a4420d66216e3a9172f4ab45c6b4fa96578117 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Sun, 16 Apr 2017 13:14:39 +0200 Subject: Store retried in database for CI builds --- app/models/commit_status.rb | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'app/models/commit_status.rb') diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 2c4033146bf..528bf4d87ac 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -18,13 +18,7 @@ class CommitStatus < ActiveRecord::Base validates :name, presence: true alias_attribute :author, :user - - scope :latest, -> do - max_id = unscope(:select).select("max(#{quoted_table_name}.id)") - - where(id: max_id.group(:name, :commit_id)) - end - + scope :failed_but_allowed, -> do where(allow_failure: true, status: [:failed, :canceled]) end @@ -37,7 +31,8 @@ class CommitStatus < ActiveRecord::Base false, all_state_names - [:failed, :canceled, :manual]) end - scope :retried, -> { where.not(id: latest) } + scope :latest, -> { where(retried: false) } + scope :retried, -> { where(retried: true) } scope :ordered, -> { order(:name) } scope :latest_ordered, -> { latest.ordered.includes(project: :namespace) } scope :retried_ordered, -> { retried.ordered.includes(project: :namespace) } -- cgit v1.2.1 From f09dcbd9bd2590bb66ee49b65637525a3c71a307 Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 9 May 2017 13:14:45 +0200 Subject: Make retried to be nullable --- app/models/commit_status.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/models/commit_status.rb') diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb index 528bf4d87ac..7855c16ee5b 100644 --- a/app/models/commit_status.rb +++ b/app/models/commit_status.rb @@ -31,7 +31,7 @@ class CommitStatus < ActiveRecord::Base false, all_state_names - [:failed, :canceled, :manual]) end - scope :latest, -> { where(retried: false) } + scope :latest, -> { where(retried: [false, nil]) } scope :retried, -> { where(retried: true) } scope :ordered, -> { order(:name) } scope :latest_ordered, -> { latest.ordered.includes(project: :namespace) } -- cgit v1.2.1