1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

CI: Handle more errors when connecting to the GitHub API

This commit is contained in:
Tom Poole 2025-06-17 09:44:11 +01:00
parent f371fecb34
commit a5797efeb0

View file

@ -2,7 +2,7 @@ from configure_logger import configure_logger
from logging import getLogger from logging import getLogger
from urllib.request import Request, urlopen from urllib.request import Request, urlopen
from urllib.error import HTTPError from urllib.error import HTTPError, URLError
from json import dumps, loads from json import dumps, loads
from os import environ from os import environ
from shutil import copyfileobj from shutil import copyfileobj
@ -33,13 +33,13 @@ def github_api_request(path, method='GET', data=None):
try: try:
response = urlopen(req) response = urlopen(req)
return response return response
except HTTPError as e: except (HTTPError, URLError) as e:
num_attempts += 1 num_attempts += 1
if num_attempts == 3: if num_attempts == 3:
logger.warning(f'GitHub API access failed\n{e.headers}\n{e.fp.read()}') logger.warning(f'GitHub API access failed\n{e.reason}\n{e.headers}\n{e.fp.read()}')
raise e raise e
logger.debug(f'Request attempt {num_attempts} failed, retrying') logger.debug(f'Request attempt {num_attempts} failed, retrying')
sleep(5) sleep(10)
def json_github_api_request(path, method='GET', data=None): def json_github_api_request(path, method='GET', data=None):
with github_api_request(path, method, data) as response: with github_api_request(path, method, data) as response: