summaryrefslogtreecommitdiff
path: root/app/workers/releases/manage_evidence_worker.rb
blob: 94d0342a65a125336b7feefa14a0987156101054 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true

module Releases
  class ManageEvidenceWorker # rubocop:disable Scalability/IdempotentWorker
    include ApplicationWorker

    data_consistency :always

    include CronjobQueue # rubocop:disable Scalability/CronWorkerContext

    feature_category :release_evidence

    def perform
      releases = Release.without_evidence.released_within_2hrs

      releases.each do |release|
        project = release.project
        params = { tag: release.tag }

        evidence_pipeline = Releases::EvidencePipelineFinder.new(project, params).execute

        # perform_at released_at
        ::Releases::CreateEvidenceWorker.perform_async(release.id, evidence_pipeline&.id)
      end
    end
  end
end