Skip to content
Snippets Groups Projects
Commit 91c1dc57 authored by Shinya Maeda's avatar Shinya Maeda
Browse files

Fix runner eternal loop when update job result

Add spec

Add changelog
parent 35c3cb7c
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -224,8 +224,15 @@ module Ci
 
before_transition any => [:failed] do |build|
next unless build.project
next unless build.deployment
 
build.deployment&.drop
begin
build.deployment.drop!
rescue => e
Gitlab::Sentry.track_exception(e, extra: { build_id: build.id })
end
true
end
 
after_transition any => [:failed] do |build|
Loading
Loading
---
title: Fix runner eternal loop when update job result
merge_request: 24481
author:
type: fixed
Loading
Loading
@@ -3028,6 +3028,24 @@ describe Ci::Build do
subject.drop!
end
end
context 'when associated deployment failed to update its status' do
let(:build) { create(:ci_build, :running, pipeline: pipeline) }
let!(:deployment) { create(:deployment, deployable: build) }
before do
allow_any_instance_of(Deployment)
.to receive(:drop!).and_raise('Unexpected error')
end
it 'can drop the build' do
expect(Gitlab::Sentry).to receive(:track_exception)
expect { build.drop! }.not_to raise_error
expect(build).to be_failed
end
end
end
 
describe '.matches_tag_ids' do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment