Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-12-11 18:15:12 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-11 18:15:12 +0300
commitd83a3edd4416e93f2815815c1be4ee0a2755a3c5 (patch)
tree670863f034908a1832b1c5db228b9ae567e4cf7e /app/services
parentee2024d964d1742a8ec01da89e0b34351c9303ab (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services')
-rw-r--r--app/services/ci/generate_coverage_reports_service.rb32
1 files changed, 21 insertions, 11 deletions
diff --git a/app/services/ci/generate_coverage_reports_service.rb b/app/services/ci/generate_coverage_reports_service.rb
index 8beecb79fd9..e059f8acda6 100644
--- a/app/services/ci/generate_coverage_reports_service.rb
+++ b/app/services/ci/generate_coverage_reports_service.rb
@@ -9,19 +9,26 @@ module Ci
class GenerateCoverageReportsService < CompareReportsBaseService
def execute(base_pipeline, head_pipeline)
merge_request = MergeRequest.find_by_id(params[:id])
+ code_coverage_artifact = head_pipeline.pipeline_artifacts.find_by_file_type(:code_coverage)
+ return error_response(base_pipeline, head_pipeline) unless code_coverage_artifact && merge_request
+
{
status: :parsed,
key: key(base_pipeline, head_pipeline),
- data: head_pipeline.pipeline_artifacts.find_by_file_type(:code_coverage).present.for_files(merge_request.new_paths)
+ data: code_coverage_artifact.present.for_files(merge_request.new_paths)
}
rescue StandardError => e
- Gitlab::ErrorTracking.track_exception(
- e,
- project_id: project.id,
- base_pipeline_id: base_pipeline&.id,
- head_pipeline_id: head_pipeline&.id
- )
+ track_exception(e, base_pipeline, head_pipeline)
+ error_response(base_pipeline, head_pipeline)
+ end
+
+ def latest?(base_pipeline, head_pipeline, data)
+ data&.fetch(:key, nil) == key(base_pipeline, head_pipeline)
+ end
+ private
+
+ def error_response(base_pipeline, head_pipeline)
{
status: :error,
key: key(base_pipeline, head_pipeline),
@@ -29,12 +36,15 @@ module Ci
}
end
- def latest?(base_pipeline, head_pipeline, data)
- data&.fetch(:key, nil) == key(base_pipeline, head_pipeline)
+ def track_exception(error, base_pipeline, head_pipeline)
+ Gitlab::ErrorTracking.track_exception(
+ error,
+ project_id: project.id,
+ base_pipeline_id: base_pipeline&.id,
+ head_pipeline_id: head_pipeline&.id
+ )
end
- private
-
def key(base_pipeline, head_pipeline)
[
base_pipeline&.id, last_update_timestamp(base_pipeline),