diff options
author | Dylan Griffith <dyl.griffith@gmail.com> | 2018-08-10 14:24:08 +0100 |
---|---|---|
committer | Dylan Griffith <dyl.griffith@gmail.com> | 2018-08-13 10:52:42 +0100 |
commit | 9e5d476f6396875d3f7cb7a95c9fe63a850495fb (patch) | |
tree | d94a0b576c21c48919efd00412c718a839332686 | |
parent | e1e26772247c1ec9f82aa62fa0166c56d896f79d (diff) | |
download | gitlab-ce-9e5d476f6396875d3f7cb7a95c9fe63a850495fb.tar.gz |
Add feature flag to force rollout of auto devops on a per project basis
-rw-r--r-- | app/models/project.rb | 4 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 13 |
2 files changed, 16 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 40094639d70..5d8e31ca565 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -27,6 +27,7 @@ class Project < ActiveRecord::Base include FastDestroyAll::Helpers include WithUploads include BatchDestroyDependentAssociations + include FeatureGate extend Gitlab::Cache::RequestCache extend Gitlab::ConfigHelper @@ -526,7 +527,8 @@ class Project < ActiveRecord::Base end def has_auto_devops_implicitly_enabled? - auto_devops&.enabled.nil? && Gitlab::CurrentSettings.auto_devops_enabled? + auto_devops&.enabled.nil? && + (Gitlab::CurrentSettings.auto_devops_enabled? || Feature.enabled?(:force_autodevops_on_by_default, self)) end def has_auto_devops_implicitly_disabled? diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 7bcce20c15e..d15d4b1406e 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -3259,6 +3259,11 @@ describe Project do end describe '#auto_devops_enabled?' do + before do + allow(Feature).to receive(:enabled?).and_call_original + Feature.get(:force_autodevops_on_by_default).enable_percentage_of_actors(0) + end + set(:project) { create(:project) } subject { project.auto_devops_enabled? } @@ -3301,6 +3306,14 @@ describe Project do it { is_expected.to be_truthy } end + + context 'when force_autodevops_on_by_default is enabled for the project' do + before do + Feature.get(:force_autodevops_on_by_default).enable_percentage_of_actors(100) + end + + it { is_expected.to be_truthy } + end end end |