diff options
Diffstat (limited to 'tasks.py')
-rw-r--r-- | tasks.py | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -12,8 +12,30 @@ # limitations under the License. from __future__ import absolute_import, division, print_function +import getpass +import time + import invoke +import requests + + +JENKINS_URL = "http://jenkins.cryptography.io/job/cryptography-wheel-builder" + + +def wait_for_build_completed(): + while True: + response = requests.get( + "{0}/lastBuild/api/json/".format(JENKINS_URL), + headers={ + "Accept": "application/json", + } + ) + response.raise_for_status() + if not response.json()["building"]: + break + time.sleep(0.1) + @invoke.task def release(version): @@ -25,3 +47,14 @@ def release(version): invoke.run("python setup.py sdist") invoke.run("twine upload -s dist/cryptography-{0}*".format(version)) + + token = getpass.getpass("Input the Jenkins token") + response = requests.post( + "{0}/build".format(JENKINS_URL), + params={ + "token": token, + "cause": "Building wheels for {0}".format(version) + } + ) + response.raise_for_status() + wait_for_build_completed() |