---
trust-domain: mobile
treeherder:
    group-names:
        Fetch: Fetch and store content
        I: Docker Image Builds
        TL: Toolchain builds for Linux 64-bits
        buildconfig: Make sure the content of .buildconfig.yml matches what gradle knows about its projects
        compare-locales: Validate strings.xml with compare-locales
        detekt: detekt linter
        ktlint: ktlint linter
        lint: gradle lint linter

        focus: Focus general tasks no matter the variant
        focus-beta: Focus beta-related tasks
        focus-debug: Focus builds made for testing
        focus-nightly: Focus nightly-related tasks
        focus-release: Focus production-related tasks

        fenix: Fenix general tasks no matter the variant
        fenix-beta: Fenix beta-related tasks
        fenix-debug: Fenix builds made for testing
        fenix-nightly: Fenix nightly-related tasks
        fenix-nightlySim: Nightly-related tasks that run on each github push
        fenix-release: Fenix production-related tasks

        Btime: Raptor-Browsertime tests with Fission enabled
        Btime-nofis: Raptor-Browsertime tests with Fission disabled
        forPerformanceTest: Builds made for Raptor and other performance tests
        Rap: Raptor tests
        Rap-P: Raptor power tests

        # This list is based on .buildconfig.yml except the exceptions down below
        browser-domains: browser-domains
        browser-engine-gecko: browser-engine-gecko
        browser-engine-system: browser-engine-system
        browser-errorpages: browser-errorpages
        browser-icons: browser-icons
        browser-menu: browser-menu
        browser-menu2: browser-menu2
        browser-session-storage: browser-session-storage
        browser-state: browser-state
        browser-storage-sync: browser-storage-sync
        browser-tabstray: browser-tabstray
        browser-thumbnails: browser-thumbnails
        browser-toolbar: browser-toolbar
        compose-awesomebar: compose-engine
        compose-browser-toolbar: awesomebar-browser-toolbar
        compose-engine: compose-engine
        compose-tabstray: compose-tabstray
        concept-awesomebar: concept-awesomebar
        concept-base: concept-base
        compose-cfr: compose-cfr
        concept-engine: concept-engine
        concept-fetch: concept-fetch
        concept-menu: concept-menu
        concept-push: concept-push
        concept-storage: concept-storage
        concept-sync: concept-sync
        concept-tabstray: concept-tabstray
        concept-toolbar: concept-toolbar
        feature-accounts-push: feature-accounts-push
        feature-accounts: feature-accounts
        feature-addons: feature-addons
        feature-app-links: feature-app-links
        feature-autofill: feature-autofill
        feature-awesomebar: feature-awesomebar
        feature-containers: feature-containers
        feature-contextmenu: feature-contextmenu
        feature-customtabs: feature-customtabs
        feature-downloads: feature-downloads
        feature-findinpage: feature-findinpage
        feature-intent: feature-intent
        feature-logins: feature-logins
        feature-media: feature-media
        feature-privatemode: feature-privatemode
        feature-prompts: feature-prompts
        feature-push: feature-push
        feature-pwa: feature-pwa
        feature-qr: feature-qr
        feature-readerview: feature-readerview
        feature-recentlyclosed: feature-recentlyclosed
        feature-search: feature-search
        feature-serviceworker: feature-serviceworker
        feature-session: feature-session
        feature-share: feature-share
        feature-sitepermissions: feature-sitepermissions
        feature-syncedtabs: feature-syncedtabs
        feature-tab-collections: feature-tab-collections
        feature-tabs: feature-tabs
        feature-toolbar: feature-toolbar
        feature-top-sites: feature-top-sites
        feature-webauthn: feature-webauthn
        feature-webcompat: feature-webcompat
        feature-webnotifications: feature-webnotifications
        lib-crash: lib-crash
        lib-auth: lib-auth
        lib-crash-sentry: lib-crash-sentry
        lib-crash-sentry-legacy: lib-crash-sentry-legacy
        lib-dataprotect: lib-dataprotect
        lib-fetch-okhttp: lib-fetch-okhttp
        lib-jexl: lib-jexl
        lib-publicsuffixlist: lib-publicsuffixlist
        lib-push-firebase: lib-push-firebase
        lib-state: lib-state
        samples-compose-browser: samples-compose-browser
        samples-crash: samples-crash
        samples-dataprotect: samples-dataprotect
        samples-firefox-accounts: samples-firefox-accounts
        samples-glean-library: samples-glean-library
        samples-glean: samples-glean
        samples-sync-logins: samples-sync-logins
        samples-sync: samples-sync
        samples-toolbar: samples-toolbar
        service-contile: service-contile
        service-digitalassetlinks: service-digitalassetlinks
        service-experiments: service-experiments
        service-firefox-accounts: service-firefox-accounts
        service-fretboard: service-fretboard
        service-glean: service-glean
        service-location: service-location
        service-nimbus: service-nimbus
        service-pocket: service-pocket
        service-sync-autofill: service-sync-autofill
        service-sync-logins: service-sync-logins
        support-android-test: support-android-test
        support-base: support-base
        support-images: support-images
        support-ktx: support-ktx
        support-license: support-license
        support-locale: support-locale
        support-migration: support-migration
        support-rusthttp: support-rusthttp
        support-rusterrors: support-rusterrors
        support-rustlog: support-rustlog
        support-sync-telemetry: support-sync-telemetry
        support-test-appservices: support-test-appservices
        support-test-fakes: support-test-fakes
        support-test-libstate: support-test-libstate
        support-test: support-test
        support-utils: support-utils
        support-webextensions: support-webextensions
        tooling-detekt: tooling-detekt
        tooling-fetch-tests: tooling-fetch-tests
        tooling-lint: tooling-lint
        ui-autocomplete: ui-autocomplete
        ui-colors: ui-colors
        ui-fonts: ui-fonts
        ui-icons: ui-icons
        ui-tabcounter: ui-tabcounter
        ui-widgets: ui-widgets

        # These ones are too long to fit in 25 chars
        lib-fetch-httpurlconnecti: lib-fetch-httpurlconnection
        feature-webcompat-reporte: feature-webcompat-reporter

        # Groups aren't generated off buildconfig.yml:
        samples-browser: samples-browser
        samples-browser-gecko: samples-browser-gecko
        samples-browser-system: samples-browser-system


task-priority:
    by-project:
        "firefox-android": highest
        "staging-firefox-android": low
        # This handles cases where a fork may end up not being named
        # as one of the explicit names above. Ideally anything forked
        # from "firefox-android" would inherit its setting, but
        # "low" is the safer default
        default: low

taskgraph:
    register: android_taskgraph:register
    repositories:
        mobile:
            name: firefox-android
    cached-task-prefix: mobile.v2.firefox-android
    decision-parameters: 'android_taskgraph:get_decision_parameters'
    index-path-regexes:
        - '(mobile\.v3.[^.]*\.).*'

workers:
    aliases:
        b-android:
            provisioner: 'mobile-{level}'
            implementation: docker-worker
            os: linux
            worker-type: b-linux-gcp
        b-android-large:
            provisioner: 'mobile-{level}'
            implementation: docker-worker
            os: linux
            worker-type: b-linux-large-gcp
        b-android-xlarge:
            provisioner: 'mobile-{level}'
            implementation: docker-worker
            os: linux
            worker-type: b-linux-xlarge-gcp
        beetmover:
            provisioner: scriptworker-k8s
            implementation: scriptworker-beetmover
            os: scriptworker
            # Note: if dep bucket is wanted, *temporarily* switch to 'mobile-1-beetmover-dev'
            worker-type: 'mobile-{level}-beetmover'
        dep-signing:
            provisioner: scriptworker-k8s
            implementation: scriptworker-signing
            os: scriptworker
            worker-type: mobile-t-signing
        github:
            provisioner: scriptworker-k8s
            implementation: scriptworker-github
            os: scriptworker
            worker-type: 'mobile-{level}-github'
        images:
            provisioner: 'mobile-{level}'
            implementation: docker-worker
            os: linux
            worker-type: images-gcp
        # misc is used by taskgraph to generate tasks with more than 10 routes
        misc:
            provisioner: 'mobile-{level}'
            implementation: docker-worker
            os: linux
            worker-type: 'b-linux-gcp'
        push-apk:
            provisioner: scriptworker-k8s
            implementation: scriptworker-pushapk
            os: scriptworker
            worker-type: 'mobile-{level}-pushapk'
        ship-it:
            provisioner: scriptworker-k8s
            implementation: scriptworker-shipit
            os: scriptworker
            worker-type: 'mobile-{level}-shipit'
        signing:
            provisioner: scriptworker-k8s
            implementation: scriptworker-signing
            os: scriptworker
            worker-type:
                by-level:
                    "3": mobile-3-signing
                    default: mobile-t-signing
        tree:
            provisioner: scriptworker-k8s
            implementation: scriptworker-tree
            os: scriptworker
            worker-type: 'mobile-{level}-tree'
        t-bitbar.*:
            provisioner: proj-autophone
            implementation: generic-worker
            os: linux-bitbar
            worker-type: 'gecko-{alias}'

scriptworker:
    scope-prefix: project:mobile:firefox-android:releng

release-promotion:
    flavors:
        promote:
            target-tasks-method: promote
        push:
            target-tasks-method: push
        ship:
            target-tasks-method: ship
