Move windows and mac nightly builds to taskcluster.

This commit is contained in:
Josh Matthews 2019-05-02 00:00:21 -04:00
parent 6ded5c9707
commit e0e8f64f54
4 changed files with 55 additions and 27 deletions

View file

@ -43,16 +43,6 @@ mac-rel-css2:
- ./mach test-wpt --release --processes 4 --total-chunks 6 --this-chunk 6 --log-raw test-wpt.log --log-errorsummary wpt-errorsummary.log --always-succeed
- ./mach filter-intermittents wpt-errorsummary.log --log-intermittents intermittents.log --log-filteredsummary filtered-wpt-errorsummary.log --tracker-api default --reporter-api default
mac-nightly:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- env PKG_CONFIG_PATH=/usr/local/opt/zlib/lib/pkgconfig ./mach build --release
- ./mach package --release
- ./mach upload-nightly mac
- ./etc/ci/update-wpt-checkout fetch-and-update-expectations
- ./etc/ci/update-wpt-checkout open-pr
- ./etc/ci/update-wpt-checkout cleanup
linux-rel-intermittent:
env:
CC: gcc-5
@ -231,16 +221,6 @@ arm64:
- bash ./etc/ci/lockfile_changed.sh
- ./etc/ci/clean_build_artifacts.sh
windows-msvc-nightly:
env:
CARGO_HOME: C:\buildbot\.cargo
commands:
- mach.bat clean-cargo-cache --keep 3 --force
- mach.bat clean-nightlies --keep 3 --force
- mach.bat build --release
- mach.bat package --release
- mach.bat upload-nightly windows-msvc
# Moved to Taskcluster
linux-dev: []
mac-dev-unit: []
@ -249,3 +229,5 @@ android: []
android-x86: []
mac-rel-wpt1: []
android-nightly: []
windows-msvc-nightly: []
mac-nightly: []

View file

@ -85,6 +85,7 @@ function unsafe_update_metadata() {
# against servo/servo.
function unsafe_open_pull_request() {
WPT_SYNC_USER=servo-wpt-sync
WPT_SYNC_TOKEN=`cat .wpt-token`
# If the branch doesn't exist, we'll silently exit. This deals with the
# case where an earlier step either failed or discovered that syncing
@ -92,7 +93,7 @@ function unsafe_open_pull_request() {
git checkout "${BRANCH_NAME}" || return 0
if [[ -z "${WPT_SYNC_TOKEN+set}" ]]; then
echo "Github auth token missing from WPT_SYNC_TOKEN."
echo "Github auth token missing from .wpt-token file."
return 1
fi

View file

@ -92,6 +92,8 @@ def main(task_for):
linux_nightly()
android_nightly("arm")
android_nightly("x86")
windows_nightly()
macos_nightly()
# These are disabled in a "real" decision task,
@ -391,6 +393,20 @@ def windows_release():
)
def windows_nightly():
return (
windows_build_task("Release build")
.with_treeherder("Windows x64", "Nightly")
.with_script("mach build --release",
"mach package --release")
.with_s3_upload_secret()
.with_script("mach upload-nightly windows-msvc")
.with_artifacts("repo/target/release/msi/Servo.exe",
"repo/target/release/msi/Servo.zip")
.find_or_create("build.windows_x64_nightly." + CONFIG.git_sha)
)
def linux_nightly():
return (
linux_build_task("Nightly build and upload")
@ -431,6 +447,35 @@ def linux_wpt():
total_chunks=2, processes=24)
def macos_nightly():
return (
macos_build_task("Release build")
.with_treeherder("macOS x64", "Nightly")
.with_features("taskclusterProxy")
.with_script("""
./mach build --release
./mach package --release
""")
.with_s3_upload_secret()
.with_script("./mach upload-nightly mac")
.with_artifacts("repo/target/release/servo-tech-demo.dmg")
.with_scopes("secrets:get:project/servo/wpt-sync")
.with_env(PY2="""if 1:
import urllib, json
url = "http://taskcluster/secrets/v1/secret/project/servo/wpt-sync"
token = json.load(urllib.urlopen(url))["secret"]["token"]
open(".wpt-token", "w").write(token)
""")
.with_script("""
python -c "$PY2"
./etc/ci/update-wpt-checkout fetch-and-update-expectations
./etc/ci/update-wpt-checkout open-pr
./etc/ci/update-wpt-checkout cleanup
""")
.find_or_create("build.mac_x64_nightly." + CONFIG.git_sha)
)
def macos_wpt():
build_task = (
macos_build_task("Release build")

View file

@ -178,15 +178,15 @@ class Task:
self
.with_scopes("secrets:get:project/servo/s3-upload")
.with_env(PY=r"""if 1:
import urllib, json
import urllib, json, os
from os.path import expanduser, join
url = "http://taskcluster/secrets/v1/secret/project/servo/s3-upload"
secret = json.load(urllib.urlopen(url))["secret"]
open("/root/.aws/credentials", "w").write(secret["credentials_file"])
""")
.with_script("""
mkdir /root/.aws
python -c "$PY"
aws_dir = expanduser("~/.aws")
os.mkdir(aws_dir)
open(join(aws_dir, "credentials"), "w").write(secret["credentials_file"])
""")
.with_script('python -c "$PY"')
)
def build_worker_payload(self): # pragma: no cover