This introduces a completely new way of specifying test task in-tree,
completely replacing the old spider-web of YAML files.
The high-level view is this:
- some configuration files are used to determine which test suites to run
for each test platform, and against which build platforms
- each test suite is then represented by a dictionary, and modified by a
sequence of transforms, duplicating as necessary (e.g., chunks), until
it becomes a task definition
The transforms allow sufficient generality to support just about any desired
configuration, with the advantage that common configurations are "easy" while
unusual configurations are supported but notable for their oddness (they
require a custom transform).
As of this commit, this system produces the same set of test graphs as the
existing YAML, modulo:
- extra.treeherder.groupName -- this was not consistent in the YAML
- extra.treeherder.build -- this is ignored by taskcluster-treeherder anyway
- mozharness command argument order
- boolean True values for environment variables are now the string "true"
- metadata -- this is now much more consistent, with task name being the label
Testing of this commit demonstrates that it produces the same set of test tasks for
the following projects (those which had special cases defined in the YAML):
- autoland
- ash (*)
- willow
- mozilla-inbound
- mozilla-central
- try:
-b do -p all -t all -u all
-b d -p linux64,linux64-asan -u reftest -t none
-b d -p linux64,linux64-asan -u reftest[x64] -t none[x64]
(*) this patch omits the linux64/debug tc-M-e10s(dt) test, which is enabled on
ash; ash will require a small changeset to re-enable this test.
IGNORE BAD COMMIT MESSAGES (because the hook flags try syntax!)
MozReview-Commit-ID: G34dg9f17Hq
--HG--
rename : taskcluster/taskgraph/kind/base.py => taskcluster/taskgraph/task/base.py
rename : taskcluster/taskgraph/kind/docker_image.py => taskcluster/taskgraph/task/docker_image.py
rename : taskcluster/taskgraph/kind/legacy.py => taskcluster/taskgraph/task/legacy.py
extra : rebase_source : 03e70902c2d3a297eb9e3ce852f8737c2550d5a6
extra : histedit_source : d4d9f4b192605af21f41d83495fc3c923759c3cb
MOZ_NODE_PATH should not be set for Android tests. Rather than setting it to
the literal "None", this omits the environment variable on that platform.
Only `fx_docker_desktop_generic.yml` (and now `fx_docker_android_generic.yml`)
inherit from `fx_docker_test_base.yml`. And `fx_android-api-15_generic.yml` is
the only Android-related YAML file to inherit from
`fx_docker_desktop_generic.yml`.
MozReview-Commit-ID: 7BhGXk9c8ir
--HG--
extra : rebase_source : 8190d2f6f2368acd1c9c11a3e16062e4589a23ac
This makes the two copies of the suite consistent.
MozReview-Commit-ID: FhxzwQlERnD
--HG--
extra : rebase_source : e13291d9d852521cd9af9de79addc58ccfe62949
extra : source : 85f75a951f93fb7105cd9613ed98d041575c6a35
For all of ther suites, the -e10s is attached to the group symbol, not the job
symbol.
MozReview-Commit-ID: BZcRCnEMy5U
--HG--
extra : rebase_source : 6b0b294d8ece3b325fd3af43a60f994427b9ddd8
extra : source : 05714f5e19e6353aaf1f96540e70ba2385bbee89
This makes the instance size consistent for the whole suite
MozReview-Commit-ID: 8s6n6BwXSjB
--HG--
extra : rebase_source : 87744db0ff2122cde214e22dc356af3ee3b87503
extra : source : 46e29447f7f31124baae8008ec0033b1b3dddbe0
looks like we have to be more explicit with each build and suite compared to
https://bugzilla.mozilla.org/show_bug.cgi?id=1243024
but the way we bump this to tier 1 will likely change as
https://bugzilla.mozilla.org/show_bug.cgi?id=1281004 lands
as per dev.planning announcement and coop's email, we are going to try making
tc tier 2 jobs more critical for less critical jobs, e.g. debug builds, by
making them tier 1.
MozReview-Commit-ID: 4IwNCjOHo7x
--HG--
extra : source : 0b6844851660c49267f74d589345ebdaeb304db6
extra : amend_source : cd1507f8d9c6be75c68929051bbf8ee30cfe9cee
note, as bug 1281004 is about to land, I might require a new patch as we move
away from legacy towards da futures!
this yielded:
current bbot opt routes:
"index.gecko.v2.try.revision.f40f15f50508b78e369c8ac5e6a8743bcd064193.mobile.android-api-15-opt",
"index.gecko.v2.try.pushdate.2016.07.11.20160711204636.mobile.android-api-15-opt",
"index.gecko.v2.try.latest.mobile.android-api-15-opt",
"index.buildbot.branches.try.android-api-15",
"index.buildbot.revisions.f40f15f50508b78e369c8ac5e6a8743bcd064193.try.android-api-15"
my patch tc opt routes:
"index.gecko.v1.try.revision.linux.f40f15f50508b78e369c8ac5e6a8743bcd064193.android-api-15.opt",
"index.gecko.v1.try.latest.linux.android-api-15.opt",
"index.buildbot.branches.try.android-api-15",
"index.buildbot.revisions.f40f15f50508b78e369c8ac5e6a8743bcd064193.try.android-api-15",
"tc-treeherder.v2.try.f40f15f50508b78e369c8ac5e6a8743bcd064193.133427",
"tc-treeherder-stage.v2.try.f40f15f50508b78e369c8ac5e6a8743bcd064193.133427",
"index.gecko.v2.try.revision.f40f15f50508b78e369c8ac5e6a8743bcd064193.mobile.android-api-15-opt",
"index.gecko.v2.try.pushdate.2016.07.11.20160711204636.mobile.android-api-15-opt",
"index.gecko.v2.try.latest.mobile.android-api-15-opt"
current bbot debug routes:
"index.gecko.v2.try.revision.f40f15f50508b78e369c8ac5e6a8743bcd064193.mobile.android-api-15-debug",
"index.gecko.v2.try.pushdate.2016.07.11.20160711204636.mobile.android-api-15-debug",
"index.gecko.v2.try.latest.mobile.android-api-15-debug",
"index.buildbot.branches.try.android-api-15-debug",
"index.buildbot.revisions.f40f15f50508b78e369c8ac5e6a8743bcd064193.try.android-api-15-debug"
my patch tc debug routes:
"index.gecko.v1.try.revision.linux.f40f15f50508b78e369c8ac5e6a8743bcd064193.android-api-15.debug",
"index.gecko.v1.try.latest.linux.android-api-15.debug",
"index.buildbot.branches.try.android-api-15-debug",
"index.buildbot.revisions.f40f15f50508b78e369c8ac5e6a8743bcd064193.try.android-api-15-debug",
"tc-treeherder.v2.try.f40f15f50508b78e369c8ac5e6a8743bcd064193.133427",
"tc-treeherder-stage.v2.try.f40f15f50508b78e369c8ac5e6a8743bcd064193.133427",
"index.gecko.v2.try.revision.f40f15f50508b78e369c8ac5e6a8743bcd064193.mobile.android-api-15-debug",
"index.gecko.v2.try.pushdate.2016.07.11.20160711204636.mobile.android-api-15-debug",
"index.gecko.v2.try.latest.mobile.android-api-15-debug"
so all looks well and as a bonus, the index.buildbot routes now match too.
MozReview-Commit-ID: 5HilJOpONst
--HG--
extra : rebase_source : 24a3c895681284a8dca16cbf3b2a47b66eaa1f08
extra : amend_source : b8b8b91c9787e26a6dd6d54fbe39cb9cb515056b
This makes the two copies of the suite consistent.
MozReview-Commit-ID: FhxzwQlERnD
--HG--
extra : rebase_source : 5400f06ac4c75d13c2cd5f1c81beac92eadb63bb
extra : source : 85f75a951f93fb7105cd9613ed98d041575c6a35
For all of ther suites, the -e10s is attached to the group symbol, not the job
symbol.
MozReview-Commit-ID: BZcRCnEMy5U
--HG--
extra : rebase_source : 2c8d973d224c91ae844bbb99248a736437777d80
extra : source : 05714f5e19e6353aaf1f96540e70ba2385bbee89
This makes the instance size consistent for the whole suite
MozReview-Commit-ID: 8s6n6BwXSjB
--HG--
extra : rebase_source : b0f252bc975316db7f77c9a3893f85c2d18c6e06
extra : source : 46e29447f7f31124baae8008ec0033b1b3dddbe0
This makes the two copies of the suite consistent.
MozReview-Commit-ID: FhxzwQlERnD
--HG--
extra : rebase_source : 3183b94c946b324173f46ef2185323c3b00b86bc
For all of ther suites, the -e10s is attached to the group symbol, not the job
symbol.
MozReview-Commit-ID: BZcRCnEMy5U
--HG--
extra : rebase_source : 10b0c265f06047738aef053c9825399c121daea6
This makes the instance size consistent for the whole suite
MozReview-Commit-ID: 8s6n6BwXSjB
--HG--
extra : rebase_source : 8e7f857ec1ec583d68efe7fbdba263222ced4e0a
Firefox-ui functional tests which use local test data should report with the Tier-1 level.
Due to restrictions of Tier-1 the other tests with remote test data have to be kept as Tier-2 jobs.
The patches reorganize our hierarchy of templates accordingly.
MozReview-Commit-ID: 9QcuYUzkvwf
--HG--
extra : rebase_source : de0b2437fe047aa2e502d16ae477cd2f3b5b21f7
Firefox-ui functional tests which use local test data should report with the Tier-1 level.
Due to restrictions of Tier-1 the other tests with remote test data have to be kept as Tier-2 jobs.
The patches reorganize our hierarchy of templates accordingly.
MozReview-Commit-ID: 9QcuYUzkvwf
--HG--
extra : rebase_source : 0756bbd2f79d4a8feb4ff093efa1b84fe52a2d5a