# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
task-defaults:
    max-run-time: 3600
    suite: talos
    tier:
        by-test-platform:
            macosx1100.*: 2
            default: default
    virtualization: hardware
    mozharness:
        script: talos_script.py
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
    test-manifest-loader: null  # don't load tests in the taskgraph
    use-caches:
        by-test-platform:
            windows.*: ["checkout"]
            default: ["checkout", "pip", "uv"]

talos-bcv:
    description: Talos basic compositor video
    try-name: bcv
    treeherder-symbol: T(bcv)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    windows11-64.*(-qr)?/opt: [trunk]
                    macosx.*(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    windows.*-32.*: []
                    default: [trunk]
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=bcv

talos-bcv-profiling:
    description: Talos basic compositor video with gecko profiling
    try-name: bcv-prof
    treeherder-symbol: T-Prof(bcv)
    tier: 2
    run-on-projects: []
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=bcv
            - --gecko-profile

talos-chrome:
    description: Talos chrome
    try-name: chromez
    treeherder-symbol: T(c)
    variants:
        - webrender-sw
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=chromez

talos-chrome-profiling:
    description: Talos chrome with gecko profiling
    try-name: chromez-prof
    treeherder-symbol: T-Prof(c)
    tier: 2
    max-run-time: 1200
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=chromez
            - --gecko-profile

talos-damp-inspector:
    description: Talos devtools inspector (damp-inspector)
    try-name: damp-inspector
    treeherder-symbol: T(damp-inspector)
    max-run-time: 5400
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    mozharness:
        extra-options:
            - --suite=damp-inspector

talos-damp-webconsole:
    description: Talos devtools webconsole (damp-webconsole)
    try-name: damp-webconsole
    treeherder-symbol: T(damp-webconsole)
    max-run-time: 5400
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    mozharness:
        extra-options:
            - --suite=damp-webconsole

talos-damp-other:
    description: Talos devtools other (damp-other)
    try-name: damp-other
    treeherder-symbol: T(damp-other)
    max-run-time: 5400
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    mozharness:
        extra-options:
            - --suite=damp-other

talos-damp-inspector-profiling:
    description: Talos devtools inspector (damp-inspector) with gecko profiling
    try-name: damp-inspector-prof
    treeherder-symbol: T-Prof(damp-inspector)
    tier: 2
    max-run-time: 5400
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=damp-inspector
            - --gecko-profile

talos-damp-webconsole-profiling:
    description: Talos devtools webconsole (damp-webconsole) with gecko profiling
    try-name: damp-webconsole-prof
    treeherder-symbol: T-Prof(damp-webconsole)
    tier: 2
    max-run-time: 5400
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=damp-webconsole
            - --gecko-profile

talos-damp-other-profiling:
    description: Talos devtools other (damp-other) with gecko profiling
    try-name: damp-other-prof
    treeherder-symbol: T-Prof(damp-other)
    tier: 2
    max-run-time: 5400
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=damp-other
            - --gecko-profile

talos-dromaeojs:
    description: Talos dromaeojs
    try-name: dromaeojs
    treeherder-symbol: T(d)
    max-run-time: 2100
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    mozharness:
        extra-options:
            - --suite=dromaeojs

talos-dromaeojs-profiling:
    description: Talos dromaeojs with gecko profiling
    try-name: dromaeojs-prof
    treeherder-symbol: T-Prof(d)
    tier: 2
    max-run-time: 2100
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=dromaeojs
            - --gecko-profile

talos-g1:
    description: Talos g1
    try-name: g1
    treeherder-symbol: T(g1)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?.*: [trunk]
                    macosx.*64-shippable(-qr)?.*: [trunk]
                    windows.*-shippable(-qr)?.*: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time:
        by-test-platform:
            linux1804-64.*: 4800
            default: 7200
    mozharness:
        extra-options:
            - --suite=g1

talos-g1-profiling:
    description: Talos g1 with gecko profiling
    try-name: g1-prof
    treeherder-symbol: T-Prof(g1)
    tier: 2
    run-on-projects: []
    max-run-time:
        by-test-platform:
            linux1804-64.*: 5400
            default: 7200
    mozharness:
        extra-options:
            - --suite=g1
            - --gecko-profile

talos-g3:
    description: Talos g3
    try-name: g3
    treeherder-symbol: T(g3)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time: 900
    mozharness:
        extra-options:
            - --suite=g3

talos-g3-profiling:
    description: Talos g3 with gecko profiling
    try-name: g3-prof
    treeherder-symbol: T-Prof(g3)
    tier: 2
    max-run-time: 900
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=g3
            - --gecko-profile

talos-g4:
    description: Talos g4
    try-name: g4
    treeherder-symbol: T(g4)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time:
        by-test-platform:
            linux1804-64.*: 1500
            default: 1800
    mozharness:
        extra-options:
            - --suite=g4

talos-g4-profiling:
    description: Talos g4 with gecko profiling
    try-name: g4-prof
    treeherder-symbol: T-Prof(g4)
    tier: 2
    max-run-time:
        by-test-platform:
            linux1804-64.*: 1500
            default: 1800
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=g4
            - --gecko-profile

talos-g5:
    description: Talos g5
    try-name: g5
    treeherder-symbol: T(g5)
    mozharness:
        extra-options:
            - --suite=g5
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time:
        by-test-platform:
            linux1804-64.*: 1800
            macosx.*: 2400
            default: 1800

talos-g5-profiling:
    description: Talos g5 with gecko profiling
    try-name: g5-prof
    treeherder-symbol: T-Prof(g5)
    tier: 2
    run-on-projects: []
    mozharness:
        extra-options:
            - --suite=g5
            - --gecko-profile
    max-run-time:
        by-test-platform:
            linux1804-64.*: 1200
            default: 1800

talos-h1:
    description: Talos h1
    try-name: h1
    treeherder-symbol: T(h1)
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    mozharness:
        extra-options:
            - --suite=h1
    max-run-time:
        by-test-platform:
            linux1804-64.*: 900
            default: 1800

talos-h2:
    description: Talos h2
    try-name: h2
    treeherder-symbol: T(h2)
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    max-run-time:
        by-test-platform:
            linux1804-64.*: 900
            default: 7200
    mozharness:
        extra-options:
            - --suite=h2

talos-motionmark:
    description: Talos motionmark
    try-name: motionmark
    treeherder-symbol: T(mm)
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [mozilla-central]
    max-run-time: 3600
    tier: 2
    mozharness:
        extra-options:
            - --suite=motionmark

talos-motionmark-profiling:
    description: Talos motionmark with gecko profiling
    try-name: motionmark-prof
    treeherder-symbol: T-Prof(mm)
    run-on-projects: []
    max-run-time: 3600
    tier: 2
    mozharness:
        extra-options:
            - --suite=motionmark
            - --gecko-profile

talos-other:
    description: Talos other
    try-name: other
    treeherder-symbol: T(o)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time: 1500
    mozharness:
        extra-options:
            - --suite=other

talos-other-profiling:
    description: Talos other with gecko profiling
    try-name: other-prof
    treeherder-symbol: T-Prof(o)
    run-on-projects: []
    tier: 2
    max-run-time: 1500
    mozharness:
        extra-options:
            - --suite=other
            - --gecko-profile

talos-sessionrestore-many-windows:
    description: Talos sessionrestore-many-windows
    try-name: sessionrestore-many-windows
    treeherder-symbol: T(smw)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk-only]
                    macosx.*-64-shippable(-qr)?/opt: [trunk-only]
                    windows.*-shippable(-qr)?/opt: [trunk-only]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk-only]
    max-run-time: 1500
    mozharness:
        extra-options:
            - --suite=sessionrestore-many-windows

talos-sessionrestore-many-windows-profiling:
    description: Talos sessionrestore-many-windows with gecko profiling
    try-name: sessionrestore-many-windows-prof
    treeherder-symbol: T-Prof(smw)
    tier: 2
    run-on-projects: []
    max-run-time: 1500
    mozharness:
        extra-options:
            - --suite=sessionrestore-many-windows
            - --gecko-profile

talos-perf-reftest:
    description: Talos perf-reftest
    try-name: perf-reftest
    treeherder-symbol: T(p)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time: 1200
    mozharness:
        extra-options:
            - --suite=perf-reftest

talos-perf-reftest-profiling:
    description: Talos perf-reftest with gecko profiling
    try-name: perf-reftest-prof
    treeherder-symbol: T-Prof(p)
    tier: 2
    run-on-projects: []
    max-run-time: 1200
    mozharness:
        extra-options:
            - --suite=perf-reftest
            - --gecko-profile

talos-perf-reftest-singletons:
    description: Talos perf-reftest singletons
    try-name: perf-reftest-singletons
    treeherder-symbol: T(ps)
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows(?!.*shippable).*: []
            default: [trunk]
    max-run-time: 2000
    mozharness:
        extra-options:
            - --suite=perf-reftest-singletons

talos-perf-reftest-singletons-profiling:
    description: Talos perf-reftest singletons with gecko profiling
    try-name: perf-reftest-singletons-prof
    treeherder-symbol: T-Prof(ps)
    tier: 2
    run-on-projects: []
    max-run-time: 1500
    mozharness:
        extra-options:
            - --suite=perf-reftest-singletons
            - --gecko-profile

talos-svgr:
    description: Talos svgr
    try-name: svgr
    treeherder-symbol: T(s)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=svgr

talos-svgr-profiling:
    description: Talos svgr with gecko profiling
    try-name: svgr-prof
    treeherder-symbol: T-Prof(s)
    tier: 2
    run-on-projects: []
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=svgr
            - --gecko-profile

talos-tp5o:
    description: Talos tp5o
    try-name: tp5o
    treeherder-symbol: T(tp)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=tp5o

talos-tp5o-profiling:
    description: Talos tp5o with gecko profiling
    try-name: tp5o-prof
    treeherder-symbol: T-Prof(tp)
    tier: 2
    run-on-projects: []
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=tp5o
            - --gecko-profile

talos-tabswitch:
    description: Talos page scroll (tabswitch)
    try-name: tabswitch
    treeherder-symbol: T(tabswitch)
    variants:
        - webrender-sw
    run-on-projects: []
    max-run-time: 2100
    mozharness:
        extra-options:
            - --suite=tabswitch

talos-tabswitch-profiling:
    description: Talos page scroll (tabswitch) with gecko profiling
    try-name: tabswitch-prof
    treeherder-symbol: T-Prof(tabswitch)
    tier: 2
    run-on-projects: []
    max-run-time: 1200
    mozharness:
        extra-options:
            - --suite=tabswitch
            - --gecko-profile

talos-webgl:
    description: Talos WebGL
    try-name: webgl
    treeherder-symbol: T(webgl)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux1804-64-shippable.*: [trunk]
                    macosx.*64-shippable.*: [trunk]
                    windows.*-shippable.*: [trunk]
                    default: []
    max-run-time: 2100
    mozharness:
        extra-options:
            - --suite=webgl

talos-webgl-profiling:
    description: Talos WebGL with gecko profiling
    try-name: webgl
    treeherder-symbol: T-Prof(webgl)
    tier: 2
    run-on-projects: []
    max-run-time: 1800
    mozharness:
        extra-options:
            - --suite=webgl
            - --gecko-profile

talos-xperf:
    description: Talos xperf
    try-name: xperf
    treeherder-symbol: T(x)
    virtualization: virtual
    os-groups: [Administrators]
    run-as-administrator:
        by-test-platform:
            windows.*32.*: false
            windows11.*64.*: true
    variants:
        - webrender-sw
    run-on-projects:
        by-test-platform:
            windows.*-shippable(-qr)?/.*: [trunk]
            default: []
    mozharness:
        extra-options:
            by-test-platform:
                windows.*:
                    - --suite=xperf
                    # Disable the GPU process due to bug 1868737. There are
                    # sandbox related issues with using the GPU process when
                    # running xperf as an administrator which cause us to fail
                    # due to generating minidumps.
                    - --setpref=layers.gpu-process.enabled=false
                default:
                    - --suite=xperf
        config:
            by-test-platform:
                windows.*:
                    - talos/windows_vm_config.py

talos-realworld-webextensions:
    description: Talos tests with realworld WebExtensions
    try-name: realworld-webextensions
    treeherder-symbol: T(realwebext)
    run-on-projects:
        by-test-platform:
            linux(?!.*shippable).*: []
            macosx(?!.*shippable).*: []
            windows11-64-24h2-shippable/opt: [trunk]
            windows(?!.*shippable).*: []
            linux(?!.*-qr).*: []
            macosx(?!.*-qr).*: []
            windows(?!.*-qr).*: []
            default: [trunk]
    max-run-time: 1500
    mozharness:
        extra-options:
            - --suite=realworld-webextensions

talos-realworld-webextensions-profiling:
    description: Talos tests with realworld WebExtensions with gecko profiling
    try-name: realworld-webextensions-prof
    treeherder-symbol: T-Prof(realwebext)
    tier: 2
    run-on-projects: []
    max-run-time: 1500
    mozharness:
        extra-options:
            - --suite=realworld-webextensions
            - --gecko-profile

talos-pdfpaint:
    description: Talos pdfpaint
    try-name: pdfpaint
    treeherder-symbol: T(pdfpaint)
    variants:
        - webrender-sw
    run-on-projects:
        by-variant:
            webrender-sw:
                by-test-platform:
                    linux1804-64-shippable(-qr)?/opt: [trunk]
                    macosx.*-64-shippable(-qr)?/opt: [trunk]
                    windows.*-shippable(-qr)?/opt: [trunk]
                    default: []
            default:
                by-test-platform:
                    linux(?!.*shippable).*: []
                    macosx(?!.*shippable).*: []
                    windows(?!.*shippable).*: []
                    default: [trunk]
    max-run-time: 2100
    mozharness:
        extra-options:
            - --suite=pdfpaint
    fetches:
        toolchain:
            by-test-platform:
                win.*:
                    - win32-minidump-stackwalk
                    - win32-fix-stacks
                    - talos-pdfs
                macosx.*:
                    - macosx64-minidump-stackwalk
                    - macosx64-fix-stacks
                    - talos-pdfs
                default:
                    - linux64-minidump-stackwalk
                    - linux64-fix-stacks
                    - talos-pdfs
