diff options
author | Shinya Maeda <shinya@gitlab.com> | 2018-09-27 16:10:55 +0900 |
---|---|---|
committer | Alessio Caiazza <acaiazza@gitlab.com> | 2018-10-02 17:08:12 +0200 |
commit | 80a92650faf9d7ca7a706b6a74019d869598fe41 (patch) | |
tree | 458754122e13dffb1a40e7f2aec546e64e88bc26 /app/services/ci/process_pipeline_service.rb | |
parent | f3348951a80f11b376d5d21843f57102630e1d5d (diff) | |
download | gitlab-ce-80a92650faf9d7ca7a706b6a74019d869598fe41.tar.gz |
Add Spec for ProcessPipelineService
Diffstat (limited to 'app/services/ci/process_pipeline_service.rb')
-rw-r--r-- | app/services/ci/process_pipeline_service.rb | 30 |
1 files changed, 2 insertions, 28 deletions
diff --git a/app/services/ci/process_pipeline_service.rb b/app/services/ci/process_pipeline_service.rb index 5e8a3976cc0..446188347df 100644 --- a/app/services/ci/process_pipeline_service.rb +++ b/app/services/ci/process_pipeline_service.rb @@ -29,39 +29,13 @@ module Ci if HasStatus::COMPLETED_STATUSES.include?(current_status) created_builds_in_stage(index).select do |build| Gitlab::OptimisticLocking.retry_lock(build) do |subject| - process_build(subject, current_status) + Ci::ProcessBuildService.new(project, @user) + .execute(build, current_status) end end end end - def process_build(build, current_status) - if valid_statuses_for_when(build.when).include?(current_status) - Ci::ProcessBuildService.new(project, @user).execute(build) - true - else - build.skip - false - end - end - - def valid_statuses_for_when(value) - case value - when 'on_success' - %w[success skipped] - when 'on_failure' - %w[failed] - when 'always' - %w[success failed skipped] - when 'manual' - %w[success skipped] - when 'delayed' - %w[success skipped] - else - [] - end - end - # rubocop: disable CodeReuse/ActiveRecord def status_for_prior_stages(index) pipeline.builds.where('stage_idx < ?', index).latest.status || 'success' |