aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-05-02 19:11:32 -0400
committerGitHub <noreply@github.com>2019-05-02 19:11:32 -0400
commit38e60136b83388c3cdc0afe377fe4e421d42a0f4 (patch)
tree4378c7ab1b54665f8ffec6d40c660e33fe934d62 /python/servo
parent9f6005be163520f9a06d5a51a0f81bc43f9ea5a3 (diff)
parente2d994b354dedeaee199a21badcdb291264d2637 (diff)
downloadservo-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.py40
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)