Commit 22f1b046 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Update merge request pipeline even if if has errors

parent accaf7ea
...@@ -176,9 +176,14 @@ module Ci ...@@ -176,9 +176,14 @@ module Ci
end end
def error(message, save: false) def error(message, save: false)
pipeline.errors.add(:base, message) pipeline.tap do
pipeline.drop if save pipeline.errors.add(:base, message)
pipeline
if save
pipeline.drop
update_merge_requests_head_pipeline
end
end
end end
def pipeline_created_counter def pipeline_created_counter
......
...@@ -110,11 +110,29 @@ describe Ci::CreatePipelineService do ...@@ -110,11 +110,29 @@ describe Ci::CreatePipelineService do
allow_any_instance_of(Ci::Pipeline) allow_any_instance_of(Ci::Pipeline)
.to receive(:latest?).and_return(false) .to receive(:latest?).and_return(false)
pipeline execute_service
expect(merge_request.reload.head_pipeline).to be_nil expect(merge_request.reload.head_pipeline).to be_nil
end end
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 end
context 'auto-cancel enabled' do context 'auto-cancel enabled' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment