Bug 1388478 - Split tests.yml into several smaller suite-specific files, r?jmaher draft
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Tue, 17 Oct 2017 16:25:41 -0400
changeset 682330 ae618ea14afd365fbe04687cd96e648508c8fd16
parent 682329 80d01e93b38f58608d8087598c1fa5f8f748532f
child 682331 9df8c9f65a8c46b01b9716bfa57277e4135b5c39
push id85071
push userahalberstadt@mozilla.com
push dateWed, 18 Oct 2017 13:24:25 +0000
reviewersjmaher
bugs1388478
milestone58.0a1
Bug 1388478 - Split tests.yml into several smaller suite-specific files, r?jmaher MozReview-Commit-ID: 7piXDA6tGI0
taskcluster/ci/test/awsy.yml
taskcluster/ci/test/kind.yml
taskcluster/ci/test/marionette.yml
taskcluster/ci/test/mochitest.yml
taskcluster/ci/test/modified.tasks
taskcluster/ci/test/reftest.yml
taskcluster/ci/test/talos.yml
taskcluster/ci/test/tests.yml
taskcluster/ci/test/web-platform.yml
taskcluster/ci/test/xpcshell.yml
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/awsy.yml
@@ -0,0 +1,67 @@
+awsy:
+    description: "Are we slim yet"
+    suite: awsy
+    treeherder-symbol: tc-SY(sy)
+    max-run-time: 7200
+    instance-size: xlarge
+    allow-software-gl-layers: false
+    run-on-projects:
+        by-test-platform:
+            .*-devedition/.*: [] # don't run on devedition
+            default: built-projects
+    mozharness:
+        script: awsy_script.py
+        config:
+            by-test-platform:
+                windows.*/opt:
+                    - awsy/taskcluster_windows_config.py
+                macosx.*/opt:
+                    - awsy/macosx_config.py
+                default:
+                    - awsy/linux_config.py
+
+awsy-stylo-disabled:
+    description: "Are we slim yet for Stylo disabled"
+    suite: awsy
+    treeherder-symbol: tc-SYsd(sy)
+    max-run-time: 7200
+    instance-size: xlarge
+    allow-software-gl-layers: false
+    run-on-projects:
+        by-test-platform:
+            .*-devedition/.*: [] # don't run on devedition
+            default: built-projects
+    mozharness:
+        script: awsy_script.py
+        config:
+            by-test-platform:
+                windows.*:
+                    - awsy/taskcluster_windows_config.py
+                macosx.*:
+                    - awsy/macosx_config.py
+                linux.*:
+                    - awsy/linux_config.py
+        extra-options:
+            - --disable-stylo
+
+awsy-stylo-sequential:
+    description: "Are we slim yet for Stylo sequential"
+    suite: awsy
+    treeherder-symbol: tc-SYss(sy)
+    max-run-time: 7200
+    instance-size: xlarge
+    allow-software-gl-layers: false
+    run-on-projects:
+        by-test-platform:
+            .*-devedition/.*: [] # don't run on devedition
+            default: built-projects
+    mozharness:
+        script: awsy_script.py
+        config:
+            # Only run on Linux64.
+            by-test-platform:
+                linux.*:
+                    - awsy/linux_config.py
+        extra-options:
+            - --single-stylo-traversal
+
--- a/taskcluster/ci/test/kind.yml
+++ b/taskcluster/ci/test/kind.yml
@@ -5,10 +5,260 @@ kind-dependencies:
     - build-signing
 
 transforms:
    - taskgraph.transforms.tests:transforms
    - taskgraph.transforms.job:transforms
    - taskgraph.transforms.coalesce:transforms
    - taskgraph.transforms.task:transforms
 
+# Each stanza under 'jobs' (or in a file pointed to by 'jobs-from') describes a
+# particular test suite or sub-suite. These are processed through the
+# transformations described in kind.yml to produce a bunch of tasks. See the
+# schema in `taskcluster/taskgraph/transforms/tests.py` for a description of
+# the fields used here.
+
+# Note that these are in lexical order, as enforced by the task loader.
+
+# Adding a new test type or running tests on a new platform? Be sure to review
+# https://wiki.mozilla.org/Sheriffing/Job_Visibility_Policy
+
 jobs-from:
