diff --git a/.taskcluster.yml b/.taskcluster.yml index 50387e5ac9b..511bb6ee02e 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -27,9 +27,14 @@ tasks: scopes: - "assume:repo:github.com/servo/servo:branch:${event.ref[11:]}" routes: - # len("refs/heads/") == 11, so event.ref[11:] is the branch name - - "tc-treeherder.v2._/servo-${event.ref[11:]}.${event.after}" - - "tc-treeherder-staging.v2._/servo-${event.ref[11:]}.${event.after}" + $let: + treeherder_repo: + $if: "event.ref[:15] != 'refs/heads/try-'" + then: "servo-${event.ref[11:]}" + else: "servo-try" + in: + - "tc-treeherder.v2._/${treeherder_repo}.${event.after}" + - "tc-treeherder-staging.v2._/${treeherder_repo}.${event.after}" extra: treeherder: machine: {platform: Linux} diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml index 19cf92fabf0..7650bbe58ab 100644 --- a/etc/ci/buildbot_steps.yml +++ b/etc/ci/buildbot_steps.yml @@ -105,8 +105,6 @@ linux-nightly: - ./mach clean-cargo-cache --keep 3 --force - ./etc/ci/clean_build_artifacts.sh - ./mach build --release -p servo - - ./mach package --release - - ./mach upload-nightly linux - ./mach test-perf - python3 ./etc/ci/performance/download_buildbot_timings.py --verbose - aws s3 sync --size-only --acl public-read ./etc/ci/performance/output s3://servo-perf diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index 662f64aabef..d70f9323d0a 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -73,6 +73,7 @@ def main(task_for): elif task_for == "daily": daily_tasks_setup() with_rust_nightly() + linux_nightly() # These are disabled in a "real" decision task, @@ -298,6 +299,31 @@ def windows_release(): ) +def linux_nightly(): + return ( + linux_build_task("Nightly build and upload") + .with_treeherder("Linux x64", "Nightly") + .with_features("taskclusterProxy") + .with_scopes("secrets:get:project/servo/s3-upload") + .with_env(PY=r"""if 1: + import urllib, json + 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"]) + """) + # Not reusing the build made for WPT because it has debug assertions + .with_script(""" + ./mach build --release + ./mach package --release + mkdir /root/.aws + python -c "$PY" + ./mach upload-nightly linux + """) + .with_artifacts("/repo/target/release/servo-tech-demo.tar.gz") + .find_or_create("build.linux_x64_nightly" + CONFIG.git_sha) + ) + + def linux_wpt(): release_build_task = linux_release_build(with_debug_assertions=True) total_chunks = 2