summaryrefslogtreecommitdiff
path: root/script
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2018-06-21 13:27:42 -0700
committerJoffrey F <joffrey@docker.com>2018-06-21 13:28:13 -0700
commite8af19daa32b5b5ccbad966df425b57cd3926299 (patch)
tree3e4c6a8fe76c0bf37b748467990d132e8a8eb651 /script
parent156ce2bc1d478bf822e80400d43a14424c55442b (diff)
Fix release script
Signed-off-by: Joffrey F <joffrey@docker.com>
Diffstat (limited to 'script')
-rwxr-xr-xscript/release/release.py7
-rw-r--r--script/release/release/bintray.py10
2 files changed, 15 insertions, 2 deletions
diff --git a/script/release/release.py b/script/release/release.py
index d0545a7e..476adc4c 100755
--- a/script/release/release.py
+++ b/script/release/release.py
@@ -58,8 +58,11 @@ def create_bump_commit(repository, release_branch, bintray_user, bintray_org):
repository.push_branch_to_remote(release_branch)
bintray_api = BintrayAPI(os.environ['BINTRAY_TOKEN'], bintray_user)
- print('Creating data repository {} on bintray'.format(release_branch.name))
- bintray_api.create_repository(bintray_org, release_branch.name, 'generic')
+ if not bintray_api.repository_exists(bintray_org, release_branch.name):
+ print('Creating data repository {} on bintray'.format(release_branch.name))
+ bintray_api.create_repository(bintray_org, release_branch.name, 'generic')
+ else:
+ print('Bintray repository {} already exists. Skipping'.format(release_branch.name))
def monitor_pr_status(pr_data):
diff --git a/script/release/release/bintray.py b/script/release/release/bintray.py
index 554611a4..d9986875 100644
--- a/script/release/release/bintray.py
+++ b/script/release/release/bintray.py
@@ -29,6 +29,16 @@ class BintrayAPI(requests.Session):
result.raise_for_status()
return result
+ def repository_exists(self, subject, repo_name):
+ url = '{base}/repos/{subject}/{repo_name}'.format(
+ base=self.base_url, subject=subject, repo_name=repo_name,
+ )
+ result = self.get(url)
+ if result.status_code == 404:
+ return False
+ result.raise_for_status()
+ return True
+
def delete_repository(self, subject, repo_name):
url = '{base}/repos/{subject}/{repo_name}'.format(
base=self.base_url, subject=subject, repo_name=repo_name,