-   - tests.yml
+   - awsy.yml
+   - marionette.yml
+   - mochitest.yml
+   - reftest.yml
+   - talos.yml
+   - web-platform.yml
+   - xpcshell.yml
+
+jobs:
+    cppunit:
+        description: "CPP Unit Tests"
+        suite: cppunittest
+        treeherder-symbol: tc(Cpp)
+        e10s: false
+        run-on-projects:
+            by-test-platform:
+                windows10-64-asan/opt: []  # as an exception to windows.*
+                linux64-qr/.*: ['mozilla-central', 'try']
+                default: built-projects
+        mozharness:
+            by-test-platform:
+                android.*:
+                    script: android_emulator_unittest.py
+                    no-read-buildbot-config: true
+                    config:
+                        - android/androidarm_4_3.py
+                    extra-options:
+                        - --test-suite=cppunittest
+                default:
+                    script: desktop_unittest.py
+                    no-read-buildbot-config: true
+                    config:
+                        by-test-platform:
+                            windows.*:
+                                - unittests/win_taskcluster_unittest.py
+                            macosx.*:
+                                - unittests/mac_unittest.py
+                            linux.*:
+                                - unittests/linux_unittest.py
+                                - remove_executables.py
+                    extra-options:
+                        - --cppunittest-suite=cppunittest
+        tier:
+            by-test-platform:
+                windows10-64-asan.*: 3
+                default: default
+
+    firefox-ui-functional-local:
+        description: "Firefox-ui-tests functional run"
+        suite: "firefox-ui/functional local"
+        treeherder-symbol: tc-Fxfn-l(en-US)
+        max-run-time: 5400
+        mozharness:
+            script: firefox_ui_tests/functional.py
+            config:
+                by-test-platform:
+                    windows.*:
+                        - firefox_ui_tests/taskcluster_windows.py
+                    macosx.*:
+                        - firefox_ui_tests/taskcluster.py
+                        - firefox_ui_tests/taskcluster_mac.py
+                    linux.*:
+                        - firefox_ui_tests/taskcluster.py
+                        - remove_executables.py
+            extra-options:
+                - "--tag"
+                - "local"
+        tier:
+            by-test-platform:
+                windows10-64-asan.*: 3
+                default: default
+
+    firefox-ui-functional-remote:
+        description: "Firefox-ui-tests functional run"
+        suite: "firefox-ui/functional remote"
+        treeherder-symbol: tc-Fxfn-r(en-US)
+        max-run-time: 5400
+        mozharness:
+            script: firefox_ui_tests/functional.py
+            config:
+                by-test-platform:
+                    windows.*:
+                        - firefox_ui_tests/taskcluster_windows.py
+                    macosx.*:
+                        - firefox_ui_tests/taskcluster.py
+                        - firefox_ui_tests/taskcluster_mac.py
+                    linux.*:
+                        - firefox_ui_tests/taskcluster.py
+                        - remove_executables.py
+            extra-options:
+                - "--tag"
+                - "remote"
+        tier:
+            by-test-platform:
+                windows10-64-asan.*: 3
+                default: 2
+
+    geckoview:
+        description: "Geckoview run"
+        suite: geckoview
+        treeherder-symbol: tc(gv)
+        instance-size: xlarge
+        loopback-video: true
+        e10s: false
+        mozharness:
+            script: android_emulator_unittest.py
+            no-read-buildbot-config: true
+            config:
+                - android/androidarm_4_3.py
+            extra-options:
+                - --test-suite=geckoview
+
+    gtest:
+        description: "GTests run"
+        suite: gtest
+        treeherder-symbol: tc(GTest)
+        e10s: false
+        instance-size: xlarge
+        run-on-projects:
+            by-test-platform:
+                linux64-qr/.*: ['mozilla-central', 'try']
+                windows.*-pgo/.*: [] # permafails on pgo
+                windows.*-nightly/.*: [] # permafails on nightly too
+                .*-devedition/.*: [] # don't run on devedition
+                default: built-projects
+        mozharness:
+            script: desktop_unittest.py
+            no-read-buildbot-config: true
+            config:
+                by-test-platform:
+                    windows.*:
+                        - unittests/win_taskcluster_unittest.py
+                    macosx.*:
+                        - unittests/mac_unittest.py
+                    linux.*:
+                        - unittests/linux_unittest.py
+                        - remove_executables.py
+            extra-options:
+                - --gtest-suite=gtest
+        tier:
+            by-test-platform:
+                windows7-32-pgo.*: 3
+                windows10-64-pgo.*: 3
+                windows10-64-asan.*: 3
+                default: default
+
+    jittest:
+        description: "JIT Test run"
+        suite: jittest/jittest-chunked
+        treeherder-symbol: tc(Jit)
+        e10s: false
+        run-on-projects:
+            by-test-platform:
+                linux64-qr/.*: ['mozilla-central', 'try']
+                default: built-projects
+        chunks:
+            by-test-platform:
+                windows.*: 1
+                macosx.*: 1
+                default: 6
+        mozharness:
+            chunked:
+              by-test-platform:
+                windows.*: false
+                macosx.*: false
+                default: true
+            script: desktop_unittest.py
+            no-read-buildbot-config: true
+            config:
+                by-test-platform:
+                    windows.*:
+                        - unittests/win_taskcluster_unittest.py
+                    macosx.*:
+                        - unittests/mac_unittest.py
+                    linux.*:
+                        - unittests/linux_unittest.py
+                        - remove_executables.py
+            extra-options:
+                - --jittest-suite=jittest-chunked
+        tier:
+            by-test-platform:
+                windows10-64-asan.*: 3
+                default: default
+
+    telemetry-tests-client:
+        description: "Telemetry tests client run"
+        suite: telemetry-tests-client
+        treeherder-symbol: tc-e10s
+        max-run-time: 5400
+        checkout: true
+        tier: 3
+        mozharness:
+            script: telemetry/telemetry_client.py
+            config:
+                by-test-platform:
+                    linux.*:
+                        - remove_executables.py
+                    windows.*: []
+
+    test-verify:
+        description: "Extra verification of tests modified on this push"
+        suite: test-verification
+        treeherder-symbol: tc(TV)
+        loopback-video: true
+        max-run-time: 5400
+        allow-software-gl-layers: false
+        run-on-projects:
+            by-test-platform:
+                # do not run on ccov; see also the enable_code_coverage transform
+                linux64-ccov/.*: []
+                default: built-projects
+        tier:
+            by-test-platform:
+                android.*: 3
+                windows10-64-asan.*: 3
+                default: 2
+        mozharness:
+            by-test-platform:
+                android.*:
+                    script: android_emulator_unittest.py
+                    config:
+                        - android/androidarm_4_3.py
+                    no-read-buildbot-config: true
+                    extra-options:
+                        - --verify
+                default:
+                    script: desktop_unittest.py
+                    config:
+                        by-test-platform:
+                            windows.*:
+                                - unittests/win_taskcluster_unittest.py
+                            macosx.*:
+                                - remove_executables.py
+                                - unittests/mac_unittest.py
+                            linux.*:
+                                - unittests/linux_unittest.py
+                                - remove_executables.py
+                    no-read-buildbot-config: true
+                    extra-options:
+                        - --verify
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/marionette.yml
@@ -0,0 +1,70 @@
+marionette:
+    description: "Marionette unittest run"
+    suite: marionette
+    treeherder-symbol: tc(Mn)
+    max-run-time:
+        by-test-platform:
+            android.*: 3600
+            default: 5400
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: default
+    tier:
+        by-test-platform:
+            android.*: 2
+            windows10-64-asan.*: 3
+            default: default
+    chunks:
+        by-test-platform:
+            android.*: 10
+            default: 1
+    mozharness:
+        by-test-platform:
+            android.*:
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=marionette
+            default:
+                script: marionette.py
+                no-read-buildbot-config: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - marionette/windows_taskcluster_config.py
+                        macosx.*:
+                            - marionette/prod_config.py
+                            - marionette/mac_taskcluster_config.py
+                        default:
+                            - marionette/prod_config.py
+                            - remove_executables.py
+
+marionette-headless:
+    description: "Marionette headless unittest run"
+    suite: marionette
+    treeherder-symbol: tc(MnH)
+    max-run-time: 5400
+    instance-size: default
+    chunks: 1
+    mozharness:
+        script: marionette.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - marionette/windows_taskcluster_config.py
+                macosx.*:
+                    - marionette/prod_config.py
+                    - marionette/mac_taskcluster_config.py
+                default:
+                    - marionette/prod_config.py
+                    - remove_executables.py
+        extra-options:
+            - --headless
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/mochitest.yml
@@ -0,0 +1,573 @@
+mochitest:
+    description: "Mochitest plain run"
+    suite:
+        by-test-platform:
+            linux64-jsdcov/opt: mochitest/plain-chunked-coverage
+            default: mochitest/plain-chunked
+    treeherder-symbol: tc-M()
+    loopback-video: true
+    instance-size:
+        by-test-platform:
+            linux64-jsdcov/opt: xlarge
+            android.*: xlarge
+            default: default
+    chunks:
+        by-test-platform:
+            android-4.3-arm7-api-16/debug: 48
+            android.*: 20
+            macosx.*: 5
+            windows.*: 5
+            linux32/debug: 16
+            linux32-stylo-disabled/debug: 16
+            linux.*: 10
+    e10s:
+        by-test-platform:
+            linux64-jsdcov/opt: false
+            windows7-32/debug: both
+            default: true
+    max-run-time:
+        by-test-platform:
+            android-4.3-arm7-api-16/debug: 7200
+            linux64-jsdcov/opt: 10800
+            default: 5400
+    allow-software-gl-layers: false
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default
+    mozharness:
+        by-test-platform:
+            android.*:
+                mochitest-flavor: plain
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=mochitest
+            default:
+                mochitest-flavor: plain
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    by-test-platform:
+                        linux64-jsdcov/opt:
+                            - --mochitest-suite=plain-chunked-coverage
+                        default:
+                            - --mochitest-suite=plain-chunked
+
+mochitest-a11y:
+    description: "Mochitest a11y run"
+    suite: mochitest/a11y
+    treeherder-symbol: tc-M(a11y)
+    loopback-video: true
+    e10s: false
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: built-projects
+    mozharness:
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        chunked: false
+        mochitest-flavor: a11y
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            - --mochitest-suite=a11y
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default
+
+mochitest-browser-chrome:
+    description: "Mochitest browser-chrome run"
+    suite:
+        by-test-platform:
+            linux64-jsdcov/opt: mochitest/browser-chrome-coverage
+            default: mochitest/browser-chrome-chunked
+    treeherder-symbol: tc-M(bc)
+    loopback-video: true
+    chunks:
+        by-test-platform:
+            linux64/debug: 16
+            linux64-stylo-disabled/debug: 16
+            linux64-asan/opt: 16
+            linux64-jsdcov/opt: 35
+            linux32/debug: 16
+            linux32-stylo-disabled/debug: 16
+            default: 7
+    e10s:
+        by-test-platform:
+            linux64-jsdcov/opt: false
+            windows7-32/debug: both
+            default: true
+    max-run-time:
+        by-test-platform:
+            linux64-jsdcov/opt: 7200
+            linux64-ccov/opt: 7200
+            linux64/debug: 5400
+            linux64-stylo-disabled/debug: 5400
+            linux32/debug: 5400
+            linux32-stylo-disabled/debug: 5400
+            default: 3600
+    mozharness:
+        mochitest-flavor: browser
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        chunked: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            by-test-platform:
+                linux64-jsdcov/opt:
+                    - --mochitest-suite=browser-chrome-coverage
+                default:
+                    - --mochitest-suite=browser-chrome-chunked
+    # Bug 1281241: migrating to m3.large instances
+    instance-size:
+        by-test-platform:
+            linux64-jsdcov/opt: xlarge
+            default: legacy
+    allow-software-gl-layers: false
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default
+
+mochitest-browser-screenshots:
+    description: "Mochitest Browser Screenshots"
+    suite: mochitest/browser-chrome-screenshots
+    treeherder-symbol: tc-M(ss)
+    loopback-video: true
+    run-on-projects:
+        by-test-platform:
+            windows.*/opt: ['mozilla-central', 'try']
+            linux64/opt: ['mozilla-central', 'try']
+            macosx.*/opt: ['mozilla-central', 'try']
+            windows7-32-devedition/opt: []
+            windows10-64-devedition/opt: []
+            default: []
+    max-run-time: 3600
+    mozharness:
+        mochitest-flavor: browser
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            - --mochitest-suite=browser-chrome-screenshots
+    allow-software-gl-layers: false
+
+mochitest-chrome:
+    description: "Mochitest chrome run"
+    suite: mochitest/chrome
+    treeherder-symbol: tc-M(c)
+    loopback-video: true
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: default
+    chunks:
+        by-test-platform:
+            android-4.3-arm7-api-16/debug: 4
+            android.*: 2
+            default: 3
+    max-run-time: 3600
+    e10s: false
+    mozharness:
+        by-test-platform:
+            android.*:
+                mochitest-flavor: chrome
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    by-test-platform:
+                        android-4.2-x86/opt:
+                            - android/androidx86.py
+                        default:
+                            - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=mochitest-chrome
+            default:
+                mochitest-flavor: chrome
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - remove_executables.py
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --mochitest-suite=chrome
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default
+
+mochitest-clipboard:
+    description: "Mochitest clipboard run"
+    suite: mochitest/clipboard
+    treeherder-symbol: tc-M(cl)
+    loopback-video: true
+    virtualization: hardware
+    instance-size: xlarge
+    worker-type:
+        by-test-platform:
+            windows7-32.*: buildbot-bridge/buildbot-bridge
+            windows10-64.*: buildbot-bridge/buildbot-bridge
+            default: null
+    e10s:
+        by-test-platform:
+            windows7-32/debug: both
+            default: true
+    mozharness:
+        by-test-platform:
+            android.*:
+                mochitest-flavor: plain
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    # note that Android runs fewer suites than other platforms
+                    - --test-suite=mochitest-plain-clipboard
+            default:
+                mochitest-flavor: plain
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked: false
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - remove_executables.py
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --mochitest-suite=plain-clipboard,chrome-clipboard,browser-chrome-clipboard
+
+mochitest-devtools-chrome:
+    description: "Mochitest devtools-chrome run"
+    suite:
+        by-test-platform:
+            linux64-jsdcov/opt: mochitest/mochitest-devtools-chrome-coverage
+            default: mochitest/mochitest-devtools-chrome-chunked
+    treeherder-symbol: tc-M(dt)
+    loopback-video: true
+    max-run-time: 5400
+    chunks:
+        by-test-platform:
+            windows.*: 8
+            macosx.*: 8
+            default: 10
+    e10s:
+        by-test-platform:
+            linux64-jsdcov/opt: false
+            windows7-32/debug: both
+            default: true
+    mozharness:
+        mochitest-flavor: chrome
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        chunked: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            by-test-platform:
+                linux64-jsdcov/opt:
+                    - --mochitest-suite=mochitest-devtools-chrome-coverage
+                default:
+                    - --mochitest-suite=mochitest-devtools-chrome-chunked
+    instance-size:
+        by-test-platform:
+            # Bug 1281241: migrating to m3.large instances
+            linux64-asan/opt: legacy
+            default: default
+    # Bug 1296086: high number of intermittents observed with software GL and large instances
+    allow-software-gl-layers: false
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default
+
+mochitest-gpu:
+    description: "Mochitest GPU run"
+    suite: mochitest/gpu
+    treeherder-symbol: tc-M(gpu)
+    loopback-video: true
+    virtualization: virtual-with-gpu
+    e10s:
+        by-test-platform:
+            windows7-32/debug: both
+            default: true
+    mozharness:
+        by-test-platform:
+            android.*:
+                mochitest-flavor: plain
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    # note that Android runs fewer suites than other platforms
+                    - --test-suite=mochitest-plain-gpu
+            default:
+                mochitest-flavor: plain
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked: false
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --mochitest-suite=plain-gpu,chrome-gpu,browser-chrome-gpu
+    tier:
+        by-test-platform:
+            linux64-qr/.*: 1
+            windows10-64-asan.*: 3
+            default: default
+
+mochitest-media:
+    description: "Mochitest media run"
+    suite: mochitest/mochitest-media
+    treeherder-symbol: tc-M(mda)
+    max-run-time: 5400
+    loopback-video: true
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: large
+    chunks:
+        by-test-platform:
+            android.*: 3
+            macosx64.*: 1
+            windows10-64.*: 1
+            default: 3
+    mozharness:
+        by-test-platform:
+            android.*:
+                mochitest-flavor: plain
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=mochitest-media
+            default:
+                mochitest-flavor: plain
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked:
+                  by-test-platform:
+                    macosx64.*: false
+                    windows10-64.*: false
+                    default: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --mochitest-suite=mochitest-media
+    tier:
+        by-test-platform:
+            linux64-qr/.*: 1
+            windows10-64-asan.*: 3
+            default: default
+
+mochitest-plain-headless:
+    description: "Mochitest plain headless run"
+    suite: mochitest/plain-chunked
+    treeherder-symbol: tc-M(h)
+    loopback-video: true
+    instance-size: legacy # Bug 1281241: migrating to m3.large instances
+    chunks:
+        by-test-platform:
+            linux.*: 10
+    e10s: true
+    max-run-time: 5400
+    allow-software-gl-layers: false
+    tier: default
+    mozharness:
+        mochitest-flavor: plain
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        chunked: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            - --mochitest-suite=plain-chunked
+            - --headless
+
+mochitest-valgrind:
+    description: "Mochitest plain Valgrind run"
+    suite: mochitest/valgrind-plain
+    treeherder-symbol: tc-M-V()
+    run-on-projects: []
+    tier: 3
+    loopback-video: true
+    chunks: 40
+    max-run-time: 14400
+    # We could re-enable e10s later.
+    # There's no intrinsic reason not to use it.
+    e10s: false
+    allow-software-gl-layers: false
+    mozharness:
+        mochitest-flavor: plain
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        chunked: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            - --mochitest-suite=valgrind-plain
+
+mochitest-webgl:
+    description: "Mochitest webgl run"
+    suite: mochitest/mochitest-gl
+    treeherder-symbol: tc-M(gl)
+    virtualization: virtual-with-gpu
+    chunks:
+        by-test-platform:
+            android.*: 10
+            windows.*: 8
+            default: 3
+    e10s:
+        by-test-platform:
+            windows7-32/debug: both
+            default: true
+    loopback-video: true
+    max-run-time:
+        by-test-platform:
+            windows.*: 5400
+            android.*: 7200
+            default: 3600
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: default
+    # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
+    allow-software-gl-layers: false
+    mozharness:
+        by-test-platform:
+            android.*:
+                mochitest-flavor: plain
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=mochitest-gl
+            default:
+                mochitest-flavor: plain
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --mochitest-suite=mochitest-gl
+    tier:
+        by-test-platform:
+            linux64-qr/.*: 1
+            windows10-64-asan.*: 3
+            default: default
+
+robocop:
+    description: "Robocop run"
+    suite: robocop
+    treeherder-symbol: tc-M(rc)
+    instance-size: xlarge
+    chunks:
+        by-test-platform:
+            # android-4.3-arm7-api-16/debug -- not run
+            android-4.3-arm7-api-16/opt: 4
+            android-4.3-arm7-api-16-gradle/opt: 4
+    loopback-video: true
+    e10s: false
+    mozharness:
+        script: android_emulator_unittest.py
+        no-read-buildbot-config: true
+        config:
+            - android/androidarm_4_3.py
+        extra-options:
+            - --test-suite=robocop
new file mode 100644
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/reftest.yml
@@ -0,0 +1,264 @@
+crashtest:
+    description: "Crashtest run"
+    suite: reftest/crashtest
+    treeherder-symbol: tc-R(C)
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: default
+    chunks:
+        by-test-platform:
+            android-4.3-arm7-api-16/debug: 10
+            android.*: 4
+            default: 1
+    e10s:
+        by-test-platform:
+            windows10-64/debug: both
+            default: true
+    mozharness:
+        by-test-platform:
+            android.*:
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=crashtest
+            default:
+                script: desktop_unittest.py
+                chunked: false
+                no-read-buildbot-config: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --reftest-suite=crashtest
+    tier:
+        by-test-platform:
+            linux64-qr/.*: 1
+            windows10-64-asan.*: 3
+            default: default
+
+jsreftest:
+    description: "JS Reftest run"
+    suite: reftest/jsreftest
+    treeherder-symbol: tc-R(J)
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: default
+    chunks:
+        by-test-platform:
+            android-4.3-arm7-api-16/debug: 100
+            android.*: 40
+            windows.*: 2
+            linux64-ccov/.*: 5
+            linux64-qr/.*: 4
+            macosx.*: 2
+            default: 3
+    e10s:
+        by-test-platform:
+            linux64-jsdcov/opt: false
+            windows10-64/debug: both
+            default: true
+    max-run-time:
+        by-test-platform:
+            android.*: 7200
+            default: 3600
+    mozharness:
+        by-test-platform:
+            android.*:
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=jsreftest
+            default:
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --reftest-suite=jsreftest
+    when:
+        schedules: ['jsreftest']
+    tier:
+        by-test-platform:
+            linux64-qr/.*: 1
+            windows10-64-asan.*: 3
+            default: default
+
+reftest:
+    description: "Reftest run"
+    suite: reftest/reftest
+    treeherder-symbol: tc-R(R)
+    worker-type:
+        by-test-platform:
+            windows10-64.*: buildbot-bridge/buildbot-bridge
+            default: null
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: default
+    virtualization: virtual-with-gpu
+    chunks:
+        by-test-platform:
+            android-4.3-arm7-api-16/debug: 48
+            android.*: 16
+            macosx64.*/opt: 1
+            macosx64.*/debug: 2
+            windows10-64.*/opt: 1
+            windows10-64.*/debug: 2
+            default: 8
+    e10s:
+        by-test-platform:
+            windows10-64/debug: both
+            default: true
+    max-run-time:
+        by-test-platform:
+            android.*: 7200
+            default: 3600
+    mozharness:
+        by-test-platform:
+            android.*:
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    - android/androidarm_4_3.py
+                extra-options:
+                    - --test-suite=reftest
+            default:
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                chunked:
+                  by-test-platform:
+                    macosx64/opt: false
+                    windows10-64.*/opt: false
+                    windows10-64.*/debug: true
+                    default: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    - --reftest-suite=reftest
+    tier:
+        by-test-platform:
+            linux64-qr/.*: 1
+            windows10-64-asan.*: 3
+            default: default
+
+reftest-gpu:
+    description: "Reftest GPU run"
+    suite: reftest/reftest-gpu
+    treeherder-symbol: tc-R(Rg)
+    chunks: 8
+    run-on-projects:
+        by-test-platform:
+            windows10.*: []
+            windows8-64.*: []
+            default: built-projects
+    instance-size: default
+    virtualization: virtual-with-gpu
+    max-run-time: 3600
+    mozharness:
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        chunked: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            - --reftest-suite=reftest-gpu
+    tier: default
+
+reftest-no-accel:
+    description: "Reftest not accelerated run"
+    suite: reftest/reftest-no-accel
+    treeherder-symbol: tc-R(Ru)
+    virtualization: virtual-with-gpu
+    worker-type:
+        by-test-platform:
+            windows10-64.*: buildbot-bridge/buildbot-bridge
+            default: null
+    chunks:
+        by-test-platform:
+            macosx.*: 1
+            windows10-64.*/debug: 2
+            windows10-64.*/opt: 1
+            default: 8
+    e10s:
+        by-test-platform:
+            linux64-jsdcov/opt: false
+            windows10-64/debug: both
+            default: true
+    mozharness:
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        chunked:
+            by-test-platform:
+                windows10-64.*/opt: false
+                macosx.*: false
+                default: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                linux.*:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            - --reftest-suite=reftest-no-accel
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default
+
+reftest-stylo:
+    description: "Reftest run in Stylo vs. Gecko mode"
+    suite: reftest/reftest-stylo
+    treeherder-symbol: tc-R(Rs)
+    virtualization: virtual-with-gpu
+    chunks: 8
+    mozharness:
+        script: desktop_unittest.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - unittests/win_taskcluster_unittest.py
+                macosx.*:
+                    - unittests/mac_unittest.py
+                default:
+                    - unittests/linux_unittest.py
+                    - remove_executables.py
+        extra-options:
+            - --reftest-suite=reftest-stylo
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/talos.yml
@@ -0,0 +1,838 @@
+talos-chrome:
+    description: "Talos chrome"
+    suite: talos
+    try-name: chromez
+    treeherder-symbol: tc-T(c)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=chromez
+            - --add-option
+            - --webServer,localhost
+
+talos-chrome-stylo-disabled:
+    description: "Talos Stylo disabled chrome"
+    suite: talos
+    try-name: chromez-stylo-disabled
+    treeherder-symbol: tc-Tsd(c)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=chromez-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-dromaeojs:
+    description: "Talos dromaeojs"
+    suite: talos
+    try-name: dromaeojs
+    treeherder-symbol: tc-T(d)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=dromaeojs
+            - --add-option
+            - --webServer,localhost
+
+talos-dromaeojs-stylo-disabled:
+    description: "Talos Stylo disabled dromaeojs"
+    suite: talos
+    try-name: dromaeojs-stylo-disabled
+    treeherder-symbol: tc-Tsd(d)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=dromaeojs-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-g1:
+    description: "Talos g1"
+    suite: talos
+    try-name: g1
+    treeherder-symbol: tc-T(g1)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 7200
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g1
+            - --add-option
+            - --webServer,localhost
+
+talos-g1-stylo-disabled:
+    description: "Talos Stylo disabled g1"
+    suite: talos
+    try-name: g1-stylo-disabled
+    treeherder-symbol: tc-Tsd(g1)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 7200
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g1-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-g2:
+    description: "Talos g2"
+    suite: talos
+    try-name: g2
+    treeherder-symbol: tc-T(g2)
+    virtualization: hardware
+    max-run-time: 7200
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g2
+            - --add-option
+            - --webServer,localhost
+
+talos-g2-stylo-disabled:
+    description: "Talos Stylo disabled g2"
+    suite: talos
+    try-name: g2-stylo-disabled
+    treeherder-symbol: tc-Tsd(g2)
+    virtualization: hardware
+    max-run-time: 7200
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g2-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-g3:
+    description: "Talos g3"
+    suite: talos
+    try-name: g3
+    treeherder-symbol: tc-T(g3)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g3
+            - --add-option
+            - --webServer,localhost
+
+talos-g3-stylo-disabled:
+    description: "Talos Stylo disabled g3"
+    suite: talos
+    try-name: g3-stylo-disabled
+    treeherder-symbol: tc-Tsd(g3)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g3-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-g4:
+    description: "Talos g4"
+    suite: talos
+    try-name: g4
+    treeherder-symbol: tc-T(g4)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g4
+            - --add-option
+            - --webServer,localhost
+
+talos-g4-stylo-disabled:
+    description: "Talos Stylo disabled g4"
+    suite: talos
+    try-name: g4-stylo-disabled
+    treeherder-symbol: tc-Tsd(g4)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=g4-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-g5:
+    description: "Talos g5"
+    suite: talos
+    try-name: g5
+    treeherder-symbol: tc-T(g5)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+                    - remove_executables.py
+        extra-options:
+            - --suite=g5
+            - --add-option
+            - --webServer,localhost
+
+talos-g5-stylo-disabled:
+    description: "Talos Stylo disabled g5"
+    suite: talos
+    try-name: g5-stylo-disabled
+    treeherder-symbol: tc-Tsd(g5)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+                    - remove_executables.py
+        extra-options:
+            - --suite=g5-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-h1:
+    description: "Talos h1"
+    suite: talos
+    try-name: h1
+    treeherder-symbol: tc-T(h1)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=h1
+            - --add-option
+            - --webServer,localhost
+
+talos-h2:
+    description: "Talos h2"
+    suite: talos
+    try-name: h2
+    treeherder-symbol: tc-T(h2)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=h2
+            - --add-option
+            - --webServer,localhost
+
+talos-other:
+    description: "Talos other"
+    suite: talos
+    try-name: other
+    treeherder-symbol: tc-T(o)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=other
+            - --add-option
+            - --webServer,localhost
+
+talos-other-stylo-disabled:
+    description: "Talos Stylo disabled other"
+    suite: talos
+    try-name: other-stylo-disabled
+    treeherder-symbol: tc-Tsd(o)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=other-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-perf-reftest:
+    description: "Talos perf-reftest"
+    suite: talos
+    try-name: perf-reftest
+    treeherder-symbol: tc-T(p)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=perf-reftest
+
+talos-perf-reftest-singletons:
+    description: "Talos perf-reftest singletons"
+    suite: talos
+    try-name: perf-reftest-singletons
+    treeherder-symbol: tc-T(ps)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=perf-reftest-singletons
+
+talos-perf-reftest-singletons-stylo-disabled:
+    description: "Talos Stylo disabled perf-reftest singletons"
+    suite: talos
+    try-name: perf-reftest-singletons-stylo-disabled
+    treeherder-symbol: tc-Tsd(ps)
+    virtualization: hardware
+    run-on-projects: ['mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=perf-reftest-singletons-stylo-disabled
+
+talos-perf-reftest-stylo-disabled:
+    description: "Talos Stylo disabled perf-reftest"
+    suite: talos
+    try-name: perf-reftest-stylo-disabled
+    treeherder-symbol: tc-Tsd(p)
+    virtualization: hardware
+    run-on-projects: ['mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=perf-reftest-stylo-disabled
+
+talos-speedometer:
+    description: "Talos speedometer"
+    suite: talos
+    try-name: speedometer
+    treeherder-symbol: tc-T(sp)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=speedometer
+            - --add-option
+            - --webServer,localhost
+
+talos-speedometer-stylo-disabled:
+    description: "Talos Stylo disabled speedometer"
+    suite: talos
+    try-name: speedometer-stylo-disabled
+    treeherder-symbol: tc-Tsd(sp)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=speedometer-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-svgr:
+    description: "Talos svgr"
+    suite: talos
+    try-name: svgr
+    treeherder-symbol: tc-T(s)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=svgr
+            - --add-option
+            - --webServer,localhost
+
+talos-svgr-stylo-disabled:
+    description: "Talos Stylo disabled svgr"
+    suite: talos
+    try-name: svgr-stylo-disabled
+    treeherder-symbol: tc-Tsd(s)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=svgr-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-tp5o:
+    description: "Talos tp5o"
+    suite: talos
+    try-name: tp5o
+    treeherder-symbol: tc-T(tp)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=tp5o
+            - --add-option
+            - --webServer,localhost
+
+talos-tp5o-stylo-disabled:
+    description: "Talos Stylo disabled tp5o"
+    suite: talos
+    try-name: tp5o-stylo-disabled
+    treeherder-symbol: tc-Tsd(tp)
+    virtualization: hardware
+    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=tp5o-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
+talos-tp6:
+    description: "Talos Tp6"
+    suite: talos
+    try-name: tp6
+    treeherder-symbol: tc-T(tp6)
+    run-on-projects:
+        by-test-platform:
+            windows.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+            macosx.*: ['mozilla-beta', 'autoland', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=tp6
+            - --add-option
+            - --webServer,localhost
+
+talos-tp6-stylo-disabled:
+    description: "Talos Stylo disabled Tp6"
+    suite: talos
+    try-name: tp6-stylo-disabled
+    treeherder-symbol: tc-Tsd(tp6)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            windows.*: ['mozilla-beta', 'mozilla-central', 'try']
+            macosx.*: ['mozilla-beta', 'mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=tp6-stylo-disabled
+
+talos-tp6-stylo-threads:
+    description: "Talos Stylo sequential Tp6"
+    suite: talos
+    try-name: tp6-stylo-threads
+    treeherder-symbol: tc-Tss(tp6)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            windows.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+            macosx.*: ['mozilla-beta', 'autoland', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=tp6-stylo-threads
+
+talos-xperf:
+    description: "Talos xperf"
+    suite: talos
+    try-name: xperf
+    treeherder-symbol: tc-T(x)
+    run-on-projects:
+        by-test-platform:
+            windows7-32.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+            default: []
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=xperf
+            - --add-option
+            - --webServer,localhost
+
+talos-xperf-stylo-disabled:
+    description: "Talos Stylo disabled xperf"
+    suite: talos
+    try-name: xperf-stylo-disabled
+    treeherder-symbol: tc-Tsd(x)
+    run-on-projects:
+        by-test-platform:
+            windows7-32.*: ['mozilla-beta', 'mozilla-central', 'try']
+            default: []
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=xperf-stylo-disabled
+            - --add-option
+            - --webServer,localhost
+
deleted file mode 100644
--- a/taskcluster/ci/test/tests.yml
+++ /dev/null
@@ -1,2314 +0,0 @@
-# Each stanza here describes a particular test suite or sub-suite.  These are
-# processed through the transformations described in kind.yml to produce a
-# bunch of tasks.  See the schema in `taskcluster/taskgraph/transforms/tests.py`
-# for a description of the fields used here.
-
-# Note that these are in lexical order, as enforced by the task loader.
-
-# Adding a new test type or running tests on a new platform? Be sure to review
-# https://wiki.mozilla.org/Sheriffing/Job_Visibility_Policy
-
-awsy:
-    description: "Are we slim yet"
-    suite: awsy
-    treeherder-symbol: tc-SY(sy)
-    max-run-time: 7200
-    instance-size: xlarge
-    allow-software-gl-layers: false
-    run-on-projects:
-        by-test-platform:
-            .*-devedition/.*: [] # don't run on devedition
-            default: built-projects
-    mozharness:
-        script: awsy_script.py
-        config:
-            by-test-platform:
-                windows.*/opt:
-                    - awsy/taskcluster_windows_config.py
-                macosx.*/opt:
-                    - awsy/macosx_config.py
-                default:
-                    - awsy/linux_config.py
-
-awsy-stylo-disabled:
-    description: "Are we slim yet for Stylo disabled"
-    suite: awsy
-    treeherder-symbol: tc-SYsd(sy)
-    max-run-time: 7200
-    instance-size: xlarge
-    allow-software-gl-layers: false
-    run-on-projects:
-        by-test-platform:
-            .*-devedition/.*: [] # don't run on devedition
-            default: built-projects
-    mozharness:
-        script: awsy_script.py
-        config:
-            by-test-platform:
-                windows.*:
-                    - awsy/taskcluster_windows_config.py
-                macosx.*:
-                    - awsy/macosx_config.py
-                linux.*:
-                    - awsy/linux_config.py
-        extra-options:
-            - --disable-stylo
-
-awsy-stylo-sequential:
-    description: "Are we slim yet for Stylo sequential"
-    suite: awsy
-    treeherder-symbol: tc-SYss(sy)
-    max-run-time: 7200
-    instance-size: xlarge
-    allow-software-gl-layers: false
-    run-on-projects:
-        by-test-platform:
-            .*-devedition/.*: [] # don't run on devedition
-            default: built-projects
-    mozharness:
-        script: awsy_script.py
-        config:
-            # Only run on Linux64.
-            by-test-platform:
-                linux.*:
-                    - awsy/linux_config.py
-        extra-options:
-            - --single-stylo-traversal
-
-cppunit:
-    description: "CPP Unit Tests"
-    suite: cppunittest
-    treeherder-symbol: tc(Cpp)
-    e10s: false
-    run-on-projects:
-        by-test-platform:
-            windows10-64-asan/opt: []  # as an exception to windows.*
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: built-projects
-    mozharness:
-        by-test-platform:
-            android.*:
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=cppunittest
-            default:
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --cppunittest-suite=cppunittest
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-crashtest:
-    description: "Crashtest run"
-    suite: reftest/crashtest
-    treeherder-symbol: tc-R(C)
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: default
-    chunks:
-        by-test-platform:
-            android-4.3-arm7-api-16/debug: 10
-            android.*: 4
-            default: 1
-    e10s:
-        by-test-platform:
-            windows10-64/debug: both
-            default: true
-    mozharness:
-        by-test-platform:
-            android.*:
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=crashtest
-            default:
-                script: desktop_unittest.py
-                chunked: false
-                no-read-buildbot-config: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --reftest-suite=crashtest
-    tier:
-        by-test-platform:
-            linux64-qr/.*: 1
-            windows10-64-asan.*: 3
-            default: default
-
-firefox-ui-functional-local:
-    description: "Firefox-ui-tests functional run"
-    suite: "firefox-ui/functional local"
-    treeherder-symbol: tc-Fxfn-l(en-US)
-    max-run-time: 5400
-    mozharness:
-        script: firefox_ui_tests/functional.py
-        config:
-            by-test-platform:
-                windows.*:
-                    - firefox_ui_tests/taskcluster_windows.py
-                macosx.*:
-                    - firefox_ui_tests/taskcluster.py
-                    - firefox_ui_tests/taskcluster_mac.py
-                linux.*:
-                    - firefox_ui_tests/taskcluster.py
-                    - remove_executables.py
-        extra-options:
-            - "--tag"
-            - "local"
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-firefox-ui-functional-remote:
-    description: "Firefox-ui-tests functional run"
-    suite: "firefox-ui/functional remote"
-    treeherder-symbol: tc-Fxfn-r(en-US)
-    max-run-time: 5400
-    mozharness:
-        script: firefox_ui_tests/functional.py
-        config:
-            by-test-platform:
-                windows.*:
-                    - firefox_ui_tests/taskcluster_windows.py
-                macosx.*:
-                    - firefox_ui_tests/taskcluster.py
-                    - firefox_ui_tests/taskcluster_mac.py
-                linux.*:
-                    - firefox_ui_tests/taskcluster.py
-                    - remove_executables.py
-        extra-options:
-            - "--tag"
-            - "remote"
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: 2
-
-geckoview:
-    description: "Geckoview run"
-    suite: geckoview
-    treeherder-symbol: tc(gv)
-    instance-size: xlarge
-    loopback-video: true
-    e10s: false
-    mozharness:
-        script: android_emulator_unittest.py
-        no-read-buildbot-config: true
-        config:
-            - android/androidarm_4_3.py
-        extra-options:
-            - --test-suite=geckoview
-
-gtest:
-    description: "GTests run"
-    suite: gtest
-    treeherder-symbol: tc(GTest)
-    e10s: false
-    instance-size: xlarge
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            windows.*-pgo/.*: [] # permafails on pgo
-            windows.*-nightly/.*: [] # permafails on nightly too
-            .*-devedition/.*: [] # don't run on devedition
-            default: built-projects
-    mozharness:
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --gtest-suite=gtest
-    tier:
-        by-test-platform:
-            windows7-32-pgo.*: 3
-            windows10-64-pgo.*: 3
-            windows10-64-asan.*: 3
-            default: default
-
-jittest:
-    description: "JIT Test run"
-    suite: jittest/jittest-chunked
-    treeherder-symbol: tc(Jit)
-    e10s: false
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: built-projects
-    chunks:
-        by-test-platform:
-            windows.*: 1
-            macosx.*: 1
-            default: 6
-    mozharness:
-        chunked:
-          by-test-platform:
-            windows.*: false
-            macosx.*: false
-            default: true
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --jittest-suite=jittest-chunked
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-jsreftest:
-    description: "JS Reftest run"
-    suite: reftest/jsreftest
-    treeherder-symbol: tc-R(J)
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: default
-    chunks:
-        by-test-platform:
-            android-4.3-arm7-api-16/debug: 100
-            android.*: 40
-            windows.*: 2
-            linux64-ccov/.*: 5
-            linux64-qr/.*: 4
-            macosx.*: 2
-            default: 3
-    e10s:
-        by-test-platform:
-            linux64-jsdcov/opt: false
-            windows10-64/debug: both
-            default: true
-    max-run-time:
-        by-test-platform:
-            android.*: 7200
-            default: 3600
-    mozharness:
-        by-test-platform:
-            android.*:
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=jsreftest
-            default:
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --reftest-suite=jsreftest
-    when:
-        schedules: ['jsreftest']
-    tier:
-        by-test-platform:
-            linux64-qr/.*: 1
-            windows10-64-asan.*: 3
-            default: default
-
-marionette:
-    description: "Marionette unittest run"
-    suite: marionette
-    treeherder-symbol: tc(Mn)
-    max-run-time:
-        by-test-platform:
-            android.*: 3600
-            default: 5400
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: default
-    tier:
-        by-test-platform:
-            android.*: 2
-            windows10-64-asan.*: 3
-            default: default
-    chunks:
-        by-test-platform:
-            android.*: 10
-            default: 1
-    mozharness:
-        by-test-platform:
-            android.*:
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=marionette
-            default:
-                script: marionette.py
-                no-read-buildbot-config: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - marionette/windows_taskcluster_config.py
-                        macosx.*:
-                            - marionette/prod_config.py
-                            - marionette/mac_taskcluster_config.py
-                        default:
-                            - marionette/prod_config.py
-                            - remove_executables.py
-
-marionette-headless:
-    description: "Marionette headless unittest run"
-    suite: marionette
-    treeherder-symbol: tc(MnH)
-    max-run-time: 5400
-    instance-size: default
-    chunks: 1
-    mozharness:
-        script: marionette.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - marionette/windows_taskcluster_config.py
-                macosx.*:
-                    - marionette/prod_config.py
-                    - marionette/mac_taskcluster_config.py
-                default:
-                    - marionette/prod_config.py
-                    - remove_executables.py
-        extra-options:
-            - --headless
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-mochitest:
-    description: "Mochitest plain run"
-    suite:
-        by-test-platform:
-            linux64-jsdcov/opt: mochitest/plain-chunked-coverage
-            default: mochitest/plain-chunked
-    treeherder-symbol: tc-M()
-    loopback-video: true
-    instance-size:
-        by-test-platform:
-            linux64-jsdcov/opt: xlarge
-            android.*: xlarge
-            default: default
-    chunks:
-        by-test-platform:
-            android-4.3-arm7-api-16/debug: 48
-            android.*: 20
-            macosx.*: 5
-            windows.*: 5
-            linux32/debug: 16
-            linux32-stylo-disabled/debug: 16
-            linux.*: 10
-    e10s:
-        by-test-platform:
-            linux64-jsdcov/opt: false
-            windows7-32/debug: both
-            default: true
-    max-run-time:
-        by-test-platform:
-            android-4.3-arm7-api-16/debug: 7200
-            linux64-jsdcov/opt: 10800
-            default: 5400
-    allow-software-gl-layers: false
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-    mozharness:
-        by-test-platform:
-            android.*:
-                mochitest-flavor: plain
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=mochitest
-            default:
-                mochitest-flavor: plain
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    by-test-platform:
-                        linux64-jsdcov/opt:
-                            - --mochitest-suite=plain-chunked-coverage
-                        default:
-                            - --mochitest-suite=plain-chunked
-
-mochitest-a11y:
-    description: "Mochitest a11y run"
-    suite: mochitest/a11y
-    treeherder-symbol: tc-M(a11y)
-    loopback-video: true
-    e10s: false
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: built-projects
-    mozharness:
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        chunked: false
-        mochitest-flavor: a11y
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --mochitest-suite=a11y
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-mochitest-browser-chrome:
-    description: "Mochitest browser-chrome run"
-    suite:
-        by-test-platform:
-            linux64-jsdcov/opt: mochitest/browser-chrome-coverage
-            default: mochitest/browser-chrome-chunked
-    treeherder-symbol: tc-M(bc)
-    loopback-video: true
-    chunks:
-        by-test-platform:
-            linux64/debug: 16
-            linux64-stylo-disabled/debug: 16
-            linux64-asan/opt: 16
-            linux64-jsdcov/opt: 35
-            linux32/debug: 16
-            linux32-stylo-disabled/debug: 16
-            default: 7
-    e10s:
-        by-test-platform:
-            linux64-jsdcov/opt: false
-            windows7-32/debug: both
-            default: true
-    max-run-time:
-        by-test-platform:
-            linux64-jsdcov/opt: 7200
-            linux64-ccov/opt: 7200
-            linux64/debug: 5400
-            linux64-stylo-disabled/debug: 5400
-            linux32/debug: 5400
-            linux32-stylo-disabled/debug: 5400
-            default: 3600
-    mozharness:
-        mochitest-flavor: browser
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        chunked: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            by-test-platform:
-                linux64-jsdcov/opt:
-                    - --mochitest-suite=browser-chrome-coverage
-                default:
-                    - --mochitest-suite=browser-chrome-chunked
-    # Bug 1281241: migrating to m3.large instances
-    instance-size:
-        by-test-platform:
-            linux64-jsdcov/opt: xlarge
-            default: legacy
-    allow-software-gl-layers: false
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-mochitest-browser-screenshots:
-    description: "Mochitest Browser Screenshots"
-    suite: mochitest/browser-chrome-screenshots
-    treeherder-symbol: tc-M(ss)
-    loopback-video: true
-    run-on-projects:
-        by-test-platform:
-            windows.*/opt: ['mozilla-central', 'try']
-            linux64/opt: ['mozilla-central', 'try']
-            macosx.*/opt: ['mozilla-central', 'try']
-            windows7-32-devedition/opt: []
-            windows10-64-devedition/opt: []
-            default: []
-    max-run-time: 3600
-    mozharness:
-        mochitest-flavor: browser
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --mochitest-suite=browser-chrome-screenshots
-    allow-software-gl-layers: false
-
-mochitest-chrome:
-    description: "Mochitest chrome run"
-    suite: mochitest/chrome
-    treeherder-symbol: tc-M(c)
-    loopback-video: true
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: default
-    chunks:
-        by-test-platform:
-            android-4.3-arm7-api-16/debug: 4
-            android.*: 2
-            default: 3
-    max-run-time: 3600
-    e10s: false
-    mozharness:
-        by-test-platform:
-            android.*:
-                mochitest-flavor: chrome
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    by-test-platform:
-                        android-4.2-x86/opt:
-                            - android/androidx86.py
-                        default:
-                            - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=mochitest-chrome
-            default:
-                mochitest-flavor: chrome
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - remove_executables.py
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --mochitest-suite=chrome
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-mochitest-clipboard:
-    description: "Mochitest clipboard run"
-    suite: mochitest/clipboard
-    treeherder-symbol: tc-M(cl)
-    loopback-video: true
-    virtualization: hardware
-    instance-size: xlarge
-    worker-type:
-        by-test-platform:
-            windows7-32.*: buildbot-bridge/buildbot-bridge
-            windows10-64.*: buildbot-bridge/buildbot-bridge
-            default: null
-    e10s:
-        by-test-platform:
-            windows7-32/debug: both
-            default: true
-    mozharness:
-        by-test-platform:
-            android.*:
-                mochitest-flavor: plain
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    # note that Android runs fewer suites than other platforms
-                    - --test-suite=mochitest-plain-clipboard
-            default:
-                mochitest-flavor: plain
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked: false
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - remove_executables.py
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --mochitest-suite=plain-clipboard,chrome-clipboard,browser-chrome-clipboard
-
-mochitest-devtools-chrome:
-    description: "Mochitest devtools-chrome run"
-    suite:
-        by-test-platform:
-            linux64-jsdcov/opt: mochitest/mochitest-devtools-chrome-coverage
-            default: mochitest/mochitest-devtools-chrome-chunked
-    treeherder-symbol: tc-M(dt)
-    loopback-video: true
-    max-run-time: 5400
-    chunks:
-        by-test-platform:
-            windows.*: 8
-            macosx.*: 8
-            default: 10
-    e10s:
-        by-test-platform:
-            linux64-jsdcov/opt: false
-            windows7-32/debug: both
-            default: true
-    mozharness:
-        mochitest-flavor: chrome
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        chunked: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            by-test-platform:
-                linux64-jsdcov/opt:
-                    - --mochitest-suite=mochitest-devtools-chrome-coverage
-                default:
-                    - --mochitest-suite=mochitest-devtools-chrome-chunked
-    instance-size:
-        by-test-platform:
-            # Bug 1281241: migrating to m3.large instances
-            linux64-asan/opt: legacy
-            default: default
-    # Bug 1296086: high number of intermittents observed with software GL and large instances
-    allow-software-gl-layers: false
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-mochitest-gpu:
-    description: "Mochitest GPU run"
-    suite: mochitest/gpu
-    treeherder-symbol: tc-M(gpu)
-    loopback-video: true
-    virtualization: virtual-with-gpu
-    e10s:
-        by-test-platform:
-            windows7-32/debug: both
-            default: true
-    mozharness:
-        by-test-platform:
-            android.*:
-                mochitest-flavor: plain
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    # note that Android runs fewer suites than other platforms
-                    - --test-suite=mochitest-plain-gpu
-            default:
-                mochitest-flavor: plain
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked: false
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --mochitest-suite=plain-gpu,chrome-gpu,browser-chrome-gpu
-    tier:
-        by-test-platform:
-            linux64-qr/.*: 1
-            windows10-64-asan.*: 3
-            default: default
-
-mochitest-media:
-    description: "Mochitest media run"
-    suite: mochitest/mochitest-media
-    treeherder-symbol: tc-M(mda)
-    max-run-time: 5400
-    loopback-video: true
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: large
-    chunks:
-        by-test-platform:
-            android.*: 3
-            macosx64.*: 1
-            windows10-64.*: 1
-            default: 3
-    mozharness:
-        by-test-platform:
-            android.*:
-                mochitest-flavor: plain
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=mochitest-media
-            default:
-                mochitest-flavor: plain
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked:
-                  by-test-platform:
-                    macosx64.*: false
-                    windows10-64.*: false
-                    default: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --mochitest-suite=mochitest-media
-    tier:
-        by-test-platform:
-            linux64-qr/.*: 1
-            windows10-64-asan.*: 3
-            default: default
-
-mochitest-plain-headless:
-    description: "Mochitest plain headless run"
-    suite: mochitest/plain-chunked
-    treeherder-symbol: tc-M(h)
-    loopback-video: true
-    instance-size: legacy # Bug 1281241: migrating to m3.large instances
-    chunks:
-        by-test-platform:
-            linux.*: 10
-    e10s: true
-    max-run-time: 5400
-    allow-software-gl-layers: false
-    tier: default
-    mozharness:
-        mochitest-flavor: plain
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        chunked: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --mochitest-suite=plain-chunked
-            - --headless
-
-mochitest-valgrind:
-    description: "Mochitest plain Valgrind run"
-    suite: mochitest/valgrind-plain
-    treeherder-symbol: tc-M-V()
-    run-on-projects: []
-    tier: 3
-    loopback-video: true
-    chunks: 40
-    max-run-time: 14400
-    # We could re-enable e10s later.
-    # There's no intrinsic reason not to use it.
-    e10s: false
-    allow-software-gl-layers: false
-    mozharness:
-        mochitest-flavor: plain
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        chunked: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --mochitest-suite=valgrind-plain
-
-mochitest-webgl:
-    description: "Mochitest webgl run"
-    suite: mochitest/mochitest-gl
-    treeherder-symbol: tc-M(gl)
-    virtualization: virtual-with-gpu
-    chunks:
-        by-test-platform:
-            android.*: 10
-            windows.*: 8
-            default: 3
-    e10s:
-        by-test-platform:
-            windows7-32/debug: both
-            default: true
-    loopback-video: true
-    max-run-time:
-        by-test-platform:
-            windows.*: 5400
-            android.*: 7200
-            default: 3600
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: default
-    # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
-    allow-software-gl-layers: false
-    mozharness:
-        by-test-platform:
-            android.*:
-                mochitest-flavor: plain
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=mochitest-gl
-            default:
-                mochitest-flavor: plain
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --mochitest-suite=mochitest-gl
-    tier:
-        by-test-platform:
-            linux64-qr/.*: 1
-            windows10-64-asan.*: 3
-            default: default
-
-reftest:
-    description: "Reftest run"
-    suite: reftest/reftest
-    treeherder-symbol: tc-R(R)
-    worker-type:
-        by-test-platform:
-            windows10-64.*: buildbot-bridge/buildbot-bridge
-            default: null
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: default
-    virtualization: virtual-with-gpu
-    chunks:
-        by-test-platform:
-            android-4.3-arm7-api-16/debug: 48
-            android.*: 16
-            macosx64.*/opt: 1
-            macosx64.*/debug: 2
-            windows10-64.*/opt: 1
-            windows10-64.*/debug: 2
-            default: 8
-    e10s:
-        by-test-platform:
-            windows10-64/debug: both
-            default: true
-    max-run-time:
-        by-test-platform:
-            android.*: 7200
-            default: 3600
-    mozharness:
-        by-test-platform:
-            android.*:
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    - android/androidarm_4_3.py
-                extra-options:
-                    - --test-suite=reftest
-            default:
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                chunked:
-                  by-test-platform:
-                    macosx64/opt: false
-                    windows10-64.*/opt: false
-                    windows10-64.*/debug: true
-                    default: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    - --reftest-suite=reftest
-    tier:
-        by-test-platform:
-            linux64-qr/.*: 1
-            windows10-64-asan.*: 3
-            default: default
-
-reftest-gpu:
-    description: "Reftest GPU run"
-    suite: reftest/reftest-gpu
-    treeherder-symbol: tc-R(Rg)
-    chunks: 8
-    run-on-projects:
-        by-test-platform:
-            windows10.*: []
-            windows8-64.*: []
-            default: built-projects
-    instance-size: default
-    virtualization: virtual-with-gpu
-    max-run-time: 3600
-    mozharness:
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        chunked: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --reftest-suite=reftest-gpu
-    tier: default
-
-reftest-no-accel:
-    description: "Reftest not accelerated run"
-    suite: reftest/reftest-no-accel
-    treeherder-symbol: tc-R(Ru)
-    virtualization: virtual-with-gpu
-    worker-type:
-        by-test-platform:
-            windows10-64.*: buildbot-bridge/buildbot-bridge
-            default: null
-    chunks:
-        by-test-platform:
-            macosx.*: 1
-            windows10-64.*/debug: 2
-            windows10-64.*/opt: 1
-            default: 8
-    e10s:
-        by-test-platform:
-            linux64-jsdcov/opt: false
-            windows10-64/debug: both
-            default: true
-    mozharness:
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        chunked:
-            by-test-platform:
-                windows10-64.*/opt: false
-                macosx.*: false
-                default: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                linux.*:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --reftest-suite=reftest-no-accel
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
-
-reftest-stylo:
-    description: "Reftest run in Stylo vs. Gecko mode"
-    suite: reftest/reftest-stylo
-    treeherder-symbol: tc-R(Rs)
-    virtualization: virtual-with-gpu
-    chunks: 8
-    mozharness:
-        script: desktop_unittest.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - unittests/win_taskcluster_unittest.py
-                macosx.*:
-                    - unittests/mac_unittest.py
-                default:
-                    - unittests/linux_unittest.py
-                    - remove_executables.py
-        extra-options:
-            - --reftest-suite=reftest-stylo
-
-robocop:
-    description: "Robocop run"
-    suite: robocop
-    treeherder-symbol: tc-M(rc)
-    instance-size: xlarge
-    chunks:
-        by-test-platform:
-            # android-4.3-arm7-api-16/debug -- not run
-            android-4.3-arm7-api-16/opt: 4
-            android-4.3-arm7-api-16-gradle/opt: 4
-    loopback-video: true
-    e10s: false
-    mozharness:
-        script: android_emulator_unittest.py
-        no-read-buildbot-config: true
-        config:
-            - android/androidarm_4_3.py
-        extra-options:
-            - --test-suite=robocop
-
-talos-chrome:
-    description: "Talos chrome"
-    suite: talos
-    try-name: chromez
-    treeherder-symbol: tc-T(c)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=chromez
-            - --add-option
-            - --webServer,localhost
-
-talos-chrome-stylo-disabled:
-    description: "Talos Stylo disabled chrome"
-    suite: talos
-    try-name: chromez-stylo-disabled
-    treeherder-symbol: tc-Tsd(c)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=chromez-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-dromaeojs:
-    description: "Talos dromaeojs"
-    suite: talos
-    try-name: dromaeojs
-    treeherder-symbol: tc-T(d)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=dromaeojs
-            - --add-option
-            - --webServer,localhost
-
-talos-dromaeojs-stylo-disabled:
-    description: "Talos Stylo disabled dromaeojs"
-    suite: talos
-    try-name: dromaeojs-stylo-disabled
-    treeherder-symbol: tc-Tsd(d)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=dromaeojs-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-g1:
-    description: "Talos g1"
-    suite: talos
-    try-name: g1
-    treeherder-symbol: tc-T(g1)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 7200
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g1
-            - --add-option
-            - --webServer,localhost
-
-talos-g1-stylo-disabled:
-    description: "Talos Stylo disabled g1"
-    suite: talos
-    try-name: g1-stylo-disabled
-    treeherder-symbol: tc-Tsd(g1)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 7200
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g1-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-g2:
-    description: "Talos g2"
-    suite: talos
-    try-name: g2
-    treeherder-symbol: tc-T(g2)
-    virtualization: hardware
-    max-run-time: 7200
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g2
-            - --add-option
-            - --webServer,localhost
-
-talos-g2-stylo-disabled:
-    description: "Talos Stylo disabled g2"
-    suite: talos
-    try-name: g2-stylo-disabled
-    treeherder-symbol: tc-Tsd(g2)
-    virtualization: hardware
-    max-run-time: 7200
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g2-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-g3:
-    description: "Talos g3"
-    suite: talos
-    try-name: g3
-    treeherder-symbol: tc-T(g3)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g3
-            - --add-option
-            - --webServer,localhost
-
-talos-g3-stylo-disabled:
-    description: "Talos Stylo disabled g3"
-    suite: talos
-    try-name: g3-stylo-disabled
-    treeherder-symbol: tc-Tsd(g3)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g3-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-g4:
-    description: "Talos g4"
-    suite: talos
-    try-name: g4
-    treeherder-symbol: tc-T(g4)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g4
-            - --add-option
-            - --webServer,localhost
-
-talos-g4-stylo-disabled:
-    description: "Talos Stylo disabled g4"
-    suite: talos
-    try-name: g4-stylo-disabled
-    treeherder-symbol: tc-Tsd(g4)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=g4-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-g5:
-    description: "Talos g5"
-    suite: talos
-    try-name: g5
-    treeherder-symbol: tc-T(g5)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-                    - remove_executables.py
-        extra-options:
-            - --suite=g5
-            - --add-option
-            - --webServer,localhost
-
-talos-g5-stylo-disabled:
-    description: "Talos Stylo disabled g5"
-    suite: talos
-    try-name: g5-stylo-disabled
-    treeherder-symbol: tc-Tsd(g5)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-                    - remove_executables.py
-        extra-options:
-            - --suite=g5-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-h1:
-    description: "Talos h1"
-    suite: talos
-    try-name: h1
-    treeherder-symbol: tc-T(h1)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=h1
-            - --add-option
-            - --webServer,localhost
-
-talos-h2:
-    description: "Talos h2"
-    suite: talos
-    try-name: h2
-    treeherder-symbol: tc-T(h2)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=h2
-            - --add-option
-            - --webServer,localhost
-
-talos-other:
-    description: "Talos other"
-    suite: talos
-    try-name: other
-    treeherder-symbol: tc-T(o)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=other
-            - --add-option
-            - --webServer,localhost
-
-talos-other-stylo-disabled:
-    description: "Talos Stylo disabled other"
-    suite: talos
-    try-name: other-stylo-disabled
-    treeherder-symbol: tc-Tsd(o)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=other-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-perf-reftest:
-    description: "Talos perf-reftest"
-    suite: talos
-    try-name: perf-reftest
-    treeherder-symbol: tc-T(p)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=perf-reftest
-
-talos-perf-reftest-singletons:
-    description: "Talos perf-reftest singletons"
-    suite: talos
-    try-name: perf-reftest-singletons
-    treeherder-symbol: tc-T(ps)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=perf-reftest-singletons
-
-talos-perf-reftest-singletons-stylo-disabled:
-    description: "Talos Stylo disabled perf-reftest singletons"
-    suite: talos
-    try-name: perf-reftest-singletons-stylo-disabled
-    treeherder-symbol: tc-Tsd(ps)
-    virtualization: hardware
-    run-on-projects: ['mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=perf-reftest-singletons-stylo-disabled
-
-talos-perf-reftest-stylo-disabled:
-    description: "Talos Stylo disabled perf-reftest"
-    suite: talos
-    try-name: perf-reftest-stylo-disabled
-    treeherder-symbol: tc-Tsd(p)
-    virtualization: hardware
-    run-on-projects: ['mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=perf-reftest-stylo-disabled
-
-talos-speedometer:
-    description: "Talos speedometer"
-    suite: talos
-    try-name: speedometer
-    treeherder-symbol: tc-T(sp)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=speedometer
-            - --add-option
-            - --webServer,localhost
-
-talos-speedometer-stylo-disabled:
-    description: "Talos Stylo disabled speedometer"
-    suite: talos
-    try-name: speedometer-stylo-disabled
-    treeherder-symbol: tc-Tsd(sp)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=speedometer-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-svgr:
-    description: "Talos svgr"
-    suite: talos
-    try-name: svgr
-    treeherder-symbol: tc-T(s)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=svgr
-            - --add-option
-            - --webServer,localhost
-
-talos-svgr-stylo-disabled:
-    description: "Talos Stylo disabled svgr"
-    suite: talos
-    try-name: svgr-stylo-disabled
-    treeherder-symbol: tc-Tsd(s)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=svgr-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-tp5o:
-    description: "Talos tp5o"
-    suite: talos
-    try-name: tp5o
-    treeherder-symbol: tc-T(tp)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=tp5o
-            - --add-option
-            - --webServer,localhost
-
-talos-tp5o-stylo-disabled:
-    description: "Talos Stylo disabled tp5o"
-    suite: talos
-    try-name: tp5o-stylo-disabled
-    treeherder-symbol: tc-Tsd(tp)
-    virtualization: hardware
-    run-on-projects: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=tp5o-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-talos-tp6:
-    description: "Talos Tp6"
-    suite: talos
-    try-name: tp6
-    treeherder-symbol: tc-T(tp6)
-    run-on-projects:
-        by-test-platform:
-            windows.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-            macosx.*: ['mozilla-beta', 'autoland', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=tp6
-            - --add-option
-            - --webServer,localhost
-
-talos-tp6-stylo-disabled:
-    description: "Talos Stylo disabled Tp6"
-    suite: talos
-    try-name: tp6-stylo-disabled
-    treeherder-symbol: tc-Tsd(tp6)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            windows.*: ['mozilla-beta', 'mozilla-central', 'try']
-            macosx.*: ['mozilla-beta', 'mozilla-central', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=tp6-stylo-disabled
-
-talos-tp6-stylo-threads:
-    description: "Talos Stylo sequential Tp6"
-    suite: talos
-    try-name: tp6-stylo-threads
-    treeherder-symbol: tc-Tss(tp6)
-    virtualization: hardware
-    run-on-projects:
-        by-test-platform:
-            windows.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-            macosx.*: ['mozilla-beta', 'autoland', 'try']
-            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=tp6-stylo-threads
-
-talos-xperf:
-    description: "Talos xperf"
-    suite: talos
-    try-name: xperf
-    treeherder-symbol: tc-T(x)
-    run-on-projects:
-        by-test-platform:
-            windows7-32.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
-            default: []
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=xperf
-            - --add-option
-            - --webServer,localhost
-
-talos-xperf-stylo-disabled:
-    description: "Talos Stylo disabled xperf"
-    suite: talos
-    try-name: xperf-stylo-disabled
-    treeherder-symbol: tc-Tsd(x)
-    run-on-projects:
-        by-test-platform:
-            windows7-32.*: ['mozilla-beta', 'mozilla-central', 'try']
-            default: []
-    max-run-time: 3600
-    mozharness:
-        script: talos_script.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                macosx.*:
-                    - talos/mac_config.py
-                windows.*:
-                    - talos/windows_config.py
-                default:
-                    - talos/linux_config.py
-        extra-options:
-            - --suite=xperf-stylo-disabled
-            - --add-option
-            - --webServer,localhost
-
-telemetry-tests-client:
-    description: "Telemetry tests client run"
-    suite: telemetry-tests-client
-    treeherder-symbol: tc-e10s
-    max-run-time: 5400
-    checkout: true
-    tier: 3
-    mozharness:
-        script: telemetry/telemetry_client.py
-        config:
-            by-test-platform:
-                linux.*:
-                    - remove_executables.py
-                windows.*: []
-
-test-verify:
-    description: "Extra verification of tests modified on this push"
-    suite: test-verification
-    treeherder-symbol: tc(TV)
-    loopback-video: true
-    max-run-time: 5400
-    allow-software-gl-layers: false
-    run-on-projects:
-        by-test-platform:
-            # do not run on ccov; see also the enable_code_coverage transform
-            linux64-ccov/.*: []
-            default: built-projects
-    tier:
-        by-test-platform:
-            android.*: 3
-            windows10-64-asan.*: 3
-            default: 2
-    mozharness:
-        by-test-platform:
-            android.*:
-                script: android_emulator_unittest.py
-                config:
-                    - android/androidarm_4_3.py
-                no-read-buildbot-config: true
-                extra-options:
-                    - --verify
-            default:
-                script: desktop_unittest.py
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - remove_executables.py
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                no-read-buildbot-config: true
-                extra-options:
-                    - --verify
-
-web-platform-tests:
-    description: "Web platform test run"
-    suite: web-platform-tests
-    treeherder-symbol: tc-W(wpt)
-    chunks:
-      by-test-platform:
-        macosx64/opt: 5
-        macosx64/debug: 10
-        default: 12
-    max-run-time: 7200
-    instance-size: xlarge
-    e10s:
-        by-test-platform:
-            windows7-32/debug: both
-            default: true
-    mozharness:
-        script: web_platform_tests.py
-        no-read-buildbot-config: true
-        chunked: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - web_platform_tests/prod_config_windows_taskcluster.py
-                macosx.*:
-                    - web_platform_tests/prod_config.py
-                default:
-                    - web_platform_tests/prod_config.py
-                    - remove_executables.py
-        extra-options:
-            - --test-type=testharness
-
-web-platform-tests-headless:
-    description: "Web platform test headless run"
-    suite: web-platform-tests
-    treeherder-symbol: tc-W(wptH)
-    chunks:
-      by-test-platform:
-        macosx64/opt: 5
-        macosx64/debug: 10
-        default: 12
-    e10s:
-        by-test-platform:
-            macosx.*: true
-            default: true
-    max-run-time: 7200
-    instance-size: xlarge
-    run-on-projects: [] # disabled pending releng approval
-    mozharness:
-        script: web_platform_tests.py
-        no-read-buildbot-config: true
-        chunked: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - web_platform_tests/prod_config_windows_taskcluster.py
-                macosx.*:
-                    - web_platform_tests/prod_config.py
-                default:
-                    - web_platform_tests/prod_config.py
-                    - remove_executables.py
-        extra-options:
-            by-test-platform:
-                windows.*:
-                    - --test-type=testharness
-                    - --headless
-                    - --headless-width=1024
-                    - --headless-height=768
-                default:
-                    - --test-type=testharness
-                    - --headless
-
-web-platform-tests-reftests:
-    description: "Web platform reftest run"
-    suite: web-platform-tests-reftests
-    treeherder-symbol: tc-W(Wr)
-    max-run-time: 5400
-    instance-size: xlarge
-    chunks:
-      by-test-platform:
-        macosx.*: 1
-        windows.*: 1
-        default: 6
-    e10s:
-        by-test-platform:
-            windows7-32/debug: both
-            default: true
-    mozharness:
-        script: web_platform_tests.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - web_platform_tests/prod_config_windows_taskcluster.py
-                macosx.*:
-                    - web_platform_tests/prod_config.py
-                default:
-                    - web_platform_tests/prod_config.py
-                    - remove_executables.py
-        extra-options:
-            - --test-type=reftest
-
-web-platform-tests-reftests-headless:
-    description: "Web platform reftest headless run"
-    suite: web-platform-tests-reftests
-    treeherder-symbol: tc-W(WrH)
-    max-run-time: 5400
-    instance-size: xlarge
-    chunks:
-      by-test-platform:
-        macosx.*: 1
-        windows.*: 1
-        default: 6
-    e10s:
-        by-test-platform:
-            windows7-32/debug: both
-            default: true
-    run-on-projects: [] # disabled pending releng approval
-    mozharness:
-        script: web_platform_tests.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - web_platform_tests/prod_config_windows_taskcluster.py
-                macosx.*:
-                    - web_platform_tests/prod_config.py
-                default:
-                    - web_platform_tests/prod_config.py
-                    - remove_executables.py
-        extra-options:
-            by-test-platform:
-                windows.*:
-                    - --test-type=reftest
-                    - --headless
-                    - --headless-width=1024
-                    - --headless-height=768
-                default:
-                    - --test-type=reftest
-
-web-platform-tests-wdspec:
-    description: "Web platform webdriver-spec run"
-    suite: web-platform-tests-wdspec
-    treeherder-symbol: tc-W(Wd)
-    max-run-time: 5400
-    instance-size: xlarge
-    mozharness:
-        script: web_platform_tests.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - web_platform_tests/prod_config_windows_taskcluster.py
-                macosx.*:
-                    - web_platform_tests/prod_config.py
-                default:
-                    - web_platform_tests/prod_config.py
-                    - remove_executables.py
-        extra-options:
-            - --test-type=wdspec
-
-web-platform-tests-wdspec-headless:
-    description: "Web platform webdriver-spec headless run"
-    suite: web-platform-tests-wdspec
-    treeherder-symbol: tc-W(WdH)
-    max-run-time: 5400
-    instance-size: xlarge
-    run-on-projects: [] # disabled pending releng approval
-    mozharness:
-        script: web_platform_tests.py
-        no-read-buildbot-config: true
-        config:
-            by-test-platform:
-                windows.*:
-                    - web_platform_tests/prod_config_windows_taskcluster.py
-                macosx.*:
-                    - web_platform_tests/prod_config.py
-                default:
-                    - web_platform_tests/prod_config.py
-                    - remove_executables.py
-        extra-options:
-            by-test-platform:
-                windows.*:
-                    - --test-type=wdspec
-                    - --headless
-                    - --headless-width=1024
-                    - --headless-height=768
-                default:
-                    - --test-type=wdspec
-                    - --headless
-
-xpcshell:
-    description: "xpcshell test run"
-    suite:
-        by-test-platform:
-            linux64-jsdcov/opt: xpcshell-coverage
-            default: xpcshell
-    treeherder-symbol: tc-X(X)
-    run-on-projects:
-        by-test-platform:
-            linux64-qr/.*: ['mozilla-central', 'try']
-            windows10-64-asan/opt: []  # No XPCShell on ASAN yet
-            default: built-projects
-    chunks:
-        by-test-platform:
-            linux32/debug: 12
-            linux64/debug: 10
-            android-4.2-x86/opt: 6
-            macosx.*: 1
-            windows.*: 1
-            default: 8
-    instance-size:
-        by-test-platform:
-            android.*: xlarge
-            default: default
-    max-run-time: 5400
-    e10s: false
-    allow-software-gl-layers: false
-    mozharness:
-        by-test-platform:
-            android.*:
-                script: android_emulator_unittest.py
-                no-read-buildbot-config: true
-                extra-options:
-                    - --test-suite=xpcshell
-                config:
-                    by-test-platform:
-                        android-4.2-x86/opt:
-                            - android/androidx86.py
-                        default:
-                            - android/androidarm_4_3.py
-            default:
-                script: desktop_unittest.py
-                no-read-buildbot-config: true
-                config:
-                    by-test-platform:
-                        windows.*:
-                            - unittests/win_taskcluster_unittest.py
-                        macosx.*:
-                            - unittests/mac_unittest.py
-                        linux.*:
-                            - unittests/linux_unittest.py
-                            - remove_executables.py
-                extra-options:
-                    by-test-platform:
-                        linux64-jsdcov/opt:
-                            - --xpcshell-suite=xpcshell-coverage
-                        default:
-                            - --xpcshell-suite=xpcshell
-                requires-signed-builds:
-                    by-test-platform:
-                        windows10-64-asan/opt: false    # No XPCShell on ASAN yet
-                        windows.*: true
-                        default: false
-    tier:
-        by-test-platform:
-            windows10-64-asan.*: 3
-            default: default
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/web-platform.yml
@@ -0,0 +1,190 @@
+web-platform-tests:
+    description: "Web platform test run"
+    suite: web-platform-tests
+    treeherder-symbol: tc-W(wpt)
+    chunks:
+      by-test-platform:
+        macosx64/opt: 5
+        macosx64/debug: 10
+        default: 12
+    max-run-time: 7200
+    instance-size: xlarge
+    e10s:
+        by-test-platform:
+            windows7-32/debug: both
+            default: true
+    mozharness:
+        script: web_platform_tests.py
+        no-read-buildbot-config: true
+        chunked: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - web_platform_tests/prod_config_windows_taskcluster.py
+                macosx.*:
+                    - web_platform_tests/prod_config.py
+                default:
+                    - web_platform_tests/prod_config.py
+                    - remove_executables.py
+        extra-options:
+            - --test-type=testharness
+
+web-platform-tests-headless:
+    description: "Web platform test headless run"
+    suite: web-platform-tests
+    treeherder-symbol: tc-W(wptH)
+    chunks:
+      by-test-platform:
+        macosx64/opt: 5
+        macosx64/debug: 10
+        default: 12
+    e10s:
+        by-test-platform:
+            macosx.*: true
+            default: true
+    max-run-time: 7200
+    instance-size: xlarge
+    run-on-projects: [] # disabled pending releng approval
+    mozharness:
+        script: web_platform_tests.py
+        no-read-buildbot-config: true
+        chunked: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - web_platform_tests/prod_config_windows_taskcluster.py
+                macosx.*:
+                    - web_platform_tests/prod_config.py
+                default:
+                    - web_platform_tests/prod_config.py
+                    - remove_executables.py
+        extra-options:
+            by-test-platform:
+                windows.*:
+                    - --test-type=testharness
+                    - --headless
+                    - --headless-width=1024
+                    - --headless-height=768
+                default:
+                    - --test-type=testharness
+                    - --headless
+
+web-platform-tests-reftests:
+    description: "Web platform reftest run"
+    suite: web-platform-tests-reftests
+    treeherder-symbol: tc-W(Wr)
+    max-run-time: 5400
+    instance-size: xlarge
+    chunks:
+      by-test-platform:
+        macosx.*: 1
+        windows.*: 1
+        default: 6
+    e10s:
+        by-test-platform:
+            windows7-32/debug: both
+            default: true
+    mozharness:
+        script: web_platform_tests.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - web_platform_tests/prod_config_windows_taskcluster.py
+                macosx.*:
+                    - web_platform_tests/prod_config.py
+                default:
+                    - web_platform_tests/prod_config.py
+                    - remove_executables.py
+        extra-options:
+            - --test-type=reftest
+
+web-platform-tests-reftests-headless:
+    description: "Web platform reftest headless run"
+    suite: web-platform-tests-reftests
+    treeherder-symbol: tc-W(WrH)
+    max-run-time: 5400
+    instance-size: xlarge
+    chunks:
+      by-test-platform:
+        macosx.*: 1
+        windows.*: 1
+        default: 6
+    e10s:
+        by-test-platform:
+            windows7-32/debug: both
+            default: true
+    run-on-projects: [] # disabled pending releng approval
+    mozharness:
+        script: web_platform_tests.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - web_platform_tests/prod_config_windows_taskcluster.py
+                macosx.*:
+                    - web_platform_tests/prod_config.py
+                default:
+                    - web_platform_tests/prod_config.py
+                    - remove_executables.py
+        extra-options:
+            by-test-platform:
+                windows.*:
+                    - --test-type=reftest
+                    - --headless
+                    - --headless-width=1024
+                    - --headless-height=768
+                default:
+                    - --test-type=reftest
+
+web-platform-tests-wdspec:
+    description: "Web platform webdriver-spec run"
+    suite: web-platform-tests-wdspec
+    treeherder-symbol: tc-W(Wd)
+    max-run-time: 5400
+    instance-size: xlarge
+    mozharness:
+        script: web_platform_tests.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - web_platform_tests/prod_config_windows_taskcluster.py
+                macosx.*:
+                    - web_platform_tests/prod_config.py
+                default:
+                    - web_platform_tests/prod_config.py
+                    - remove_executables.py
+        extra-options:
+            - --test-type=wdspec
+
+web-platform-tests-wdspec-headless:
+    description: "Web platform webdriver-spec headless run"
+    suite: web-platform-tests-wdspec
+    treeherder-symbol: tc-W(WdH)
+    max-run-time: 5400
+    instance-size: xlarge
+    run-on-projects: [] # disabled pending releng approval
+    mozharness:
+        script: web_platform_tests.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                windows.*:
+                    - web_platform_tests/prod_config_windows_taskcluster.py
+                macosx.*:
+                    - web_platform_tests/prod_config.py
+                default:
+                    - web_platform_tests/prod_config.py
+                    - remove_executables.py
+        extra-options:
+            by-test-platform:
+                windows.*:
+                    - --test-type=wdspec
+                    - --headless
+                    - --headless-width=1024
+                    - --headless-height=768
+                default:
+                    - --test-type=wdspec
+                    - --headless
+
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/test/xpcshell.yml
@@ -0,0 +1,67 @@
+xpcshell:
+    description: "xpcshell test run"
+    suite:
+        by-test-platform:
+            linux64-jsdcov/opt: xpcshell-coverage
+            default: xpcshell
+    treeherder-symbol: tc-X(X)
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            windows10-64-asan/opt: []  # No XPCShell on ASAN yet
+            default: built-projects
+    chunks:
+        by-test-platform:
+            linux32/debug: 12
+            linux64/debug: 10
+            android-4.2-x86/opt: 6
+            macosx.*: 1
+            windows.*: 1
+            default: 8
+    instance-size:
+        by-test-platform:
+            android.*: xlarge
+            default: default
+    max-run-time: 5400
+    e10s: false
+    allow-software-gl-layers: false
+    mozharness:
+        by-test-platform:
+            android.*:
+                script: android_emulator_unittest.py
+                no-read-buildbot-config: true
+                extra-options:
+                    - --test-suite=xpcshell
+                config:
+                    by-test-platform:
+                        android-4.2-x86/opt:
+                            - android/androidx86.py
+                        default:
+                            - android/androidarm_4_3.py
+            default:
+                script: desktop_unittest.py
+                no-read-buildbot-config: true
+                config:
+                    by-test-platform:
+                        windows.*:
+                            - unittests/win_taskcluster_unittest.py
+                        macosx.*:
+                            - unittests/mac_unittest.py
+                        linux.*:
+                            - unittests/linux_unittest.py
+                            - remove_executables.py
+                extra-options:
+                    by-test-platform:
+                        linux64-jsdcov/opt:
+                            - --xpcshell-suite=xpcshell-coverage
+                        default:
+                            - --xpcshell-suite=xpcshell
+                requires-signed-builds:
+                    by-test-platform:
+                        windows10-64-asan/opt: false    # No XPCShell on ASAN yet
+                        windows.*: true
+                        default: false
+    tier:
+        by-test-platform:
+            windows10-64-asan.*: 3
+            default: default