diff options
author | Shinya Maeda <shinya@gitlab.com> | 2018-09-21 11:17:37 +0900 |
---|---|---|
committer | Alessio Caiazza <acaiazza@gitlab.com> | 2018-10-02 17:02:11 +0200 |
commit | a7c767f16446f71f6e35a5aa3d2fdc73037fcdf5 (patch) | |
tree | 6f0f2a85f44d796a31ae0813e1ce6d5434bc8fda /app/services | |
parent | af51b95442aa867bd570b99d32f8b580f554675d (diff) | |
download | gitlab-ce-a7c767f16446f71f6e35a5aa3d2fdc73037fcdf5.tar.gz |
Add a new status to ci_builds.status
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/ci/process_pipeline_service.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/app/services/ci/process_pipeline_service.rb b/app/services/ci/process_pipeline_service.rb index 323075d404b..0a13da198cd 100644 --- a/app/services/ci/process_pipeline_service.rb +++ b/app/services/ci/process_pipeline_service.rb @@ -37,7 +37,7 @@ module Ci def process_build(build, current_status) if valid_statuses_for_when(build.when).include?(current_status) - build.action? ? build.actionize : enqueue_build(build) + proceed_build(build) true else build.skip @@ -53,8 +53,10 @@ module Ci %w[failed] when 'always' %w[success failed skipped] - when 'manual', 'delayed' + when 'manual' %w[success skipped] + when 'delayed' + %w[success skipped] # This might be `success` only else [] end @@ -102,8 +104,14 @@ module Ci end # rubocop: enable CodeReuse/ActiveRecord - def enqueue_build(build) - Ci::EnqueueBuildService.new(project, @user).execute(build) + def proceed_build(build) + if build.schedulable? + build.schedule! + elsif build.action? + build.actionize + else + Ci::EnqueueBuildService.new(project, @user).execute(build) + end end end end |