diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2019-05-02 19:11:32 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-02 19:11:32 -0400 |
commit | 38e60136b83388c3cdc0afe377fe4e421d42a0f4 (patch) | |
tree | 4378c7ab1b54665f8ffec6d40c660e33fe934d62 /python/servo | |
parent | 9f6005be163520f9a06d5a51a0f81bc43f9ea5a3 (diff) | |
parent | e2d994b354dedeaee199a21badcdb291264d2637 (diff) | |
download | servo-38e60136b83388c3cdc0afe377fe4e421d42a0f4.tar.gz servo-38e60136b83388c3cdc0afe377fe4e421d42a0f4.zip |
Auto merge of #23304 - jdm:nightly-taskcluster, r=SimonSapin
Transfer mac/windows/android nightly builds to Taskcluster
Fixes #23303.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23304)
<!-- Reviewable:end -->
Diffstat (limited to 'python/servo')
-rw-r--r-- | python/servo/package_commands.py | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py index 94a30dfe421..6dd788f5fa4 100644 --- a/python/servo/package_commands.py +++ b/python/servo/package_commands.py @@ -19,6 +19,7 @@ import shutil import subprocess import sys import tempfile +import urllib from mach.decorators import ( CommandArgument, @@ -538,9 +539,25 @@ class PackageCommands(CommandBase): @CommandArgument('platform', choices=PACKAGES.keys(), help='Package platform type to upload') - def upload_nightly(self, platform): + @CommandArgument('--secret-from-taskcluster', + action='store_true', + help='Retrieve the appropriate secrets from taskcluster.') + def upload_nightly(self, platform, secret_from_taskcluster): import boto3 + def get_taskcluster_secret(name): + url = "http://taskcluster/secrets/v1/secret/project/servo/" + name + return json.load(urllib.urlopen(url))["secret"] + + def get_s3_secret(): + aws_access_key = None + aws_secret_access_key = None + if secret_from_taskcluster: + secret = get_taskcluster_secret("s3-upload-credentials") + aws_access_key = secret["aws_access_key_id"] + aws_secret_access_key = secret["aws_secret_access_key"] + return (aws_access_key, aws_secret_access_key) + def nightly_filename(package, timestamp): return '{}-{}'.format( timestamp.isoformat() + 'Z', # The `Z` denotes UTC @@ -548,7 +565,12 @@ class PackageCommands(CommandBase): ) def upload_to_s3(platform, package, timestamp): - s3 = boto3.client('s3') + (aws_access_key, aws_secret_access_key) = get_s3_secret() + s3 = boto3.client( + 's3', + aws_access_key_id=aws_access_key, + aws_secret_access_key=aws_secret_access_key + ) BUCKET = 'servo-builds' nightly_dir = 'nightly/{}'.format(platform) @@ -565,7 +587,12 @@ class PackageCommands(CommandBase): s3.copy(copy_source, BUCKET, latest_upload_key) def update_maven(directory): - s3 = boto3.client('s3') + (aws_access_key, aws_secret_access_key) = get_s3_secret() + s3 = boto3.client( + 's3', + aws_access_key_id=aws_access_key, + aws_secret_access_key=aws_secret_access_key + ) BUCKET = 'servo-builds' nightly_dir = 'nightly/maven' @@ -626,13 +653,18 @@ class PackageCommands(CommandBase): '--message=Version Bump: {}'.format(brew_version), ]) + if secret_from_taskcluster: + token = get_taskcluster_secret('github-homebrew-token')["token"] + else: + token = os.environ['GITHUB_HOMEBREW_TOKEN'] + push_url = 'https://{}@github.com/servo/homebrew-servo.git' # TODO(aneeshusa): Use subprocess.DEVNULL with Python 3.3+ with open(os.devnull, 'wb') as DEVNULL: call_git([ 'push', '-qf', - push_url.format(os.environ['GITHUB_HOMEBREW_TOKEN']), + push_url.format(token), 'master', ], stdout=DEVNULL, stderr=DEVNULL) |