diff options
| author | Jack O'Connor <[email protected]> | 2022-11-20 17:08:49 -0800 |
|---|---|---|
| committer | Jack O'Connor <[email protected]> | 2022-11-20 17:18:35 -0800 |
| commit | 56b72b173825a4f82e20db0aa38754bfed45d8b6 (patch) | |
| tree | 0c2f79f3987c0e47a3881289810dfe47d87c759c /.github/workflows/upload_github_release_asset.py | |
| parent | 537e96747a7a7962a49fc68c3cc349c90646ac2f (diff) | |
add another retry loop to upload_github_release_asset.py
While we're at it, black format the .py files in this directory.
Diffstat (limited to '.github/workflows/upload_github_release_asset.py')
| -rwxr-xr-x | .github/workflows/upload_github_release_asset.py | 20 |
1 files changed, 14 insertions, 6 deletions
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: |
