taskcluster/ci/test/tests.yml
author Andrew Halberstadt <ahalberstadt@mozilla.com>
Thu, 07 Sep 2017 11:39:29 -0400
changeset 666681 008e877ffdaa277796a9f1b6195732b368cb1157
parent 666575 87b0dfdc48323ee5f4713ebc681823dc482273d9
child 666689 cb2b8b4f4e04feade93e494cc5ea9d12eb3b2017
permissions -rw-r--r--
Bug 1397229 - Schedule mochitest-browser-chrome tests on Windows 10 instead of Windows 8, r=jmaher MozReview-Commit-ID: FqmgeKc1b9o

# 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:
            .*-stylo.*: ['autoland', 'mozilla-central', 'try']
            .*-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:
            .*-stylo.*: ['autoland', 'mozilla-central', 'try']
            .*-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']
            .*-stylo.*: ['autoland', '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
    run-on-projects:
        by-test-platform:
            .*-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    chunks:
        by-test-platform:
            android-4.3-arm7-api-16/debug: 10
            android.*: 4
            default: 1
    e10s:
        by-test-platform:
            windows7-32/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
    when:
        files-changed:
            - js/src/**
            - js/public/**
    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
            windows7-32/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:
        files-changed:
            - js/src/**
            - js/public/**
    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: legacy # Bug 1281241: migrating to m3.large instances
    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: 10800
            linux64-jsdcov/opt: 10800
            default: 5400
    allow-software-gl-layers: false
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            windows7-32-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    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']
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            windows7-32-stylo.*: ['autoland', '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:
            .*-stylo.*: 2
            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
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            windows.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    worker-type:
        by-test-platform:
            windows10-64.*: buildbot-bridge/buildbot-bridge
            default: null
    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:
            .*-stylo.*: 2
            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
    instance-size: legacy
    allow-software-gl-layers: false

mochitest-chrome:
    description: "Mochitest chrome run"
    suite: mochitest/chrome
    treeherder-symbol: tc-M(c)
    loopback-video: true
    virtualization: hardware
    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
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            default: built-projects
    worker-type:
        by-test-platform:
            windows7-32.*: buildbot-bridge/buildbot-bridge
            windows10-64.*: buildbot-bridge/buildbot-bridge
            default: null
    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


mochitest-clipboard:
    description: "Mochitest clipboard run"
    suite: mochitest/clipboard
    treeherder-symbol: tc-M(cl)
    loopback-video: true
    virtualization: hardware
    instance-size: xlarge
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            default: built-projects
    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
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            windows7-32-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    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 1361476 - try xlarge on asan to see if it avoids OOM
            linux64-asan/opt: xlarge
            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
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            windows7-32-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    worker-type:
        by-test-platform:
            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-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
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            windows7-32-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    worker-type:
        by-test-platform:
            windows10-64.*: buildbot-bridge/buildbot-bridge
            default: null
    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-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
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['mozilla-central', 'try']
            windows7-32-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    chunks:
        by-test-platform:
            android.*: 10
            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)
    run-on-projects:
        by-test-platform:
            linux.*-stylo.*: ['autoland', 'mozilla-central', 'try']
            macosx64-stylo.*: ['autoland', 'mozilla-central', 'try']
            windows7-32-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    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:
            windows7-32/debug: both
            default: true
    max-run-time:
        by-test-platform:
            android.*: 10800
            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:
        by-test-platform:
            # Remove special casing when debug isn't using BBB anymore
            windows7-32.*/debug: 1
            default: 8
    run-on-projects:
        by-test-platform:
            windows10.*: []
            windows8-64.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows7-32.*/debug: buildbot-bridge/buildbot-bridge
            default: null
    instance-size: default
    virtualization: virtual-with-gpu
    max-run-time: 3600
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked:
            # Remove special casing when debug isn't using BBB anymore
            by-test-platform:
                windows7-32.*/debug: 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-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
    run-on-projects:
        by-test-platform:
            windows10.*: []
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    chunks:
        by-test-platform:
            macosx.*: 1
            windows8-64.*/debug: 2
            windows8-64.*/opt: 1
            default: 8
    e10s:
        by-test-platform:
            linux64-jsdcov/opt: false
            windows7-32/debug: both
            default: true
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked:
            by-test-platform:
                windows8-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
    run-on-projects: ['autoland', 'mozilla-central', 'try']
    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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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-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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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']
            .*-stylo.*: ['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-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', 'date']
            macosx.*: ['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=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', 'mozilla-inbound', 'autoland', 'try']
            macosx.*: ['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=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', '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=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', 'date']
            .*-stylo.*: ['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
            - --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-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: built-projects
    tier: 3
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: 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:
            - --verify
    when:
        files-changed:
            - '**/*.js'
            - '**/*.html'
            - '**/*.xhtml'
            - '**/*.xul'

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
    run-on-projects:
        by-test-platform:
            .*-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    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
    run-on-projects:
        by-test-platform:
            .*-stylo.*: ['autoland', 'mozilla-central', 'try']
            default: built-projects
    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: legacy # Bug 1281241: migrating to m3.large instances
    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