diff --git a/appveyor.yml b/appveyor.yml index 942707d07..6630e3425 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -41,6 +41,7 @@ build_script: - python zip_daemon.py - dir dist - pip install PyGithub uritemplate + - pip install -U requests[security] - python release_on_tag.py test: off diff --git a/build.sh b/build.sh index 4c3eb8535..b8c695d2c 100755 --- a/build.sh +++ b/build.sh @@ -84,6 +84,7 @@ if [ "$FULL_BUILD" == "true" ]; then # it to reliably work and it also seemed difficult to configure. Not proud of # this, but it seemed better to write my own. pip install PyGithub uritemplate + pip install -U requests[security] python release_on_tag.py deactivate fi diff --git a/release_on_tag.py b/release_on_tag.py index 29da18051..b26b305c4 100644 --- a/release_on_tag.py +++ b/release_on_tag.py @@ -4,6 +4,7 @@ import json import logging import os import platform +import random import re import subprocess import sys @@ -89,15 +90,18 @@ def upload_asset(release, asset_to_upload, token): while count < 10: uploader = uploaders[count % len(uploaders)] try: - return _upload_asset_requests(release, asset_to_upload, token, uploader) + return _upload_asset(release, asset_to_upload, token, uploader) except Exception: log.exception('Failed to upload') count += 1 -def _upload_asset_requests(release, asset_to_upload, token, uploader): +def _upload_asset(release, asset_to_upload, token, uploader): basename = os.path.basename(asset_to_upload) - upload_uri = uritemplate.expand(release.upload_url, {'name': basename}) + upload_uri = uritemplate.expand( + release.upload_url, + {'name': ''.join([random.choice('abcdef') for _ in range(10)])} + ) output = uploader(upload_uri, asset_to_upload, token) if 'errors' in output: raise Exception(output)