From 9f639b073394b23c4e559b95dc5ba3ad422352bc Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Mon, 2 Oct 2017 13:40:12 +0200 Subject: [PATCH] Set a pipeline failure reason when it has YAML errors Conflicts: app/models/ci/pipeline.rb --- app/models/ci/pipeline.rb | 3 ++- lib/gitlab/ci/pipeline/chain/validate/config.rb | 2 +- spec/lib/gitlab/ci/pipeline/chain/validate/config_spec.rb | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index ddf80433c57..728ce1d9cc6 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -59,7 +59,8 @@ module Ci } enum failure_reason: { - unknown_failure: 0 + unknown_failure: 0, + config_error: 1 } state_machine :status, initial: :created do diff --git a/lib/gitlab/ci/pipeline/chain/validate/config.rb b/lib/gitlab/ci/pipeline/chain/validate/config.rb index 489bcd79655..075504bcce5 100644 --- a/lib/gitlab/ci/pipeline/chain/validate/config.rb +++ b/lib/gitlab/ci/pipeline/chain/validate/config.rb @@ -13,7 +13,7 @@ module Gitlab end if @command.save_incompleted && @pipeline.has_yaml_errors? - @pipeline.drop + @pipeline.drop!(:config_error) end return error(@pipeline.yaml_errors) diff --git a/spec/lib/gitlab/ci/pipeline/chain/validate/config_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/validate/config_spec.rb index 3740df88f42..8357af38f92 100644 --- a/spec/lib/gitlab/ci/pipeline/chain/validate/config_spec.rb +++ b/spec/lib/gitlab/ci/pipeline/chain/validate/config_spec.rb @@ -55,6 +55,10 @@ describe Gitlab::Ci::Pipeline::Chain::Validate::Config do it 'fails the pipeline' do expect(pipeline.reload).to be_failed end + + it 'sets a config error failure reason' do + expect(pipeline.reload.config_error?).to eq true + end end context 'when saving incomplete pipeline is not allowed' do