Merge branch 'remove_create_deployment_from_build_success_worker' into 'master'

Remove deprecated call in BuildSuccessWorker

Closes #63622

See merge request gitlab-org/gitlab-ce!29958
This commit is contained in:
Douwe Maan 2019-06-24 09:19:27 +00:00
commit 6177bc1d69
2 changed files with 0 additions and 56 deletions

View file

@ -9,7 +9,6 @@ class BuildSuccessWorker
# rubocop: disable CodeReuse/ActiveRecord
def perform(build_id)
Ci::Build.find_by(id: build_id).try do |build|
create_deployment(build) if build.has_environment?
stop_environment(build) if build.stops_environment?
end
end
@ -17,17 +16,6 @@ class BuildSuccessWorker
private
##
# Deprecated:
# As of 11.5, we started creating a deployment record when ci_builds record is created.
# Therefore we no longer need to create a deployment, after a build succeeded.
# We're leaving this code for the transition period, but we can remove this code in 11.6.
def create_deployment(build)
build.create_deployment.try do |deployment|
deployment.succeed
end
end
##
# TODO: This should be processed in DeploymentSuccessWorker once we started storing `action` value in `deployments` records
def stop_environment(build)

View file

@ -6,51 +6,7 @@ describe BuildSuccessWorker do
describe '#perform' do
subject { described_class.new.perform(build.id) }
before do
allow_any_instance_of(Deployment).to receive(:create_ref)
end
context 'when build exists' do
context 'when deployment was not created with the build creation' do # An edge case during the transition period
let!(:build) { create(:ci_build, :deploy_to_production) }
before do
allow(Deployments::FinishedWorker).to receive(:perform_async)
Deployment.delete_all
build.reload
end
it 'creates a successful deployment' do
expect(build).not_to be_has_deployment
subject
build.reload
expect(build).to be_has_deployment
expect(build.deployment).to be_success
end
end
context 'when deployment was created with the build creation' do # Counter part of the above edge case
let!(:build) { create(:ci_build, :deploy_to_production) }
it 'does not create a new deployment' do
expect(build).to be_has_deployment
expect { subject }.not_to change { Deployment.count }
end
end
context 'when build is not associated with project' do
let!(:build) { create(:ci_build, project: nil) }
it 'does not create deployment' do
subject
expect(build.reload).not_to be_has_deployment
end
end
context 'when the build will stop an environment' do
let!(:build) { create(:ci_build, :stop_review_app, environment: environment.name, project: environment.project) }
let(:environment) { create(:environment, state: :available) }