From 74fe5bd4060f7d2f2a828aaf8dbd144c317c587d Mon Sep 17 00:00:00 2001 From: Nerixyz Date: Sat, 10 Feb 2024 12:12:46 +0100 Subject: [PATCH] fix: artifact download --- .../clang_tidy_review/__init__.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/post/clang_tidy_review/clang_tidy_review/__init__.py b/post/clang_tidy_review/clang_tidy_review/__init__.py index b0f2d61..4444fdb 100644 --- a/post/clang_tidy_review/clang_tidy_review/__init__.py +++ b/post/clang_tidy_review/clang_tidy_review/__init__.py @@ -26,7 +26,8 @@ from github.Requester import Requester from github.PaginatedList import PaginatedList from github.WorkflowRun import WorkflowRun -from typing import List, Optional, TypedDict +from github.Artifact import Artifact +from typing import Any, List, Optional, TypedDict DIFF_HEADER_LINE_LENGTH = 5 FIXES_FILE = "clang_tidy_review.yaml" @@ -353,6 +354,16 @@ def post_annotations(self, review): "POST", url, parameters=review, headers=headers ) + def download_json_artifact(self, artifact: Artifact) -> Any: + headers = { + "Accept": "application/vnd.github+json", + "Authorization": f"Bearer {self.token}", + } + _, data = self.repo._requester.requestJsonAndCheck( + "GET", artifact.archive_download_url, headers=headers + ) + return data + @contextlib.contextmanager def message_group(title: str): @@ -925,9 +936,7 @@ def download_artifacts(pull: PullRequest, workflow_id: int): return None, None try: - _, data = pull.repo._requester.requestJsonAndCheck( - "GET", artifact.archive_download_url, headers=pull.headers("json") - ) + data = pull.download_json_artifact(artifact) except GithubException as exc: print( f"WARNING: Couldn't automatically download artifacts for workflow '{workflow_id}', response was: {exc}"