From de03a8bcb45f11a50bee071e977274c113e7b39a Mon Sep 17 00:00:00 2001 From: Tiger Date: Tue, 26 Mar 2019 17:09:07 +1100 Subject: Detailed status for builds that fail prerequisites Create FailedUnmetPrerequisites status to allow custom messaging for builds that were unable to be queued due to failing to meet prerequisites (eg. failing to create Kubernetes namespace for deployment). --- lib/gitlab/ci/status/build/factory.rb | 3 ++- .../ci/status/build/failed_unmet_prerequisites.rb | 24 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 lib/gitlab/ci/status/build/failed_unmet_prerequisites.rb (limited to 'lib/gitlab/ci/status') diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index f7d0715e617..96d05842838 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -16,7 +16,8 @@ module Gitlab Status::Build::Skipped], [Status::Build::Cancelable, Status::Build::Retryable], - [Status::Build::Failed], + [Status::Build::FailedUnmetPrerequisites, + Status::Build::Failed], [Status::Build::FailedAllowed, Status::Build::Unschedule, Status::Build::Play, diff --git a/lib/gitlab/ci/status/build/failed_unmet_prerequisites.rb b/lib/gitlab/ci/status/build/failed_unmet_prerequisites.rb new file mode 100644 index 00000000000..a64f901558d --- /dev/null +++ b/lib/gitlab/ci/status/build/failed_unmet_prerequisites.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Gitlab + module Ci + module Status + module Build + class FailedUnmetPrerequisites < Status::Extended + def illustration + { + image: 'illustrations/skipped-job_empty.svg', + size: 'svg-430', + title: _('Failed to create resources'), + content: _('Retry this job in order to create the necessary resources') + } + end + + def self.matches?(build, _) + build.unmet_prerequisites? + end + end + end + end + end +end -- cgit v1.2.1