# 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:
    index:
        product: firefox
    worker-type: b-linux-gcp
    run:
        using: mozharness
        actions: [get-secrets, build]
        secrets: true
        script: "mozharness/scripts/fx_desktop_build.py"
    fetches:
        toolchain:
            - linux64-dump_syms
            - linux64-hfsplus
            - linux64-libdmg
            - linux64-rust-macos
            - linux64-rust-size
            - linux64-cbindgen
            - linux64-nasm
            - linux64-node
            - sysroot-x86_64-linux-gnu

macosx64/debug:
    description: "MacOS X x64 Cross-compile"
    index:
        job-name: macosx64-debug
    attributes:
        enable-build-signing: true
        enable-full-crashsymbols: true
    treeherder:
        platform: osx-cross/debug
        symbol: B
        tier: 1
    worker:
        max-run-time: 5400
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-debug
        mozconfig-variant: debug
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-aarch64/debug:
    description: "MacOS X Aarch64 Cross-compile"
    index:
        job-name: macosx64-aarch64-debug
    attributes:
        enable-build-signing: true
        enable-full-crashsymbols: true
    treeherder:
        platform: osx-cross-aarch64/debug
        symbol: B
        tier: 1
    worker:
        max-run-time: 5400
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: aarch64
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-debug
        mozconfig-variant: debug
        extra-config:
            extra_mozconfig_content:
                - ac_add_options --target=aarch64-apple-darwin
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-non-unified/plain:
    description: "MacOS X x64 Hybrid Cross-compile"
    index:
        job-name: macosx64-non-unified
    treeherder:
        platform: osx-cross/plain
        symbol: Bp-nu
        tier: 1
    worker:
        max-run-time: 5400
        env:
            PERFHERDER_EXTRA_OPTIONS: non-unified
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        mozconfig-variant: non-unified
        extra-config:
            disable_package_metrics: true
    use-sccache: true
    run-on-projects: ['integration']
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64/opt:
    description: "MacOS X x64 Cross-compile"
    index:
        job-name: macosx64-opt
    attributes:
        enable-build-signing: true
        enable-full-crashsymbols: true
    treeherder:
        platform: osx-cross/opt
        symbol: B
        tier: 1
    worker:
        max-run-time: 7200
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
    run-on-projects: ['integration']
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-asan-fuzzing/opt:
    description: "MacOS X x64 Cross-compile Fuzzing ASAN"
    index:
        job-name: macosx64-fuzzing-asan-opt
    attributes:
        # The gtest libxul contains libFuzzer targets
        skip-verify-test-packaging: true
    treeherder:
        platform: osx-cross/asan
        symbol: Bof
    worker:
        max-run-time: 5400
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: asan-fuzzing
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-fuzzing-asan
        mozconfig-variant: nightly-fuzzing-asan
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-llvm-symbolizer
            - macosx64-sdk
            - sysroot-wasm32-wasi
    optimization:
        skip-unless-expanded: null

macosx64-fuzzing/debug:
    description: "MacOS X x64 Cross-compile Fuzzing Debug"
    index:
        job-name: macosx64-fuzzing-debug
    attributes:
        enable-full-crashsymbols: true
        # The gtest libxul contains libFuzzer targets
        skip-verify-test-packaging: true
    treeherder:
        platform: osx-cross/debug
        symbol: Bf
    worker:
        max-run-time: 5400
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: fuzzing
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-fuzzing-debug
        mozconfig-variant: debug-fuzzing
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - macosx64-llvm-symbolizer
            - sysroot-wasm32-wasi
    optimization:
        skip-unless-expanded: null

macosx64-aarch64-asan-fuzzing/opt:
    description: "MacOS X Aarch64 Cross-compile Fuzzing ASAN"
    index:
        job-name: macosx64-aarch64-fuzzing-asan-opt
    attributes:
        # The gtest libxul contains libFuzzer targets
        skip-verify-test-packaging: true
    treeherder:
        platform: osx-cross-aarch64/asan
        symbol: Bof
    worker:
        max-run-time: 5400
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: aarch64-asan-fuzzing
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-fuzzing-asan
        mozconfig-variant: nightly-fuzzing-asan
        extra-config:
            mozconfig_platform: macosx64-aarch64
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-aarch64-llvm-symbolizer
            - macosx64-sdk
            - sysroot-wasm32-wasi
    optimization:
        skip-unless-expanded: null

macosx64-aarch64-fuzzing/debug:
    description: "MacOS X Aarch64 Cross-compile Fuzzing Debug"
    index:
        job-name: macosx64-aarch64-fuzzing-debug
    attributes:
        enable-full-crashsymbols: true
        # The gtest libxul contains libFuzzer targets
        skip-verify-test-packaging: true
    treeherder:
        platform: osx-cross-aarch64/debug
        symbol: Bf
    worker:
        max-run-time: 5400
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: aarch64-fuzzing
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-fuzzing-debug
        mozconfig-variant: debug-fuzzing
        extra-config:
            mozconfig_platform: macosx64-aarch64
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-aarch64-llvm-symbolizer
            - macosx64-sdk
            - sysroot-wasm32-wasi
    optimization:
        skip-unless-expanded: null

macosx64-x64-devedition/opt:
    description: "MacOS X Dev Edition x64 (shippable)"
    use-pgo: macosx64-shippable/opt
    attributes:
        enable-full-crashsymbols: true
        skip-verify-test-packaging: true
        upload-generated-sources: true
    shipping-phase: build
    shipping-product: devedition
    index:
        product: devedition
        job-name: macosx64-x64-opt
        type: shippable
    treeherder:
        platform: osx-cross-devedition/opt
        symbol: Bx
        tier: 1
    worker:
        max-run-time: 7200
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
            - taskcluster_nightly.py
        extra-config:
            stage_platform: macosx64-devedition
        mozconfig-variant: devedition
    run-on-projects: ['mozilla-beta']
    fetches:
        toolchain:
            - linux64-cctools-port
            - linux64-clang
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-aarch64-devedition/opt:
    description: "MacOS X Dev Edition Aarch64 (shippable)"
    use-pgo: macosx64-aarch64-shippable/opt
    attributes:
        enable-full-crashsymbols: true
        skip-verify-test-packaging: true
        upload-generated-sources: true
    shipping-phase: build
    shipping-product: devedition
    index:
        product: devedition
        job-name: macosx64-aarch64-opt
        type: shippable
    treeherder:
        platform: osx-aarch64-devedition/opt
        symbol: B
        tier: 1
    worker:
        max-run-time: 7200
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: aarch64
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
            - taskcluster_nightly.py
        extra-config:
            stage_platform: macosx64-aarch64-devedition
            mozconfig_platform: macosx64-aarch64
        mozconfig-variant: devedition
    run-on-projects: ['mozilla-beta']
    fetches:
        toolchain:
            - linux64-cctools-port
            - linux64-clang
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-devedition/opt:
    description: "MacOS X Dev Edition Universal"
    attributes:
        shippable: true
        enable-build-signing: true
        skip-upload-crashsymbols: true
        skip-verify-test-packaging: true
    shipping-phase: build
    shipping-product: devedition
    index:
        product: devedition
        job-name: macosx64-opt
        type: shippable
    treeherder:
        platform: osx-cross-devedition/opt
        symbol: B
        tier: 1
    run-on-projects: ['mozilla-beta']
    worker:
        max-run-time: 1800
    run:
        job-script: taskcluster/scripts/misc/unify.sh
        config:
            - builds/releng_base_firefox.py
    dependencies:
        macosx64-x64-devedition-opt: build-macosx64-x64-devedition/opt
        macosx64-aarch64-devedition-opt: build-macosx64-aarch64-devedition/opt
    fetches:
        macosx64-x64-devedition-opt:
            - artifact: target.dmg
              extract: false
              dest: x64
            - artifact: buildhub.json
              extract: false
              dest: ../artifacts
            - artifact: host/bin/mar
              extract: false
              dest: ../artifacts/host/bin
            - artifact: host/bin/mbsdiff
              extract: false
              dest: ../artifacts/host/bin
            - artifact: target.txt
              extract: false
              dest: ../artifacts
            - artifact: target_info.txt
              extract: false
              dest: ../artifacts
            - artifact: target.json
              extract: false
              dest: ../artifacts
            - artifact: target.mozinfo.json
              extract: false
              dest: ../artifacts
            - artifact: target.test_packages.json
              extract: false
              dest: ../artifacts
            - artifact: target.perftests.tests.tar.gz
              extract: false
              dest: ../artifacts
            - artifact: target.xpt_artifacts.zip
              extract: false
              dest: ../artifacts
            - artifact: target.common.tests.tar.gz
              dest: x64/common
            - artifact: target.cppunittest.tests.tar.gz
              dest: x64/cppunittest
            - artifact: target.gtest.tests.tar.gz
              dest: x64/gtest
            - artifact: target.jittest.tests.tar.gz
              dest: x64/jittest
            - artifact: target.jsreftest.tests.tar.gz
              dest: x64/jsreftest
            - artifact: target.mochitest.tests.tar.gz
              dest: x64/mochitest
            - artifact: target.reftest.tests.tar.gz
              dest: x64/reftest
            - artifact: target.talos.tests.tar.gz
              dest: x64/talos
            - artifact: target.raptor.tests.tar.gz
              dest: x64/raptor
            - artifact: target.condprof.tests.tar.gz
              dest: x64/confprof
            - artifact: target.awsy.tests.tar.gz
              dest: x64/awsy
            - artifact: target.xpcshell.tests.tar.gz
              dest: x64/xpcshell
            - artifact: target.web-platform.tests.tar.gz
              dest: x64/web-platform
            - artifact: target.updater-dep.tests.tar.gz
              dest: x64/updater-dep
            - artifact: target.crashreporter-symbols.zip
              dest: x64/crashreporter-symbols
            - artifact: target.jsshell.zip
              dest: x64/jsshell
            - artifact: target.update_framework_artifacts.zip
              dest: x64/update_framework_artifacts
            - artifact: target.generated-files.tar.gz
              extract: false
              dest: ../artifacts
            - artifact: target.langpack.xpi
              extract: false
              dest: ../artifacts
            - artifact: mozharness.zip
              extract: false
              dest: ../artifacts
        macosx64-aarch64-devedition-opt:
            - artifact: target.dmg
              extract: false
              dest: aarch64
            - artifact: target.common.tests.tar.gz
              dest: aarch64/common
            - artifact: target.cppunittest.tests.tar.gz
              dest: aarch64/cppunittest
            - artifact: target.gtest.tests.tar.gz
              dest: aarch64/gtest
            - artifact: target.jittest.tests.tar.gz
              dest: aarch64/jittest
            - artifact: target.jsreftest.tests.tar.gz
              dest: aarch64/jsreftest
            - artifact: target.mochitest.tests.tar.gz
              dest: aarch64/mochitest
            - artifact: target.reftest.tests.tar.gz
              dest: aarch64/reftest
            - artifact: target.talos.tests.tar.gz
              dest: aarch64/talos
            - artifact: target.raptor.tests.tar.gz
              dest: aarch64/raptor
            - artifact: target.condprof.tests.tar.gz
              dest: aarch64/confprof
            - artifact: target.awsy.tests.tar.gz
              dest: aarch64/awsy
            - artifact: target.xpcshell.tests.tar.gz
              dest: aarch64/xpcshell
            - artifact: target.web-platform.tests.tar.gz
              dest: aarch64/web-platform
            - artifact: target.updater-dep.tests.tar.gz
              dest: aarch64/updater-dep
            - artifact: target.crashreporter-symbols.zip
              dest: aarch64/crashreporter-symbols
            - artifact: target.jsshell.zip
              dest: aarch64/jsshell
            - artifact: target.update_framework_artifacts.zip
              dest: aarch64/update_framework_artifacts
        toolchain:
            - linux64-cctools-port

macosx64-noopt/debug:
    description: "MacOS X x64 No-optimize Debug"
    index:
        job-name: macosx64-noopt-debug
    treeherder:
        platform: osx-cross-noopt/debug
        symbol: B
        tier: 2
    worker:
        max-run-time: 3600
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-noopt-debug
        mozconfig-variant: cross-noopt-debug
        keep-artifacts: false
    run-on-projects: ['mozilla-central']
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-aarch64-noopt/debug:
    description: "MacOS X aarch64 No-optimize Debug"
    index:
        job-name: macosx64-aarch64-noopt-debug
    treeherder:
        platform: osx-cross-noopt/debug
        symbol: Baarch64
        tier: 2
    worker:
        max-run-time: 3600
        env:
            PERFHERDER_EXTRA_OPTIONS: aarch64
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: cross-noopt-debug
        mozconfig-variant: cross-noopt-debug
        keep-artifacts: false
        extra-config:
            mozconfig_platform: macosx64-aarch64
    run-on-projects: ['mozilla-central']
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-x64-add-on-devel/opt:
    description: "MacOS X x64 add-on-devel"
    index:
        job-name: macosx64-x64-add-on-devel
    treeherder:
        platform: osx-cross-add-on-devel/opt
        symbol: Bx
        tier: 2
    worker:
        max-run-time: 3600
        env:
            PERFHERDER_EXTRA_OPTIONS: x64
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: add-on-devel
        mozconfig-variant: add-on-devel
    run-on-projects: ['mozilla-beta', 'mozilla-release']
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-aarch64-add-on-devel/opt:
    description: "MacOS X Aarch64 add-on-devel"
    index:
        job-name: macosx64-aarch64-add-on-devel
    treeherder:
        platform: osx-cross-aarch64-add-on-devel/opt
        symbol: B
        tier: 2
    worker:
        max-run-time: 3600
        env:
            PERFHERDER_EXTRA_OPTIONS: aarch64
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: add-on-devel
        mozconfig-variant: add-on-devel
        extra-config:
            mozconfig_platform: macosx64-aarch64
    run-on-projects: ['mozilla-beta', 'mozilla-release']
    use-sccache: true
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-add-on-devel/opt:
    description: "MacOS X add-on-devel"
    index:
        job-name: macosx64-add-on-devel
    treeherder:
        platform: osx-cross-add-on-devel/opt
        symbol: B
        tier: 2
    worker:
        max-run-time: 1800
    run:
        job-script: taskcluster/scripts/misc/unify.sh
        config:
            - builds/releng_base_firefox.py
    run-on-projects: ['mozilla-beta', 'mozilla-release']
    dependencies:
        macosx64-x64-add-on-devel-opt: build-macosx64-x64-add-on-devel/opt
        macosx64-aarch64-add-on-devel-opt: build-macosx64-aarch64-add-on-devel/opt
    fetches:
        macosx64-x64-add-on-devel-opt:
            - artifact: target.dmg
              extract: false
              dest: x64
            - artifact: buildhub.json
              extract: false
              dest: ../artifacts
            - artifact: host/bin/mar
              extract: false
              dest: ../artifacts/host/bin
            - artifact: host/bin/mbsdiff
              extract: false
              dest: ../artifacts/host/bin
            - artifact: target.txt
              extract: false
              dest: ../artifacts
            - artifact: target_info.txt
              extract: false
              dest: ../artifacts
            - artifact: target.json
              extract: false
              dest: ../artifacts
            - artifact: target.mozinfo.json
              extract: false
              dest: ../artifacts
            - artifact: target.crashreporter-symbols.zip
              dest: x64/crashreporter-symbols
            - artifact: target.jsshell.zip
              dest: x64/jsshell
            - artifact: target.generated-files.tar.gz
              extract: false
              dest: ../artifacts
            - artifact: target.langpack.xpi
              extract: false
              dest: ../artifacts
            - artifact: mozharness.zip
              extract: false
              dest: ../artifacts
        macosx64-aarch64-add-on-devel-opt:
            - artifact: target.dmg
              extract: false
              dest: aarch64
            - artifact: target.crashreporter-symbols.zip
              dest: aarch64/crashreporter-symbols
            - artifact: target.jsshell.zip
              dest: aarch64/jsshell
        toolchain:
            - linux64-cctools-port

macosx64-nightlyasrelease/opt:
    description: "MacOS X Nightly-As-Release"
    use-pgo: macosx64-shippable/opt
    attributes:
        enable-full-crashsymbols: true
        skip-verify-test-packaging: true
        upload-generated-sources: true
    index:
        job-name: macosx64-nightlyasrelease-opt
    treeherder:
        platform: osx-nightlyasrelease/opt
        symbol: Bpgo(Bnar)
        tier: 1
    run-on-projects: [trunk-only]
    worker:
        max-run-time: 7200
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: nightly-as-release
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
            - taskcluster_nightly.py
        mozconfig-variant: nightly-as-release
    fetches:
        toolchain:
            - linux64-cctools-port
            - linux64-clang
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-x64-shippable/opt:
    description: "MacOS X x64 Cross-compile"
    use-pgo: macosx64-shippable/opt
    attributes:
        enable-full-crashsymbols: true
        skip-verify-test-packaging: true
        upload-generated-sources: true
    shipping-phase: build
    shipping-product: firefox
    index:
        job-name: macosx64-x64-opt
        type: shippable
    treeherder:
        platform: osx-shippable/opt
        symbol: Bpgo(Bx)
        tier: 1
    run-on-projects: ['release']
    worker:
        max-run-time: 7200
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
            - taskcluster_nightly.py
    fetches:
        toolchain:
            - linux64-cctools-port
            - linux64-clang
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-aarch64-shippable/opt:
    description: "MacOS X aarch64 Cross-compile"
    use-pgo: macosx64-aarch64-shippable/opt
    attributes:
        enable-full-crashsymbols: true
        skip-verify-test-packaging: true
        upload-generated-sources: true
    shipping-phase: build
    shipping-product: firefox
    index:
        job-name: macosx64-aarch64-opt
        type: shippable
    treeherder:
        platform: osx-aarch64-shippable/opt
        symbol: Bpgo(B)
        tier: 1
    run-on-projects: ['release']
    worker:
        max-run-time: 7200
        env:
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
            PERFHERDER_EXTRA_OPTIONS: aarch64
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
            - taskcluster_nightly.py
        extra-config:
            mozconfig_platform: macosx64-aarch64
    fetches:
        toolchain:
            - linux64-cctools-port
            - linux64-clang
            - macosx64-sdk
            - sysroot-wasm32-wasi

macosx64-shippable/opt:
    description: "MacOS X Universal"
    attributes:
        shippable: true
        enable-build-signing: true
        skip-upload-crashsymbols: true
        skip-verify-test-packaging: true
    shipping-phase: build
    shipping-product: firefox
    index:
        job-name: macosx64-opt
        type: shippable
    treeherder:
        platform: osx-shippable/opt
        symbol: Bpgo(B)
        tier: 1
    run-on-projects: ['release']
    worker:
        max-run-time: 1800
    run:
        job-script: taskcluster/scripts/misc/unify.sh
        config:
            - builds/releng_base_firefox.py
    dependencies:
        macosx64-x64-shippable-opt: build-macosx64-x64-shippable/opt
        macosx64-aarch64-shippable-opt: build-macosx64-aarch64-shippable/opt
    fetches:
        macosx64-x64-shippable-opt:
            - artifact: target.dmg
              extract: false
              dest: x64
            - artifact: buildhub.json
              extract: false
              dest: ../artifacts
            - artifact: host/bin/mar
              extract: false
              dest: ../artifacts/host/bin
            - artifact: host/bin/mbsdiff
              extract: false
              dest: ../artifacts/host/bin
            - artifact: target.txt
              extract: false
              dest: ../artifacts
            - artifact: target_info.txt
              extract: false
              dest: ../artifacts
            - artifact: target.json
              extract: false
              dest: ../artifacts
            - artifact: target.mozinfo.json
              extract: false
              dest: ../artifacts
            - artifact: target.test_packages.json
              extract: false
              dest: ../artifacts
            - artifact: target.perftests.tests.tar.gz
              extract: false
              dest: ../artifacts
            - artifact: target.xpt_artifacts.zip
              extract: false
              dest: ../artifacts
            - artifact: target.common.tests.tar.gz
              dest: x64/common
            - artifact: target.cppunittest.tests.tar.gz
              dest: x64/cppunittest
            - artifact: target.gtest.tests.tar.gz
              dest: x64/gtest
            - artifact: target.jittest.tests.tar.gz
              dest: x64/jittest
            - artifact: target.jsreftest.tests.tar.gz
              dest: x64/jsreftest
            - artifact: target.mochitest.tests.tar.gz
              dest: x64/mochitest
            - artifact: target.reftest.tests.tar.gz
              dest: x64/reftest
            - artifact: target.talos.tests.tar.gz
              dest: x64/talos
            - artifact: target.raptor.tests.tar.gz
              dest: x64/raptor
            - artifact: target.condprof.tests.tar.gz
              dest: x64/confprof
            - artifact: target.awsy.tests.tar.gz
              dest: x64/awsy
            - artifact: target.xpcshell.tests.tar.gz
              dest: x64/xpcshell
            - artifact: target.web-platform.tests.tar.gz
              dest: x64/web-platform
            - artifact: target.updater-dep.tests.tar.gz
              dest: x64/updater-dep
            - artifact: target.crashreporter-symbols.zip
              dest: x64/crashreporter-symbols
            - artifact: target.jsshell.zip
              dest: x64/jsshell
            - artifact: target.update_framework_artifacts.zip
              dest: x64/update_framework_artifacts
            - artifact: target.generated-files.tar.gz
              extract: false
              dest: ../artifacts
            - artifact: target.langpack.xpi
              extract: false
              dest: ../artifacts
            - artifact: mozharness.zip
              extract: false
              dest: ../artifacts
        macosx64-aarch64-shippable-opt:
            - artifact: target.dmg
              extract: false
              dest: aarch64
            - artifact: target.common.tests.tar.gz
              dest: aarch64/common
            - artifact: target.cppunittest.tests.tar.gz
              dest: aarch64/cppunittest
            - artifact: target.gtest.tests.tar.gz
              dest: aarch64/gtest
            - artifact: target.jittest.tests.tar.gz
              dest: aarch64/jittest
            - artifact: target.jsreftest.tests.tar.gz
              dest: aarch64/jsreftest
            - artifact: target.mochitest.tests.tar.gz
              dest: aarch64/mochitest
            - artifact: target.reftest.tests.tar.gz
              dest: aarch64/reftest
            - artifact: target.talos.tests.tar.gz
              dest: aarch64/talos
            - artifact: target.raptor.tests.tar.gz
              dest: aarch64/raptor
            - artifact: target.condprof.tests.tar.gz
              dest: aarch64/confprof
            - artifact: target.awsy.tests.tar.gz
              dest: aarch64/awsy
            - artifact: target.xpcshell.tests.tar.gz
              dest: aarch64/xpcshell
            - artifact: target.web-platform.tests.tar.gz
              dest: aarch64/web-platform
            - artifact: target.updater-dep.tests.tar.gz
              dest: aarch64/updater-dep
            - artifact: target.crashreporter-symbols.zip
              dest: aarch64/crashreporter-symbols
            - artifact: target.jsshell.zip
              dest: aarch64/jsshell
            - artifact: target.update_framework_artifacts.zip
              dest: aarch64/update_framework_artifacts
        toolchain:
            - linux64-cctools-port

macosx64-ccov/opt:
    description: "MacOS X x64 Cross-compile Code Coverage"
    index:
        job-name: macosx64-ccov-opt
    treeherder:
        platform: osx-cross-ccov/opt
        symbol: B
        tier: 1
    worker:
        max-run-time: 7200
        env:
            RUSTC_BOOTSTRAP: '1'
            MOZ_AUTOMATION_PACKAGE_TESTS: "1"
    run:
        config:
            - builds/releng_base_firefox.py
            - builds/releng_base_mac_64_cross_builds.py
        custom-build-variant-cfg: code-coverage-opt
        mozconfig-variant: code-coverage
    run-on-projects: ['mozilla-central']
    use-sccache: false
    fetches:
        toolchain:
            - linux64-clang
            - linux64-sccache
            - macosx64-sdk
            - sysroot-wasm32-wasi
