aboutsummaryrefslogtreecommitdiffstats
path: root/static-builds
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2022-08-12 17:46:27 +0200
committerGravatar Hassan Abouelela <[email protected]>2022-08-12 17:46:27 +0200
commitff9633d189ba37aa8c80cd8d168cc259f5ba21b3 (patch)
treed46883f757e7fbf8ea6af9df8942213f2062b8ff /static-builds
parentMerge pull request #742 from python-discord/github-artifacts (diff)
Raise Static Build After Waiting
Adds a missing raise in the static build for situations where everything was successful, but the build time passed the deadline specified by the site API. Signed-off-by: Hassan Abouelela <[email protected]>
Diffstat (limited to 'static-builds')
-rw-r--r--static-builds/netlify_build.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/static-builds/netlify_build.py b/static-builds/netlify_build.py
index a473bd91..7143a19a 100644
--- a/static-builds/netlify_build.py
+++ b/static-builds/netlify_build.py
@@ -15,6 +15,18 @@ from urllib import parse
import httpx
+
+def raise_response(response: httpx.Response) -> None:
+ """Raise an exception from a response if necessary."""
+ if response.status_code // 100 != 2:
+ try:
+ print(response.json())
+ except json.JSONDecodeError:
+ pass
+
+ response.raise_for_status()
+
+
if __name__ == "__main__":
owner, repo = parse.urlparse(os.getenv("REPOSITORY_URL")).path.lstrip("/").split("/")[0:2]
@@ -29,14 +41,7 @@ if __name__ == "__main__":
])
print(f"Fetching download URL from {download_url}")
response = httpx.get(download_url, follow_redirects=True)
-
- if response.status_code // 100 != 2:
- try:
- print(response.json())
- except json.JSONDecodeError:
- pass
-
- response.raise_for_status()
+ raise_response(response)
# The workflow is still pending, retry in a bit
while response.status_code == 202:
@@ -44,6 +49,7 @@ if __name__ == "__main__":
time.sleep(10)
response = httpx.get(download_url, follow_redirects=True)
+ raise_response(response)
url = response.json()["url"]
print(f"Downloading build from {url}")
zipped_content = httpx.get(url, follow_redirects=True)