win32/debug:
    description: "Win32 Debug"
    index:
        product: firefox
        job-name: win32-debug
    treeherder:
        platform: windows2012-32/debug
        symbol: B
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/debug.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32/opt:
    description: "Win32 Opt"
    index:
        product: firefox
        job-name: win32-opt
    treeherder:
        platform: windows2012-32/opt
        symbol: B
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/opt.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32-dmd/opt:
    description: "Win32 DMD Opt"
    index:
        product: firefox
        job-name: win32-dmd-opt
    treeherder:
        platform: windows2012-32-dmd/opt
        symbol: Bdmd
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/opt.py
        extra-config:
            mozconfig_variant: 'opt-dmd'
    run-on-projects: []
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32/pgo:
    description: "Win32 Opt PGO"
    index:
        product: firefox
        job-name: win32-pgo
    treeherder:
        platform: windows2012-32/pgo
        symbol: B
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 9000
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        options: [enable-pgo, append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/opt.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64/debug:
    description: "Win64 Debug"
    index:
        product: firefox
        job-name: win64-debug
    treeherder:
        platform: windows2012-64/debug
        symbol: B
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/debug.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64/opt:
    description: "Win64 Opt"
    index:
        product: firefox
        job-name: win64-opt
    treeherder:
        platform: windows2012-64/opt
        symbol: B
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/opt.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-dmd/opt:
    description: "Win64 DMD Opt"
    index:
        product: firefox
        job-name: win64-dmd-opt
    treeherder:
        platform: windows2012-64-dmd/opt
        symbol: Bdmd
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/opt.py
        extra-config:
            mozconfig_variant: 'opt-dmd'
    run-on-projects: []
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32-nightly/opt:
    description: "Win32 Nightly"
    index:
        product: firefox
        job-name: win32-opt
        type: nightly
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: firefox
    treeherder:
        platform: windows2012-32/opt
        symbol: N
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        actions: [clone-tools, build, check-test, update]
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/opt.py
            - disable_signing.py
            - taskcluster_nightly.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-nightly/opt:
    description: "Win64 Nightly"
    index:
        product: firefox
        job-name: win64-opt
        type: nightly
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: firefox
    treeherder:
        platform: windows2012-64/opt
        symbol: N
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        actions: [clone-tools, build, check-test, update]
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/opt.py
            - disable_signing.py
            - taskcluster_nightly.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64/pgo:
    description: "Win64 Opt PGO"
    index:
        product: firefox
        job-name: win64-pgo
    treeherder:
        platform: windows2012-64/pgo
        symbol: B
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 10800
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [enable-pgo, append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/opt.py
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32-add-on-devel/opt:
    description: "Windows32 add-on-devel"
    index:
        product: firefox
        job-name: win32-add-on-devel
    treeherder:
        platform: windows2012-32-add-on-devel/opt
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 10800
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: "mozharness/scripts/fx_desktop_build.py"
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/addondevel.py
            - balrog/production.py
    run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr45']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-add-on-devel/opt:
    description: "Windows64 add-on-devel"
    index:
        product: firefox
        job-name: win64-add-on-devel
    treeherder:
        platform: windows2012-64-add-on-devel/opt
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 10800
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: "mozharness/scripts/fx_desktop_build.py"
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/addondevel.py
            - balrog/production.py
    run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr45']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-noopt/debug:
    description: "Win64 No-optimize Debug"
    index:
        product: firefox
        job-name: win64-noopt-debug
    treeherder:
        platform: windows2012-64-noopt/debug
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/noopt_debug.py
    run-on-projects: ['trunk', 'try']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32-noopt/debug:
    description: "Win32 No-optimize Debug"
    index:
        product: firefox
        job-name: win32-noopt-debug
    treeherder:
        platform: windows2012-32-noopt/debug
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/noopt_debug.py
    run-on-projects: ['trunk', 'try']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32-rusttests/opt:
    description: "Win32 Opt Rust tests"
    index:
        product: firefox
        job-name: win32-rusttests-opt
    treeherder:
        platform: windows2012-32/opt
        symbol: BR
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            PERFHERDER_EXTRA_OPTIONS: rusttests
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/rusttests_opt.py
    run-on-projects: ['trunk', 'try']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-rusttests/opt:
    description: "Win64 Opt Rust tests"
    index:
        product: firefox
        job-name: win64-rusttests-opt
    treeherder:
        platform: windows2012-64/opt
        symbol: BR
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            PERFHERDER_EXTRA_OPTIONS: rusttests
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/rusttests_opt.py
    run-on-projects: ['trunk', 'try']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-ccov/debug:
    description: "Win64 Debug Code Coverage"
    index:
        product: firefox
        job-name: win64-ccov-debug
    treeherder:
        platform: windows2012-64/ccov
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/ccov_debug.py
    run-on-projects: []
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-asan/debug:
    description: "Win64 Debug ASAN"
    index:
        product: firefox
        job-name: win64-asan-debug
    treeherder:
        platform: windows2012-64/asan
        symbol: Bd
        tier: 3
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
            PERFHERDER_EXTRA_OPTIONS: "debug asan"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/asan_debug.py
    run-on-projects: []
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-asan/opt:
    description: "Win64 Opt ASAN"
    index:
        product: firefox
        job-name: win64-asan-opt
    treeherder:
        platform: windows2012-64/asan
        symbol: Bo
        tier: 3
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
            PERFHERDER_EXTRA_OPTIONS: "opt asan"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/asan_opt.py
    run-on-projects: []
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32-devedition-nightly/opt:
    description: "Win32 Dev Edition Nightly"
    index:
        product: devedition
        job-name: win32-opt
        type: nightly
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: devedition
    treeherder:
        platform: windows2012-32-devedition/opt
        symbol: N
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win32/releng.manifest"
    run:
        using: mozharness
        script: mozharness/scripts/fx_desktop_build.py
        options: [enable-pgo, append-env-variables-from-configs]
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win32.py
            - builds/taskcluster_sub_win32/opt.py
            - disable_signing.py
            - taskcluster_nightly.py
        custom-build-variant-cfg: devedition
    run-on-projects: ['mozilla-beta']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win64-devedition-nightly/opt:
    description: "Win64 Dev Edition Nightly"
    index:
        product: devedition
        job-name: win64-opt
        type: nightly
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: devedition
    treeherder:
        platform: windows2012-64-devedition/opt
        symbol: N
        tier: 1
    worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
    worker:
        max-run-time: 7200
        env:
            TOOLTOOL_MANIFEST: "browser/config/tooltool-manifests/win64/releng.manifest"
    run:
        using: mozharness
        options: [append-env-variables-from-configs]
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/taskcluster_base_windows.py
            - builds/taskcluster_base_win64.py
            - builds/taskcluster_sub_win64/opt.py
            - disable_signing.py
            - taskcluster_nightly.py
        custom-build-variant-cfg: devedition
    run-on-projects: ['mozilla-beta']
    toolchains:
        - win64-clang-cl
        - win64-rust
        - win64-sccache

win32-mingw32/debug:
    description: "Win32 MinGW Debug"
    index:
        product: firefox
        job-name: win32-mingw32-debug
    treeherder:
        platform: windows-mingw32-32/debug
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 7200
    run:
        using: mozharness
        script: mozharness/scripts/fx_desktop_build.py
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_windows_32_mingw_builds.py
        need-xvfb: false
    toolchains:
        - linux64-gcc
        - mingw32-rust
        - linux64-upx
        - linux64-wine
        - linux64-sccache
        - linux64-mingw32-gcc
        - linux64-mingw32-nsis
        - linux64-mingw32-fxc2
