From cfc234f8c263d84b85a91e6df21582e49a2b8e12 Mon Sep 17 00:00:00 2001 From: ajay-sentry <159853603+ajay-sentry@users.noreply.github.com> Date: Thu, 4 Apr 2024 13:04:28 -0700 Subject: [PATCH 1/2] chore: add repo logs when fetching GH repos (#162) * some extra logs * update to log name * fix access * check which token * guard for none repos --- shared/torngit/github.py | 58 +++++++++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 15 deletions(-) diff --git a/shared/torngit/github.py b/shared/torngit/github.py index 96923be7c..36ad90265 100644 --- a/shared/torngit/github.py +++ b/shared/torngit/github.py @@ -196,6 +196,11 @@ async def api(self, *args, token=None, **kwargs): """ token_to_use = token or self.token + log.info( + "Making Github API call", + extra=dict(has_token=bool(token), has_self_token=bool(self.token)), + ) + if not token_to_use: raise TorngitMisconfiguredCredentials() response = await self.make_http_call(*args, token_to_use=token_to_use, **kwargs) @@ -301,9 +306,9 @@ async def make_http_call( current_retry=current_retry, time_taken=timer.ms, body=logged_body, - rlx=res.headers.get("X-RateLimit-Remaining"), - rly=res.headers.get("X-RateLimit-Limit"), - rlr=res.headers.get("X-RateLimit-Reset"), + rl_remaining=res.headers.get("X-RateLimit-Remaining"), + rl_limit=res.headers.get("X-RateLimit-Limit"), + rl_reset_time=res.headers.get("X-RateLimit-Reset"), retry_after=res.headers.get("Retry-After"), **log_dict, ), @@ -641,7 +646,18 @@ async def _fetch_page_of_repos_using_installation( headers={"Accept": "application/vnd.github.machine-man-preview+json"}, ) - return self._process_repository_page(res.get("repositories", [])) + repos = res.get("repositories", []) + + log.info( + "Fetched page of repos using installation", + extra=dict( + page_size=page_size, + page=page, + repo_names=[repo["name"] for repo in repos] if len(repos) > 0 else [], + ), + ) + + return self._process_repository_page(repos) async def _fetch_page_of_repos( self, client, username, token, page_size=100, page=0 @@ -662,6 +678,16 @@ async def _fetch_page_of_repos( token=token, ) + log.info( + "Fetched page of repos", + extra=dict( + page_size=page_size, + page=page, + repo_names=[repo["name"] for repo in repos] if len(repos) > 0 else [], + username=username, + ), + ) + return self._process_repository_page(repos) async def _fetch_number_of_repos(self, client, token): @@ -732,9 +758,9 @@ async def get_repos_from_nodeids_generator( primary_language.get("name") if primary_language else None ), "private": raw_repo_data["isPrivate"], - "branch": default_branch.get("name") - if default_branch - else None, + "branch": ( + default_branch.get("name") if default_branch else None + ), "owner": { "node_id": raw_repo_data["owner"]["id"], "username": raw_repo_data["owner"]["login"], @@ -1239,11 +1265,11 @@ async def get_compare( % ( f.get("previous_filename") or f.get("filename"), f.get("filename"), - "\ndeleted file mode 100644" - if f["status"] == "removed" - else "\nnew file mode 100644" - if f["status"] == "added" - else "", + ( + "\ndeleted file mode 100644" + if f["status"] == "removed" + else "\nnew file mode 100644" if f["status"] == "added" else "" + ), "--- " + ( "/dev/null" @@ -1359,9 +1385,11 @@ def _pull(self, pull): commitid=pull["head"]["sha"], # Through empiric test data it seems that the "repo" key in "head" is set to None # If the PR is from the same repo (e.g. not from a fork) - slug=pull["head"]["repo"]["full_name"] - if pull["head"]["repo"] - else pull["base"]["repo"]["full_name"], + slug=( + pull["head"]["repo"]["full_name"] + if pull["head"]["repo"] + else pull["base"]["repo"]["full_name"] + ), ), state="merged" if pull["merged"] else pull["state"], title=pull["title"], From db61cbcb78d72aa390a313f037fa9bb6b24a8918 Mon Sep 17 00:00:00 2001 From: ajay-sentry <159853603+ajay-sentry@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:05:02 -0700 Subject: [PATCH 2/2] also log isSameToken (#168) --- shared/torngit/github.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/shared/torngit/github.py b/shared/torngit/github.py index 36ad90265..1bf4c60ad 100644 --- a/shared/torngit/github.py +++ b/shared/torngit/github.py @@ -198,7 +198,11 @@ async def api(self, *args, token=None, **kwargs): log.info( "Making Github API call", - extra=dict(has_token=bool(token), has_self_token=bool(self.token)), + extra=dict( + has_token=bool(token), + has_self_token=bool(self.token), + is_same_token=(token == self.token), + ), ) if not token_to_use: