Update merge request pipeline even if if has errors
This commit is contained in:
parent
accaf7eaf2
commit
22f1b04637
2 changed files with 27 additions and 4 deletions
|
@ -176,9 +176,14 @@ module Ci
|
|||
end
|
||||
|
||||
def error(message, save: false)
|
||||
pipeline.errors.add(:base, message)
|
||||
pipeline.drop if save
|
||||
pipeline
|
||||
pipeline.tap do
|
||||
pipeline.errors.add(:base, message)
|
||||
|
||||
if save
|
||||
pipeline.drop
|
||||
update_merge_requests_head_pipeline
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def pipeline_created_counter
|
||||
|
|
|
@ -110,11 +110,29 @@ describe Ci::CreatePipelineService do
|
|||
allow_any_instance_of(Ci::Pipeline)
|
||||
.to receive(:latest?).and_return(false)
|
||||
|
||||
pipeline
|
||||
execute_service
|
||||
|
||||
expect(merge_request.reload.head_pipeline).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context 'when pipeline has errors' do
|
||||
before do
|
||||
stub_ci_pipeline_yaml_file('some invalid syntax')
|
||||
end
|
||||
|
||||
it 'updates merge request head pipeline reference' do
|
||||
merge_request = create(:merge_request, source_branch: 'master',
|
||||
target_branch: 'feature',
|
||||
source_project: project)
|
||||
|
||||
head_pipeline = execute_service
|
||||
|
||||
expect(head_pipeline).to be_persisted
|
||||
expect(head_pipeline.yaml_errors).to be_present
|
||||
expect(merge_request.reload.head_pipeline).to eq head_pipeline
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'auto-cancel enabled' do
|
||||
|
|
Loading…
Reference in a new issue