diff options
Diffstat (limited to 'app/services/ci/abort_project_pipelines_service.rb')
-rw-r--r-- | app/services/ci/abort_project_pipelines_service.rb | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/app/services/ci/abort_project_pipelines_service.rb b/app/services/ci/abort_project_pipelines_service.rb deleted file mode 100644 index 0b2fa9ed3c0..00000000000 --- a/app/services/ci/abort_project_pipelines_service.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -module Ci - class AbortProjectPipelinesService - # Danger: Cancels in bulk without callbacks - # Only for pipeline abandonment scenarios (current example: project delete) - def execute(project) - return unless Feature.enabled?(:abort_deleted_project_pipelines, default_enabled: :yaml) - - pipelines = project.all_pipelines.cancelable - bulk_abort!(pipelines, status: :canceled) - - ServiceResponse.success(message: 'Pipelines canceled') - end - - private - - def bulk_abort!(pipelines, status:) - pipelines.each_batch do |pipeline_batch| - CommitStatus.in_pipelines(pipeline_batch).in_batches.update_all(status: status) # rubocop: disable Cop/InBatches - pipeline_batch.update_all(status: status) - end - end - end -end |