From bf990fcda4c5b728272d3775cdefadce6f80cf01 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Wed, 15 Jun 2016 09:35:11 +0200 Subject: [PATCH] Return false in create_builds if not builds created This fixes compatibility with trigger request create service. --- app/models/ci/pipeline.rb | 5 ++--- spec/models/ci/pipeline_spec.rb | 10 ++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index 63639ff2c1..e90924af31 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -91,7 +91,7 @@ module Ci trigger_requests.any? end - def build_builds(user, status = 'success', trigger_request = nil) + def build_builds(user, trigger_request = nil, status = 'success') return unless config_processor config_processor.stages.any? do |stage| build_builds_for_stage(stage, user, status, trigger_request).present? @@ -99,8 +99,7 @@ module Ci end def create_builds(user, trigger_request = nil) - build_builds(user, 'success', trigger_request) - save + build_builds(user, trigger_request) && save end def create_next_builds(build) diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb index 0d769ed732..458013ad9f 100644 --- a/spec/models/ci/pipeline_spec.rb +++ b/spec/models/ci/pipeline_spec.rb @@ -258,6 +258,16 @@ describe Ci::Pipeline, models: true do end end end + + context 'when no builds created' do + before do + stub_ci_pipeline_yaml_file(YAML.dump(before_script: ['ls'])) + end + + it 'returns false' do + expect(pipeline.create_builds(nil)).to be_falsey + end + end end describe "#finished_at" do