Add with_warnings? method to Pipelines and add tests.
This commit is contained in:
parent
f668a785cd
commit
b306a52114
4 changed files with 35 additions and 0 deletions
|
@ -23,6 +23,7 @@ v 8.10.0 (unreleased)
|
|||
- Store when and yaml variables in builds table
|
||||
- Display last commit of deleted branch in push events !4699 (winniehell)
|
||||
- Escape file extension when parsing search results !5141 (winniehell)
|
||||
- Add "passing with warnings" to the merge request pipeline possible statuses, this happens when builds that allow failures have failed. !5004
|
||||
- Apply the trusted_proxies config to the rack request object for use with rack_attack
|
||||
- Upgrade to Rails 4.2.7. !5236
|
||||
- Allow to pull code with deploy key from public projects
|
||||
|
|
|
@ -286,6 +286,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController
|
|||
status = pipeline.status
|
||||
coverage = pipeline.try(:coverage)
|
||||
|
||||
status = "success_with_warnings" if pipeline.success? && pipeline.with_warnings?
|
||||
|
||||
status ||= "preparing"
|
||||
else
|
||||
ci_service = @merge_request.source_project.ci_service
|
||||
|
|
|
@ -146,6 +146,12 @@ module Ci
|
|||
end
|
||||
end
|
||||
|
||||
def with_warnings?
|
||||
builds.latest.any? do |build|
|
||||
build.failed? && build.allow_failure
|
||||
end
|
||||
end
|
||||
|
||||
def config_processor
|
||||
return nil unless ci_yaml_file
|
||||
return @config_processor if defined?(@config_processor)
|
||||
|
|
|
@ -502,4 +502,30 @@ describe Ci::Pipeline, models: true do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#with_warnings?' do
|
||||
subject { pipeline.with_warnings? }
|
||||
|
||||
context 'build which is allowed to fail fails' do
|
||||
before do
|
||||
FactoryGirl.create :ci_build, :success, pipeline: pipeline, name: 'rspec'
|
||||
FactoryGirl.create :ci_build, :allowed_to_fail, :failed, pipeline: pipeline, name: 'rubocop'
|
||||
end
|
||||
|
||||
it 'returns true' do
|
||||
is_expected.to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
context 'build which is allowed to fail succeeds' do
|
||||
before do
|
||||
FactoryGirl.create :ci_build, :success, pipeline: pipeline, name: 'rspec'
|
||||
FactoryGirl.create :ci_build, :allowed_to_fail, :success, pipeline: pipeline, name: 'rubocop'
|
||||
end
|
||||
|
||||
it 'returns false' do
|
||||
is_expected.to be_falsey
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue