linux64/opt:
    description: "Linux64 Opt"
    index:
        product: firefox
        job-name: linux64-opt
    treeherder:
        platform: linux64/opt
        symbol: B
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-dmd/opt:
    description: "Linux64 DMD Opt"
    index:
        product: firefox
        job-name: linux64-dmd-opt
    treeherder:
        platform: linux64-dmd/opt
        symbol: Bdmd
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
        script: "mozharness/scripts/fx_desktop_build.py"
        extra-config:
            mozconfig_variant: 'opt-dmd'
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    run-on-projects: []
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64/pgo:
    description: "Linux64 PGO"
    index:
        product: firefox
        job-name: linux64-pgo
    treeherder:
        platform: linux64/pgo
        symbol: B
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        options: [enable-pgo]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-fuzzing/debug:
    description: "Linux64 Fuzzing Debug"
    index:
        product: firefox
        job-name: linux64-fuzzing-debug
    treeherder:
        platform: linux64/debug
        symbol: Bf
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
        env:
            PERFHERDER_EXTRA_OPTIONS: fuzzing
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: fuzzing-debug
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-sccache
        - linux64-rust

linux64/debug:
    description: "Linux64 Debug"
    index:
        product: firefox
        job-name: linux64-debug
    treeherder:
        platform: linux64/debug
        symbol: B
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: debug
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-sccache
        - linux64-rust

linux64-devedition-nightly/opt:
    description: "Linux64 devedition Nightly"
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: devedition
    index:
        product: devedition
        job-name: linux64-opt
        type: nightly
    treeherder:
        platform: linux64-devedition/opt
        symbol: N
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - disable_signing.py
            - balrog/production.py
            - taskcluster_nightly.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
        custom-build-variant-cfg: devedition
    run-on-projects: ['mozilla-beta']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-base-toolchains/opt:
    description: "Linux64 base toolchains Opt"
    index:
        product: firefox
        job-name: linux64-base-toolchains-opt
    treeherder:
        platform: linux64/opt
        symbol: Bb
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
        env:
            PERFHERDER_EXTRA_OPTIONS: base-toolchains
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang-3.9
        - linux64-gcc-4.9
        - linux64-rust-1.22
        - linux64-sccache

linux64-base-toolchains/debug:
    description: "Linux64 base toolchains Debug"
    index:
        product: firefox
        job-name: linux64-base-toolchains-debug
    treeherder:
        platform: linux64/debug
        symbol: Bb
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
        env:
            PERFHERDER_EXTRA_OPTIONS: base-toolchains
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: debug
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang-3.9
        - linux64-gcc-4.9
        - linux64-rust-1.22
        - linux64-sccache

linux/opt:
    description: "Linux32 Opt"
    index:
        product: firefox
        job-name: linux-opt
    treeherder:
        platform: linux32/opt
        symbol: B
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_32_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux/debug:
    description: "Linux32 Debug"
    index:
        product: firefox
        job-name: linux-debug
    treeherder:
        platform: linux32/debug
        symbol: B
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_32_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: debug
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux/pgo:
    description: "Linux32 PGO"
    index:
        product: firefox
        job-name: linux-pgo
    treeherder:
        platform: linux32/pgo
        symbol: B
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        options: [enable-pgo]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_32_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux-rusttests/opt:
    description: "Linux32 Rust tests Opt"
    index:
        product: firefox
        job-name: linux-rusttests-opt
    treeherder:
        platform: linux32/opt
        symbol: BR
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 5400
        env:
            PERFHERDER_EXTRA_OPTIONS: rusttests
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_32_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: rusttests
        tooltool-downloads: public
        keep-artifacts: false
        need-xvfb: true
    run-on-projects: ['trunk', 'try']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux-rusttests/debug:
    description: "Linux32 Rust tests Debug"
    index:
        product: firefox
        job-name: linux-rusttests-debug
    treeherder:
        platform: linux32/debug
        symbol: BR
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 5400
        env:
            PERFHERDER_EXTRA_OPTIONS: rusttests
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_32_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: rusttests-debug
        tooltool-downloads: public
        keep-artifacts: false
        need-xvfb: true
    run-on-projects: ['trunk', 'try']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux-devedition-nightly/opt:
    description: "Linux32 devedition Nightly"
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: devedition
    index:
        product: devedition
        job-name: linux-opt
        type: nightly
    treeherder:
        platform: linux32-devedition/opt
        symbol: N
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_32_builds.py
            - disable_signing.py
            - balrog/production.py
            - taskcluster_nightly.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
        custom-build-variant-cfg: devedition
    run-on-projects: ['mozilla-beta']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux-nightly/opt:
    description: "Linux32 Nightly"
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: firefox
    index:
        product: firefox
        job-name: linux-opt
        type: nightly
    treeherder:
        platform: linux32/opt
        symbol: N
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_32_builds.py
            - disable_signing.py
            - taskcluster_nightly.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache


linux64-asan/opt:
    description: "Linux64 Opt ASAN"
    index:
        product: firefox
        job-name: linux64-asan-opt
    treeherder:
        platform: linux64/asan
        symbol: Bo
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        env:
            PERFHERDER_EXTRA_OPTIONS: "opt asan"
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: asan-tc
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang-6-pre
        - linux64-gcc
        - linux64-rust
        - linux64-sccache


linux64-asan-fuzzing/opt:
    description: "Linux64 Fuzzing Opt ASAN"
    index:
        product: firefox
        job-name: linux64-fuzzing-asan-opt
    treeherder:
        platform: linux64/asan
        symbol: Bof
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        env:
            PERFHERDER_EXTRA_OPTIONS: asan-fuzzing
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: fuzzing-asan-tc
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang-6-pre
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-asan-reporter/opt:
    description: "Linux64 Opt ASAN Reporter Nightly"
    index:
        product: firefox
        job-name: linux64-asan-reporter-opt
    treeherder:
        platform: linux64/asan
        symbol: BoR
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        env:
            PERFHERDER_EXTRA_OPTIONS: asan-reporter
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: asan-reporter-tc
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang-6-pre
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-asan/debug:
    description: "Linux64 Debug ASAN"
    index:
        product: firefox
        job-name: linux64-asan-debug
    treeherder:
        platform: linux64/asan
        symbol: Bd
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        env:
            PERFHERDER_EXTRA_OPTIONS: "debug asan"
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: asan-tc-and-debug
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang-6-pre
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-nightly/opt:
    description: "Linux64 Nightly"
    attributes:
        nightly: true
    shipping-phase: build
    shipping-product: firefox
    index:
        product: firefox
        job-name: linux64-opt
        type: nightly
    treeherder:
        platform: linux64/opt
        symbol: N
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - disable_signing.py
            - taskcluster_nightly.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-noopt/debug:
    description: "Linux64 No-optimize Debug"
    index:
        product: firefox
        job-name: linux64-noopt-debug
    treeherder:
        platform: linux64-noopt/debug
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 3600
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: noopt-debug
        tooltool-downloads: public
        keep-artifacts: false
        need-xvfb: true
    run-on-projects: ['trunk', 'try']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-rusttests/opt:
    description: "Linux64 Rust tests Opt"
    index:
        product: firefox
        job-name: linux64-rusttests-opt
    treeherder:
        platform: linux64/opt
        symbol: BR
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 5400
        env:
            PERFHERDER_EXTRA_OPTIONS: rusttests
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: rusttests
        tooltool-downloads: public
        keep-artifacts: false
        need-xvfb: true
    run-on-projects: ['trunk', 'try']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-rusttests/debug:
    description: "Linux64 Rust tests Debug"
    index:
        product: firefox
        job-name: linux64-rusttests-debug
    treeherder:
        platform: linux64/debug
        symbol: BR
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 5400
        env:
            PERFHERDER_EXTRA_OPTIONS: rusttests
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: rusttests-debug
        tooltool-downloads: public
        keep-artifacts: false
        need-xvfb: true
    run-on-projects: ['trunk', 'try']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-jsdcov/opt:
    description: "Linux64-JSDCov Opt"
    index:
        product: firefox
        job-name: linux64-jsdcov-opt
    treeherder:
        platform: linux64-jsdcov/opt
        symbol: B
        tier: 2
    run-on-projects: []
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache

linux64-ccov/opt:
    description: "Linux64-CCov Opt"
    index:
        product: firefox
        job-name: linux64-ccov-opt
    treeherder:
        platform: linux64-ccov/opt
        symbol: B
        tier: 2
    run-on-projects: []
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: code-coverage
        tooltool-downloads: public
        need-xvfb: true
    toolchains:
        - linux64-clang-4
        - linux64-rust
        - linux64-gcc

linux64-add-on-devel/opt:
    description: "Linux64 add-on-devel"
    index:
        product: firefox
        job-name: linux64-add-on-devel
    treeherder:
        platform: linux64-add-on-devel/opt
        symbol: B
        tier: 2
    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
    worker:
        max-run-time: 36000
    run:
        using: mozharness
        actions: [get-secrets build check-test update]
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_linux_64_builds.py
            - balrog/production.py
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        custom-build-variant-cfg: add-on-devel
        tooltool-downloads: public
        need-xvfb: true
    run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr45']
    toolchains:
        - linux64-clang
        - linux64-gcc
        - linux64-rust
        - linux64-sccache
