diff options
author | Tiger <twatson@gitlab.com> | 2019-03-26 17:09:07 +1100 |
---|---|---|
committer | Tiger <twatson@gitlab.com> | 2019-04-02 11:04:41 +1100 |
commit | de03a8bcb45f11a50bee071e977274c113e7b39a (patch) | |
tree | 5777fee3e2c70cea8b3425232b21c945ee5da2b7 /lib/gitlab/ci/status | |
parent | 093629fedc43e8b481c6626765e3fcf0603add17 (diff) | |
download | gitlab-ce-de03a8bcb45f11a50bee071e977274c113e7b39a.tar.gz |
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).
Diffstat (limited to 'lib/gitlab/ci/status')
-rw-r--r-- | lib/gitlab/ci/status/build/factory.rb | 3 | ||||
-rw-r--r-- | lib/gitlab/ci/status/build/failed_unmet_prerequisites.rb | 24 |
2 files changed, 26 insertions, 1 deletions
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 |