From f2a09a97b2562e8180600608735f6980fdf373d2 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 25 Sep 2019 21:09:44 +0200 Subject: build_release: Add retry functionality for GitHub upload --- scripts/dev/build_release.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/scripts/dev/build_release.py b/scripts/dev/build_release.py index 006b1a99a..7e7e6051f 100755 --- a/scripts/dev/build_release.py +++ b/scripts/dev/build_release.py @@ -407,6 +407,7 @@ def github_upload(artifacts, tag): tag: The name of the release tag """ import github3 + import github3.exceptions utils.print_title("Uploading to github...") token = read_github_token() @@ -421,9 +422,17 @@ def github_upload(artifacts, tag): raise Exception("No release found for {!r}!".format(tag)) for filename, mimetype, description in artifacts: - with open(filename, 'rb') as f: - basename = os.path.basename(filename) - asset = release.upload_asset(mimetype, basename, f) + while True: + try: + with open(filename, 'rb') as f: + basename = os.path.basename(filename) + asset = release.upload_asset(mimetype, basename, f) + except github3.exceptions.ConnectionError as e: + utils.print_col('Failed to upload: {}'.format(e), 'red') + print("Press Enter to retry...") + input() + else: + break asset.edit(basename, description) -- cgit v1.2.3-54-g00ecf