Explorar o código

Fix release script

Signed-off-by: Joffrey F <[email protected]>
Joffrey F %!s(int64=7) %!d(string=hai) anos
pai
achega
a82986943b
Modificáronse 2 ficheiros con 15 adicións e 2 borrados
  1. 5 2
      script/release/release.py
  2. 10 0
      script/release/release/bintray.py

+ 5 - 2
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):

+ 10 - 0
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,