Bug 1372721 - Add a "trunk" alias for run-on-projects; r=dustin
authorGregory Szorc <gps@mozilla.com>
Tue, 13 Jun 2017 14:42:04 -0700
changeset 363782 c3a290d58b7d0cc2415cf66071283018b7531be0
parent 363781 943eb1e43eb09fbc78eaa924ebad806a03c85731
child 363783 dd53b9dd22eccffca4331c5b55abde29359d5789
push id32025
push usercbook@mozilla.com
push dateWed, 14 Jun 2017 10:40:41 +0000
treeherdermozilla-central@ad3f1138ce6f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdustin
bugs1372721
milestone56.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 1372721 - Add a "trunk" alias for run-on-projects; r=dustin {central, autoland, inbound} are logically treated as a single unit for many tasks and policies. Let's formalize that collection via a "trunk" alias. MozReview-Commit-ID: H4JPTyu2J2F
taskcluster/ci/build/linux.yml
taskcluster/ci/build/macosx.yml
taskcluster/ci/build/windows.yml
taskcluster/ci/test/tests.yml
taskcluster/docs/attributes.rst
taskcluster/taskgraph/util/attributes.py
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -417,17 +417,17 @@ linux64-stylo/opt:
         config:
             - builds/releng_base_linux_64_builds.py
             - balrog/production.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: stylo
         tooltool-downloads: public
         need-xvfb: true
-    run-on-projects: [ 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
+    run-on-projects: [ 'trunk', 'try' ]
 
 linux64-stylo/debug:
     description: "Linux64 Debug Stylo"
     index:
         product: firefox
         job-name: linux64-stylo-debug
     treeherder:
         platform: linux64-stylo/debug
@@ -444,17 +444,17 @@ linux64-stylo/debug:
         config:
             - builds/releng_base_linux_64_builds.py
             - balrog/production.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: stylo-debug
         tooltool-downloads: public
         need-xvfb: true
-    run-on-projects: [ 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
+    run-on-projects: [ 'trunk', 'try' ]
 
 linux64-noopt/debug:
     description: "Linux64 No-optimize Debug"
     index:
         product: firefox
         job-name: linux64-noopt-debug
     treeherder:
         platform: linux64-noopt/debug
@@ -472,17 +472,17 @@ linux64-noopt/debug:
             - builds/releng_base_linux_64_builds.py
             - balrog/production.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: noopt-debug
         tooltool-downloads: public
         keep-artifacts: false
         need-xvfb: true
-    run-on-projects: [ 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
+    run-on-projects: [ 'trunk', 'try' ]
 
 linux64-jsdcov/opt:
     description: "Linux64-JSDCov Opt"
     index:
         product: firefox
         job-name: linux64-jsdcov-opt
     treeherder:
         platform: linux64-jsdcov/opt
--- a/taskcluster/ci/build/macosx.yml
+++ b/taskcluster/ci/build/macosx.yml
@@ -64,17 +64,17 @@ macosx64-noopt/debug:
         config:
             - builds/releng_base_mac_64_cross_builds.py
             - balrog/production.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: cross-noopt-debug
         tooltool-downloads: internal
         keep-artifacts: false
-    run-on-projects: [ 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
+    run-on-projects: [ 'trunk', 'try' ]
 
 macosx64-add-on-devel/opt:
     description: "MacOS X x64 add-on-devel"
     index:
         product: firefox
         job-name: macosx64-add-on-devel
     treeherder:
         platform: osx-10-7-add-on-devel/opt
--- a/taskcluster/ci/build/windows.yml
+++ b/taskcluster/ci/build/windows.yml
@@ -204,17 +204,17 @@ win64-noopt/debug:
         max-run-time: 7200
         env:
             TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
     run:
         using: mozharness
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/taskcluster_firefox_win64_noopt_debug.py
-    run-on-projects: [ 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
+    run-on-projects: [ 'trunk', 'try' ]
 
 win32-noopt/debug:
     description: "Win32 No-optimize Debug"
     index:
         product: firefox
         job-name: win32-noopt-debug
     treeherder:
         platform: windows2012-32-noopt/debug
@@ -225,17 +225,17 @@ win32-noopt/debug:
         max-run-time: 7200
         env:
             TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
     run:
         using: mozharness
         script: mozharness/scripts/fx_desktop_build.py
         config:
             - builds/taskcluster_firefox_win32_noopt_debug.py
-    run-on-projects: [ 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
+    run-on-projects: [ 'trunk', 'try' ]
 
 win64-asan/debug:
     description: "Win64 Debug ASAN"
     index:
         product: firefox
         job-name: win64-asan-debug
     treeherder:
         platform: windows2012-64/asan
--- a/taskcluster/ci/test/tests.yml
+++ b/taskcluster/ci/test/tests.yml
@@ -4,17 +4,17 @@
 # for a description of the fields used here.
 
 # Note that these are in lexical order, as enforced by the task loader.
 
 awsy:
     description: "Are we slim yet"
     suite: awsy
     treeherder-symbol: tc-SY(sy)
-    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    run-on-projects: ['release', 'trunk', 'try']
     docker-image: {"in-tree": "desktop1604-test"}
     max-run-time: 7200
     e10s: true
     instance-size: xlarge
     allow-software-gl-layers: false
     mozharness:
         script: awsy_script.py
         config:
--- a/taskcluster/docs/attributes.rst
+++ b/taskcluster/docs/attributes.rst
@@ -21,18 +21,19 @@ A task's ``kind`` attribute gives the na
 
 run_on_projects
 ===============
 
 The projects where this task should be in the target task set.  This is how
 requirements like "only run this on inbound" get implemented.  These are
 either project names or the aliases
 
- * `integration` -- integration branches
- * `release` -- release branches including mozilla-central
+ * `integration` -- integration repositories (autoland, inbound, etc)
+ * `trunk` -- integration repositories plus mozilla-central
+ * `release` -- release repositories including mozilla-central
  * `all` -- everywhere (the default)
 
 For try, this attribute applies only if ``-p all`` is specified.  All jobs can
 be specified by name regardless of ``run_on_projects``.
 
 If ``run_on_projects`` is set to an empty list, then the task will not run
 anywhere, unless its build platform is specified explicitly in try syntax.
 
--- a/taskcluster/taskgraph/util/attributes.py
+++ b/taskcluster/taskgraph/util/attributes.py
@@ -5,16 +5,18 @@
 import re
 
 
 INTEGRATION_PROJECTS = {
     'mozilla-inbound',
     'autoland',
 }
 
+TRUNK_PROJECTS = INTEGRATION_PROJECTS | {'mozilla-central',}
+
 RELEASE_PROJECTS = {
     'mozilla-central',
     'mozilla-aurora',
     'mozilla-beta',
     'mozilla-release',
 }
 
 
@@ -69,9 +71,13 @@ def match_run_on_projects(project, run_o
     if 'all' in run_on_projects:
         return True
     if 'integration' in run_on_projects:
         if project in INTEGRATION_PROJECTS:
             return True
     if 'release' in run_on_projects:
         if project in RELEASE_PROJECTS:
             return True
+    if 'trunk' in run_on_projects:
+        if project in TRUNK_PROJECTS:
+            return True
+
     return project in run_on_projects