summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Fargher <proglottis@gmail.com>2019-08-20 12:38:23 +1200
committerJames Fargher <proglottis@gmail.com>2019-08-20 14:31:14 +1200
commit42da4faca442b4fcc0af2f66b1f2ad13d9d13b66 (patch)
treecb4fa87fec992c41e92c8fe153e046240a99671f
parent30004bc9b77ec02cfbf30e951c8adc7978081762 (diff)
downloadgitlab-ce-auto_devops_detect.tar.gz
Auto-DevOps pipeline skipped bannerauto_devops_detect
Small banner to show the user why their pipeline was skipped
-rw-r--r--app/models/ci/pipeline.rb4
-rw-r--r--app/views/projects/pipelines/_info.html.haml6
-rw-r--r--locale/gitlab.pot3
-rw-r--r--spec/models/ci/pipeline_spec.rb34
4 files changed, 47 insertions, 0 deletions
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index 255ae64a3fd..c891cff4632 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -810,6 +810,10 @@ module Ci
errors ? errors.full_messages.to_sentence : ""
end
+ def auto_devops_unsupported?
+ !auto_devops_buildable.nil? && !auto_devops_buildable?
+ end
+
private
def ci_yaml_from_repo
diff --git a/app/views/projects/pipelines/_info.html.haml b/app/views/projects/pipelines/_info.html.haml
index 2b56ada8b73..6e226c15970 100644
--- a/app/views/projects/pipelines/_info.html.haml
+++ b/app/views/projects/pipelines/_info.html.haml
@@ -5,6 +5,12 @@
%pre.commit-description<
= preserve(markdown(commit.description, pipeline: :single_line))
+- if @pipeline.auto_devops_unsupported?
+ .flash-container
+ .flash-warning
+ .flash-text
+ = s_('This pipeline was skipped because this project is not compatible with Auto DevOps. To run Auto DevOps pipelines, ensure your project has a <a href="https://docs.gitlab.com/ee/topics/autodevops/#auto-build-using-a-dockerfile">Dockerfile</a> or <a href="https://docs.gitlab.com/ee/topics/autodevops/#auto-build-using-heroku-buildpacks">matching buildpack</a>.').html_safe
+
.info-well
.well-segment.pipeline-info
.icon-container
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index e8d27360395..7506fe22c6a 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -11649,6 +11649,9 @@ msgstr ""
msgid "This pipeline makes use of a predefined CI/CD configuration enabled by <b>Auto DevOps.</b>"
msgstr ""
+msgid "This pipeline was skipped because this project is not compatible with Auto DevOps. To run Auto DevOps pipelines, ensure your project has a <a href=\"https://docs.gitlab.com/ee/topics/autodevops/#auto-build-using-a-dockerfile\">Dockerfile</a> or <a href=\"https://docs.gitlab.com/ee/topics/autodevops/#auto-build-using-heroku-buildpacks\">matching buildpack</a>."
+msgstr ""
+
msgid "This project"
msgstr ""
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb
index 76ff31221fe..a141e56c0c7 100644
--- a/spec/models/ci/pipeline_spec.rb
+++ b/spec/models/ci/pipeline_spec.rb
@@ -3082,4 +3082,38 @@ describe Ci::Pipeline, :mailer do
end
end
end
+
+ describe '#auto_devops_unsupported?' do
+ subject { pipeline }
+
+ context 'buildable' do
+ before do
+ pipeline.auto_devops_buildable = true
+ end
+
+ it 'is supported' do
+ is_expected.not_to be_auto_devops_unsupported
+ end
+ end
+
+ context 'not buildable' do
+ before do
+ pipeline.auto_devops_buildable = false
+ end
+
+ it 'is unsupported' do
+ is_expected.to be_auto_devops_unsupported
+ end
+ end
+
+ context 'unknown buildable' do
+ before do
+ pipeline.auto_devops_buildable = nil
+ end
+
+ it 'is supported' do
+ is_expected.not_to be_auto_devops_unsupported
+ end
+ end
+ end
end