From 56b72b173825a4f82e20db0aa38754bfed45d8b6 Mon Sep 17 00:00:00 2001 From: Jack O'Connor Date: Sun, 20 Nov 2022 17:08:49 -0800 Subject: [PATCH] add another retry loop to upload_github_release_asset.py While we're at it, black format the .py files in this directory. --- .github/workflows/build_b3sum.py | 5 +++-- .../workflows/upload_github_release_asset.py | 20 +++++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_b3sum.py b/.github/workflows/build_b3sum.py index e487daf..f0e1787 100644 --- a/.github/workflows/build_b3sum.py +++ b/.github/workflows/build_b3sum.py @@ -9,8 +9,9 @@ import sys ROOT = Path(__file__).parent.parent.parent RUST_TARGET = sys.argv[1] -subprocess.run(["cargo", "build", "--target", sys.argv[1], "--release"], - cwd=ROOT / "b3sum") +subprocess.run( + ["cargo", "build", "--target", sys.argv[1], "--release"], cwd=ROOT / "b3sum" +) if platform.system() == "Windows": original_exe_name = "b3sum.exe" diff --git a/.github/workflows/upload_github_release_asset.py b/.github/workflows/upload_github_release_asset.py index c1cbf51..76340be 100755 --- a/.github/workflows/upload_github_release_asset.py +++ b/.github/workflows/upload_github_release_asset.py @@ -3,6 +3,7 @@ import github import os import sys +import time RETRIES = 10 @@ -10,7 +11,7 @@ g = github.Github(os.environ["GITHUB_TOKEN"]) tag_name = os.environ["GITHUB_TAG"] tag_prefix = "refs/tags/" if tag_name.startswith(tag_prefix): - tag_name = tag_name[len(tag_prefix):] + tag_name = tag_name[len(tag_prefix) :] assert len(sys.argv) == 2 asset_path = sys.argv[1] asset_name = os.path.basename(asset_path) @@ -34,13 +35,20 @@ except github.GithubException as github_error: else: raise -releases = list(repo.get_releases()) -for release in releases: - if release.tag_name == tag_name: - break -else: + +def get_release(): + for i in range(RETRIES): + releases = list(repo.get_releases()) + for release in releases: + if release.tag_name == tag_name: + return release + print(f"Release for tag {repr(tag_name)} not found. Retrying...") + time.sleep(1) raise RuntimeError("no release for tag " + repr(tag_name)) + +release = get_release() + print("Uploading " + repr(asset_path) + "...") for i in range(RETRIES): try: