# 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/.
---
loader: taskgraph.loader.transform:loader

kind-dependencies:
    - toolchain
    - fetch
    - generate-profile

transforms:
    - gecko_taskgraph.transforms.build:transforms
    - gecko_taskgraph.transforms.build_attrs:transforms
    - gecko_taskgraph.transforms.build_schedules:transforms
    - gecko_taskgraph.transforms.build_lints:transforms
    - gecko_taskgraph.transforms.release_notifications:transforms
    - gecko_taskgraph.transforms.release:run_on_releases
    - gecko_taskgraph.transforms.job:transforms
    - gecko_taskgraph.transforms.artifact:transforms
    - gecko_taskgraph.transforms.task:transforms

tasks-from:
    - android.yml
    - android-asan.yml
    - android-stuff.yml
    - ios.yml
    - linux.yml
    - linux-base-toolchains.yml
    - macosx.yml
    - macosx-native.yml
    - windows.yml
    - windows-mingw.yml
    - fenix.yml

task-defaults:
    worker:
        env:
            MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
    use-python: default
    run:
        mozconfig-variant:
            by-release-type:
                beta: beta
                release.*: release
                # We keep using the release configs as the beta and release configs are
                # identical except for
                # https://searchfox.org/mozilla-central/rev/ce9ff94ffed34dc17ec0bfa406156d489eaa8ee1/browser/config/mozconfigs/linux32/release#1    # noqa
                esr.*: release
                default: nightly
        # Note: These settings are only honored by nightly (i.e. shipping) builds
        update-channel:
            by-release-type:
                nightly:
                    by-project:
                        try: nightly-try
                        default: nightly
                nightly-larch: nightly-larch
                nightly-oak: nightly-oak
                nightly-pine: nightly-pine
                beta:
                    by-shipping-product:
                        devedition: aurora
                        default: beta
                release.*: release
                esr.*: esr
                default: null
        # ACCEPTED_MAR_CHANNEL_IDS should usually be the same as the value MAR_CHANNEL_ID.
        # If more than one ID is needed, then you should use a comma separated list
        # of values.
        # The MAR_CHANNEL_ID must not contain the following 3 characters: ",\t "
        mar-channel-id:
            by-release-type:
                nightly-larch: firefox-nightly-larch
                nightly-oak: firefox-nightly-oak
                nightly-pine: firefox-nightly-pine
                beta:
                    by-shipping-product:
                        devedition: firefox-mozilla-aurora
                        default: firefox-mozilla-beta
                release.*: firefox-mozilla-release
                esr.*: firefox-mozilla-esr
                default: firefox-mozilla-central
        accepted-mar-channel-ids:
            by-release-type:
                nightly-larch: firefox-nightly-larch
                nightly-oak: firefox-nightly-oak
                nightly-pine: firefox-nightly-pine
                beta:
                    by-shipping-product:
                        devedition: firefox-mozilla-aurora
                        default: firefox-mozilla-beta,firefox-mozilla-release
                release.*: firefox-mozilla-release
                esr.*: firefox-mozilla-esr
                default: firefox-mozilla-central
