Bug 1429998 - Exclude toolchain and package tasks from the target task set. r?dustin
Back in
bug 1360609, we added `run-on-projects` to a list so that the
toolchain tasks wouldn't run on every push on release branches.
Fast forward to now, and they're depended upon by other tasks, meaning
they are triggered when appropriate, without resorting to that trick. In
fact, the commit message for
bug 1360609 said we could switch to an
empty list once the jobs have dependencies.
The same is true from package tasks, which, in fact, I suspect would
happen on every push on release branches.
The only exception is for a few toolchains that are depended upon by
nothing, and that are produced for developer consumption with e.g. mach
artifact toolchain.
--- a/taskcluster/ci/packages/kind.yml
+++ b/taskcluster/ci/packages/kind.yml
@@ -12,16 +12,17 @@ transforms:
job-defaults:
treeherder:
kind: build
platform: packages/opt
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 1800
+ run-on-projects: []
jobs:
deb7-python:
description: "Python backport for Debian wheezy"
treeherder:
symbol: Deb7(python)
run:
using: debian-package
--- a/taskcluster/ci/toolchain/kind.yml
+++ b/taskcluster/ci/toolchain/kind.yml
@@ -5,12 +5,15 @@
loader: taskgraph.loader.transform:loader
transforms:
- taskgraph.transforms.try_job:transforms
- taskgraph.transforms.use_toolchains:transforms
- taskgraph.transforms.job:transforms
- taskgraph.transforms.task:transforms
+job-defaults:
+ run-on-projects: []
+
jobs-from:
- linux.yml
- macosx.yml
- windows.yml
--- a/taskcluster/ci/toolchain/linux.yml
+++ b/taskcluster/ci/toolchain/linux.yml
@@ -108,16 +108,19 @@ linux64-clang-tidy:
using: toolchain-script
script: build-clang-tidy-linux.sh
resources:
- 'build/clang-plugin/**'
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-tidy-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang-tidy.tar.xz
+ run-on-projects:
+ - trunk
+ - try
toolchains:
- linux64-gcc-4.9
linux64-gcc-4.9:
description: "GCC 4.9 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
@@ -443,16 +446,19 @@ linux64-gn:
run:
using: toolchain-script
script: build-gn-linux.sh
tooltool-downloads: public
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/build-gn-common.sh'
toolchain-artifact: public/build/gn.tar.xz
+ run-on-projects:
+ - trunk
+ - try
toolchains:
- linux64-gcc-4.9
linux64-upx:
description: "UPX build for MinGW32 Cross Compile"
treeherder:
kind: build
platform: toolchains/opt
--- a/taskcluster/ci/toolchain/macosx.yml
+++ b/taskcluster/ci/toolchain/macosx.yml
@@ -1,15 +1,18 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
job-defaults:
worker:
docker-image: {in-tree: toolchain-build}
+ run-on-projects:
+ - trunk
+ - try
macosx64-clang:
description: "Clang toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TM(clang)
tier: 1
--- a/taskcluster/ci/toolchain/windows.yml
+++ b/taskcluster/ci/toolchain/windows.yml
@@ -63,16 +63,19 @@ win32-clang-tidy:
using: toolchain-script
script: build-clang-tidy32-windows.sh
resources:
- 'build/clang-plugin/**'
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-tidy-win32.json'
- 'taskcluster/scripts/misc/build-clang-windows-helper32.sh'
toolchain-artifact: public/build/clang-tidy.tar.bz2
+ run-on-projects:
+ - trunk
+ - try
win64-clang-tidy:
description: "Clang-tidy toolchain build"
index:
product: static-analysis
job-name: win64-clang-tidy
treeherder:
kind: build
@@ -227,8 +230,11 @@ win32-gn:
TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/gn-build.manifest"
run:
using: toolchain-script
script: build-gn-win32.sh
resources:
- 'taskcluster/scripts/misc/tooltool-download.sh'
- 'taskcluster/scripts/misc/build-gn-common.sh'
toolchain-artifact: public/build/gn.tar.bz2
+ run-on-projects:
+ - trunk
+ - try
--- a/taskcluster/taskgraph/transforms/job/toolchain.py
+++ b/taskcluster/taskgraph/transforms/job/toolchain.py
@@ -111,17 +111,16 @@ toolchain_defaults = {
'sparse-profile': 'toolchain-build',
}
@run_job_using("docker-worker", "toolchain-script",
schema=toolchain_run_schema, defaults=toolchain_defaults)
def docker_worker_toolchain(config, job, taskdesc):
run = job['run']
- taskdesc['run-on-projects'] = ['trunk', 'try']
worker = taskdesc['worker']
worker['chain-of-trust'] = True
# Allow the job to specify where artifacts come from, but add
# public/build if it's not there already.
artifacts = worker.setdefault('artifacts', [])
if not any(artifact.get('name') == 'public/build' for artifact in artifacts):
@@ -183,17 +182,16 @@ def docker_worker_toolchain(config, job,
digest_data=get_digest_data(config, run, taskdesc),
)
@run_job_using("generic-worker", "toolchain-script",
schema=toolchain_run_schema, defaults=toolchain_defaults)
def windows_toolchain(config, job, taskdesc):
run = job['run']
- taskdesc['run-on-projects'] = ['trunk', 'try']
worker = taskdesc['worker']
worker['artifacts'] = [{
'path': r'public\build',
'type': 'directory',
}]
worker['chain-of-trust'] = True