summaryrefslogtreecommitdiff
path: root/app/models/ci/commit.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/ci/commit.rb')
-rw-r--r--app/models/ci/commit.rb19
1 files changed, 15 insertions, 4 deletions
diff --git a/app/models/ci/commit.rb b/app/models/ci/commit.rb
index 7e6bb4f8c1b..cdab6d5f316 100644
--- a/app/models/ci/commit.rb
+++ b/app/models/ci/commit.rb
@@ -89,13 +89,22 @@ module Ci
trigger_requests.any?
end
- def create_builds(user, trigger_request = nil)
+ def build_builds_for_stage(stage, user, status, trigger_request)
+ CreateBuildsService.new(self).execute(stage, user, status, trigger_request)
+ end
+
+ def build_builds(user, status = 'success', trigger_request = nil)
return unless config_processor
config_processor.stages.any? do |stage|
- CreateBuildsService.new(self).execute(stage, user, 'success', trigger_request).present?
+ build_builds_for_stage(stage, user, status, trigger_request).present?
end
end
+ def create_builds(user, trigger_request = nil)
+ build_builds(user, 'success', trigger_request)
+ save!
+ end
+
def create_next_builds(build)
return unless config_processor
@@ -112,9 +121,11 @@ module Ci
prior_status = prior_builds.status
# create builds for next stages based
- next_stages.any? do |stage|
- CreateBuildsService.new(self).execute(stage, build.user, prior_status, build.trigger_request).present?
+ have_builds = next_stages.any? do |stage|
+ build_builds_for_stage(stage, build.user, prior_status, build.trigger_request).present?
end
+
+ save! if have_builds
end
def retried