summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <git@zjvandeweg.nl>2017-09-12 09:21:47 +0200
committerZeger-Jan van de Weg <git@zjvandeweg.nl>2017-09-13 11:36:04 +0200
commiteeeea489fba033274dec2087798e2480d2139ab4 (patch)
tree94846a97367fb8c2a84b97f7c7693cf5fc3d85da
parent9c9b1774cbdc2a6cdfbbf8cd33e87e62294e729a (diff)
downloadgitlab-ce-eeeea489fba033274dec2087798e2480d2139ab4.tar.gz
AutoDevOps banner hidden on explicit CI config
Extends the helper method to no show the banner as soon as the project has a `.gitlab-ci.yml` file on the default branch. Fixes gitlab-org/gitlab-ce#37652
-rw-r--r--app/helpers/auto_devops_helper.rb4
-rw-r--r--changelogs/unreleased/zj-auto-devops-banner.yml6
-rw-r--r--spec/helpers/auto_devops_helper_spec.rb16
3 files changed, 25 insertions, 1 deletions
diff --git a/app/helpers/auto_devops_helper.rb b/app/helpers/auto_devops_helper.rb
index c132daed323..c455d18cff8 100644
--- a/app/helpers/auto_devops_helper.rb
+++ b/app/helpers/auto_devops_helper.rb
@@ -3,6 +3,8 @@ module AutoDevopsHelper
Feature.get(:auto_devops_banner_disabled).off? &&
show_callout?('auto_devops_settings_dismissed') &&
can?(current_user, :admin_pipeline, project) &&
- project.has_auto_devops_implicitly_disabled?
+ project.has_auto_devops_implicitly_disabled? &&
+ !project.repository.gitlab_ci_yml &&
+ project.ci_services.active.none?
end
end
diff --git a/changelogs/unreleased/zj-auto-devops-banner.yml b/changelogs/unreleased/zj-auto-devops-banner.yml
new file mode 100644
index 00000000000..a2abed0b2ec
--- /dev/null
+++ b/changelogs/unreleased/zj-auto-devops-banner.yml
@@ -0,0 +1,6 @@
+---
+title: Do not show the Auto DevOps banner when the project has a .gitlab-ci.yml on
+ master
+merge_request:
+author:
+type: fixed
diff --git a/spec/helpers/auto_devops_helper_spec.rb b/spec/helpers/auto_devops_helper_spec.rb
index 80d58ff6bf7..881538bc1c6 100644
--- a/spec/helpers/auto_devops_helper_spec.rb
+++ b/spec/helpers/auto_devops_helper_spec.rb
@@ -65,5 +65,21 @@ describe AutoDevopsHelper do
it { is_expected.to eq(false) }
end
+
+ context 'when master contains a .gitlab-ci.yml file' do
+ before do
+ allow(project.repository).to receive(:gitlab_ci_yml).and_return("script: [ 'test']")
+ end
+
+ it { is_expected.to eq(false) }
+ end
+
+ context 'when another service is enabled' do
+ before do
+ create(:service, project: project, category: :ci, active: true)
+ end
+
+ it { is_expected.to eq(false) }
+ end
end
end