Merge branch '24386-8-14-rc1-requires-quite-amount-of-downtime' into 'master'
Update 8.14-rc1 migrations to minimize downtime and deploy time ## What does this MR do? Modify 8.14-rc1 migrations and code to minimize downtime and deploy time ## Are there points in the code the reviewer needs to double check? No ## Why was this MR needed? 8.14-rc1 migrations took too much time in staging, so we didn't want to take too much downtime in production ## Does this MR meet the acceptance criteria? - Tests - [x] Added for this feature/bug - [x] All builds are passing - [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html) - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if it does - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) ## What are the relevant issue numbers? Closes #24386 See merge request !7427
This commit is contained in:
commit
6eeff67c6e
5 changed files with 14 additions and 5 deletions
|
@ -1334,6 +1334,10 @@ class Project < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
|
||||
def only_allow_merge_if_all_discussions_are_resolved
|
||||
super || false
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def pushes_since_gc_redis_key
|
||||
|
|
|
@ -5,10 +5,7 @@ class OnlyAllowMergeIfAllDiscussionsAreResolved < ActiveRecord::Migration
|
|||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
add_column_with_default(:projects,
|
||||
:only_allow_merge_if_all_discussions_are_resolved,
|
||||
:boolean,
|
||||
default: false)
|
||||
add_column :projects, :only_allow_merge_if_all_discussions_are_resolved, :boolean
|
||||
end
|
||||
|
||||
def down
|
||||
|
|
|
@ -915,7 +915,7 @@ ActiveRecord::Schema.define(version: 20161109150329) do
|
|||
t.boolean "has_external_wiki"
|
||||
t.boolean "lfs_enabled"
|
||||
t.text "description_html"
|
||||
t.boolean "only_allow_merge_if_all_discussions_are_resolved", default: false, null: false
|
||||
t.boolean "only_allow_merge_if_all_discussions_are_resolved"
|
||||
end
|
||||
|
||||
add_index "projects", ["ci_id"], name: "index_projects_on_ci_id", using: :btree
|
||||
|
|
|
@ -360,6 +360,14 @@ describe API::API, api: true do
|
|||
expect(json_response['only_allow_merge_if_all_discussions_are_resolved']).to be_falsey
|
||||
end
|
||||
|
||||
it 'sets a project as allowing merge if only_allow_merge_if_all_discussions_are_resolved is nil' do
|
||||
project = attributes_for(:project, only_allow_merge_if_all_discussions_are_resolved: nil)
|
||||
|
||||
post api('/projects', user), project
|
||||
|
||||
expect(json_response['only_allow_merge_if_all_discussions_are_resolved']).to be_falsey
|
||||
end
|
||||
|
||||
it 'sets a project as allowing merge only if all discussions are resolved' do
|
||||
project = attributes_for(:project, { only_allow_merge_if_all_discussions_are_resolved: true })
|
||||
|
||||
|
|
Loading…
Reference in a new issue