diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb index d38b756e1498ff0e58a6b6bc4c1181492766a3f5..f0f264e335e53ca0d09a55aa90e06ffe6aa816f6 100644 --- a/app/models/ci/pipeline.rb +++ b/app/models/ci/pipeline.rb @@ -1364,17 +1364,6 @@ def merge_train_pipeline? false end - def security_reports(report_types: []) - reports_scope = report_types.empty? ? ::Ci::JobArtifact.security_reports : ::Ci::JobArtifact.security_reports(file_types: report_types) - types_to_collect = report_types.empty? ? ::EE::Enums::Ci::JobArtifact.security_report_file_types : report_types - - ::Gitlab::Ci::Reports::Security::Reports.new(self).tap do |security_reports| - latest_report_builds_in_self_and_project_descendants(reports_scope).includes(pipeline: { project: :route }).each do |build| # rubocop:disable Rails/FindEach - build.collect_security_reports!(security_reports, report_types: types_to_collect) - end - end - end - def build_matchers self.builds.latest.build_matchers(project) end diff --git a/ee/app/models/ee/ci/pipeline.rb b/ee/app/models/ee/ci/pipeline.rb index 7d2e43fdfb24cc2a680532de2d40e1744ee76be9..1ae35c86714d3643a5537a254366ca06e98f2452 100644 --- a/ee/app/models/ee/ci/pipeline.rb +++ b/ee/app/models/ee/ci/pipeline.rb @@ -130,6 +130,17 @@ def triggers_subscriptions? tag? && project_has_subscriptions? end + def security_reports(report_types: []) + reports_scope = report_types.empty? ? ::Ci::JobArtifact.security_reports : ::Ci::JobArtifact.security_reports(file_types: report_types) + types_to_collect = report_types.empty? ? ::EE::Enums::Ci::JobArtifact.security_report_file_types : report_types + + ::Gitlab::Ci::Reports::Security::Reports.new(self).tap do |security_reports| + latest_report_builds_in_self_and_project_descendants(reports_scope).includes(pipeline: { project: :route }).find_each do |build| + build.collect_security_reports!(security_reports, report_types: types_to_collect) + end + end + end + def batch_lookup_report_artifact_for_file_types(file_types) file_types_to_search = [] file_types.each do |file_type|