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
--- 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