Bug 1429998 - Exclude toolchain and package tasks from the target task set. r=dustin
authorMike Hommey <mh+mozilla@glandium.org>
Wed, 17 Jan 2018 14:30:57 +0900
changeset 454062 2b06dfba4557a49e7f271f4091fcac3eb79297d2
parent 454061 881f72630743689008bc0662a69a960ba630fce9
child 454063 13c36da892b2dc4b9ba9461d6038f5d78754d58f
push id1648
push usermtabara@mozilla.com
push dateThu, 01 Mar 2018 12:45:47 +0000
treeherdermozilla-release@cbb9688c2eeb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1429998, 1360609
milestone59.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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.
taskcluster/ci/packages/kind.yml
taskcluster/ci/toolchain/kind.yml
taskcluster/ci/toolchain/linux.yml
taskcluster/ci/toolchain/macosx.yml
taskcluster/ci/toolchain/windows.yml
taskcluster/taskgraph/transforms/job/toolchain.py
--- 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
@@ -460,16 +463,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