Make retried to be nullable
This commit is contained in:
parent
f2a4420d66
commit
f09dcbd9bd
6 changed files with 8 additions and 14 deletions
|
@ -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) }
|
||||
|
|
|
@ -22,7 +22,7 @@ module HasStatus
|
|||
skipped = scope.skipped.select('count(*)').to_sql
|
||||
canceled = scope.canceled.select('count(*)').to_sql
|
||||
|
||||
"(CASE
|
||||
"(CASE
|
||||
WHEN (#{builds})=(#{skipped}) THEN 'skipped'
|
||||
WHEN (#{builds})=(#{success}) THEN 'success'
|
||||
WHEN (#{builds})=(#{created}) THEN 'created'
|
||||
|
|
|
@ -30,8 +30,8 @@ module Ci
|
|||
|
||||
Ci::Build.transaction do
|
||||
# mark all other builds of that name as retried
|
||||
build.pipeline.builds.where(name: build.name)
|
||||
.where.not(retried: true)
|
||||
build.pipeline.builds.latest
|
||||
.where(name: build.name)
|
||||
.update_all(retried: true)
|
||||
|
||||
project.builds.create!(Hash[attributes])
|
||||
|
|
|
@ -3,13 +3,7 @@ class AddRetriedToCiBuild < ActiveRecord::Migration
|
|||
|
||||
DOWNTIME = false
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
add_column_with_default(:ci_builds, :retried, :boolean, default: false)
|
||||
end
|
||||
|
||||
def down
|
||||
remove_column(:ci_builds, :retried)
|
||||
def change
|
||||
add_column(:ci_builds, :retried, :boolean)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,7 +20,7 @@ class UpateRetriedForCiBuild < ActiveRecord::Migration
|
|||
is_retried = Arel.sql("((#{latest_id}) != ci_builds.id)")
|
||||
|
||||
update_column_in_batches(:ci_builds, :retried, is_retried) do |table, query|
|
||||
query.where(table[:retried].eq(false))
|
||||
query.where(table[:retried].eq(nil))
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -232,7 +232,7 @@ ActiveRecord::Schema.define(version: 20170504102911) do
|
|||
t.integer "lock_version"
|
||||
t.string "coverage_regex"
|
||||
t.integer "auto_canceled_by_id"
|
||||
t.boolean "retried", default: false, null: false
|
||||
t.boolean "retried"
|
||||
end
|
||||
|
||||
add_index "ci_builds", ["commit_id", "stage_idx", "created_at"], name: "index_ci_builds_on_commit_id_and_stage_idx_and_created_at", using: :btree
|
||||
|
|
Loading…
Reference in a new issue