summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Pitino <fpitino@gitlab.com>2019-06-10 17:40:19 +0000
committerKamil TrzciƄski <ayufan@ayufan.eu>2019-06-10 17:40:19 +0000
commit3df74a403670ef2ca450bf474e9864ede56dd235 (patch)
treeaa988b6e29f04abb1bb34646a8c4fe51600a578a
parent9254b5d4c0cc41e552e896e16ef0bf62b5d9ae5b (diff)
downloadgitlab-ce-3df74a403670ef2ca450bf474e9864ede56dd235.tar.gz
Move project default git depth behind feature flags
-rw-r--r--app/models/project_ci_cd_setting.rb2
-rw-r--r--app/presenters/ci/build_runner_presenter.rb2
-rw-r--r--spec/models/project_ci_cd_setting_spec.rb12
-rw-r--r--spec/presenters/ci/build_runner_presenter_spec.rb10
4 files changed, 25 insertions, 1 deletions
diff --git a/app/models/project_ci_cd_setting.rb b/app/models/project_ci_cd_setting.rb
index 492d50766ea..821e022f51b 100644
--- a/app/models/project_ci_cd_setting.rb
+++ b/app/models/project_ci_cd_setting.rb
@@ -31,6 +31,8 @@ class ProjectCiCdSetting < ApplicationRecord
private
def set_default_git_depth
+ return unless Feature.enabled?(:ci_set_project_default_git_depth, default_enabled: true)
+
self.default_git_depth ||= DEFAULT_GIT_DEPTH
end
end
diff --git a/app/presenters/ci/build_runner_presenter.rb b/app/presenters/ci/build_runner_presenter.rb
index 471b6d3b726..c75f62149f8 100644
--- a/app/presenters/ci/build_runner_presenter.rb
+++ b/app/presenters/ci/build_runner_presenter.rb
@@ -27,7 +27,7 @@ module Ci
def git_depth
if git_depth_variable
git_depth_variable[:value]
- else
+ elsif Feature.enabled?(:ci_project_git_depth, default_enabled: true)
project.default_git_depth
end.to_i
end
diff --git a/spec/models/project_ci_cd_setting_spec.rb b/spec/models/project_ci_cd_setting_spec.rb
index f596cee81dc..eb3a7e527c9 100644
--- a/spec/models/project_ci_cd_setting_spec.rb
+++ b/spec/models/project_ci_cd_setting_spec.rb
@@ -48,5 +48,17 @@ describe ProjectCiCdSetting do
expect(project.reload.ci_cd_settings.default_git_depth).to eq(0)
end
+
+ context 'when feature flag :ci_set_project_default_git_depth is disabled' do
+ let(:project) { create(:project) }
+
+ before do
+ stub_feature_flags(ci_set_project_default_git_depth: { enabled: false } )
+ end
+
+ it 'does not set default value for new records' do
+ expect(project.ci_cd_settings.default_git_depth).to eq(nil)
+ end
+ end
end
end
diff --git a/spec/presenters/ci/build_runner_presenter_spec.rb b/spec/presenters/ci/build_runner_presenter_spec.rb
index 9ed8e3a4e0a..620f34bac79 100644
--- a/spec/presenters/ci/build_runner_presenter_spec.rb
+++ b/spec/presenters/ci/build_runner_presenter_spec.rb
@@ -136,6 +136,16 @@ describe Ci::BuildRunnerPresenter do
it 'defaults to git depth setting for the project' do
expect(git_depth).to eq(build.project.default_git_depth)
end
+
+ context 'when feature flag :ci_project_git_depth is disabled' do
+ before do
+ stub_feature_flags(ci_project_git_depth: { enabled: false })
+ end
+
+ it 'defaults to 0' do
+ expect(git_depth).to eq(0)
+ end
+ end
end
describe '#refspecs' do