diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-05-08 13:47:21 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-06-20 16:32:29 +0300 |
commit | 64e09a1b35cc1897df7e46e73989c6e7013f6196 (patch) | |
tree | b3536db28e29f337237bcbe413c29bbf66471cd0 | |
parent | bf57a7e80c44080dc7ec0fd774148afdae29cc31 (diff) |
Fix pipeline status when allowed to fail jobs present
-rw-r--r-- | app/models/concerns/has_status.rb | 4 | ||||
-rw-r--r-- | spec/services/ci/process_pipeline_service_spec.rb | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/app/models/concerns/has_status.rb b/app/models/concerns/has_status.rb index 3c9c6584e02..692bd1f9317 100644 --- a/app/models/concerns/has_status.rb +++ b/app/models/concerns/has_status.rb @@ -37,7 +37,9 @@ module HasStatus end def status - all.pluck(status_sql).first + all.pluck(status_sql).first.tap do |status| + return 'success' if status == 'skipped' && all.failed_but_allowed.any? + end end def started_at diff --git a/spec/services/ci/process_pipeline_service_spec.rb b/spec/services/ci/process_pipeline_service_spec.rb index 1557cb3c938..efcaccc254e 100644 --- a/spec/services/ci/process_pipeline_service_spec.rb +++ b/spec/services/ci/process_pipeline_service_spec.rb @@ -62,6 +62,10 @@ describe Ci::ProcessPipelineService, '#execute', :services do fail_running_or_pending expect(builds_statuses).to eq %w(failed pending) + + fail_running_or_pending + + expect(pipeline.reload).to be_success end end |