Reveert build_relations and simply add a line for creating iid

This commit is contained in:
Shinya Maeda 2018-06-02 11:55:42 +09:00
parent b02b2602c1
commit e8ecae7e0b
2 changed files with 10 additions and 16 deletions

View File

@ -8,7 +8,13 @@ module Gitlab
PopulateError = Class.new(StandardError)
def perform!
build_relations
# Allocate next IID. This operation must be outside of transactions of pipeline creations.
pipeline.ensure_project_iid!
##
# Populate pipeline with block argument of CreatePipelineService#execute.
#
@command.seeds_block&.call(pipeline)
##
# Populate pipeline with all stages, and stages with builds.
@ -31,18 +37,6 @@ module Gitlab
def break?
pipeline.errors.any?
end
private
def build_relations
##
# Populate pipeline with block argument of CreatePipelineService#execute.
#
@command.seeds_block&.call(pipeline)
# Allocate next IID. This operation must be outside of transactions of pipeline creations.
pipeline.ensure_project_iid!
end
end
end
end

View File

@ -140,10 +140,10 @@ describe Gitlab::Ci::Pipeline::Chain::Populate do
expect { step.perform! }.to raise_error(ActiveRecord::RecordNotSaved)
end
it 'does not waste pipeline iid' do
step.perform rescue nil
it 'wastes pipeline iid' do
expect { step.perform! }.to raise_error
expect(InternalId.ci_pipelines.where(project_id: project.id).exists?).to be_falsy
expect(InternalId.ci_pipelines.where(project_id: project.id).exists?).to be_truthy
end
end
end