tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

config.yml (42114B)


      1 # This Source Code Form is subject to the terms of the Mozilla Public
      2 # License, v. 2.0. If a copy of the MPL was not distributed with this
      3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      4 ---
      5 trust-domain: gecko
      6 project-repo-param-prefix: ''
      7 product-dir: 'browser'
      8 treeherder:
      9    group-names:
     10        'js-bench-sm': 'JavaScript shell benchmarks with Spidermonkey'
     11        'js-bench-v8': 'JavaScript shell benchmarks with Google V8'
     12        'node': 'Node tests'
     13        'py3': 'Python 3 unit tests'
     14        'A': 'Android Gradle tests'
     15        'Bpgo': 'Profile-guided optimization builds'
     16        'Btime': 'Browsertime performance tests on Firefox'
     17        'Btime-cache': 'Browsertime performance tests on Firefox with populated bytecode cache.'
     18        'Btime-1proc': 'Browsertime performance tests on Firefox without e10s'
     19        'Btime-nofis': 'Browsertime tests on Firefox without fission enabled'
     20        'Btime-P-nofis': 'Browsertime power tests on Firefox without fission enabled'
     21        'Btime-Prof-nofis': 'Browsertime tests on Firefox with profiling and without fission enabled'
     22        'Btime-P-nofis-refbrow': 'Browsertime Power Usage Tests on reference browser without fission enabled'
     23        'Btime-P-nofis-fenix': 'Browsertime Power Usage Tests on Fenix without fission enabled'
     24        'Btime-live-nofis-fenix': 'Browsertime tests on Fenix without fission enabled using live sites'
     25        'Btime-nofis-fenix': 'Browsertime tests on Fenix without fission enabled'
     26        'Btime-webext-nofis-fenix': 'Browsertime performance tests on Fenix with extensions and without fission enabled'
     27        'Btime-webext-fenix': 'Browsertime performance tests on Fenix with extensions'
     28        'Btime-webext': 'Browsertime performance tests on Firefox with extensions'
     29        'Btime-live-nofis': 'Browsertime tests on Firefox without fission enabled using live sites'
     30        'Btime-nofis-refbrow': 'Browsertime tests on reference browser without fission enabled'
     31        'Btime-live-nofis-ChR': 'Browsertime tests on Chrome without fission enabled using live sites'
     32        'Btime-Prof': 'Browsertime performance tests on Firefox with Gecko Profiling'
     33        'Btime-Prof-1proc': 'Browsertime performance tests on Firefox with Gecko Profiling and without e10s'
     34        'Btime-live': 'Browsertime performance tests on Firefox'
     35        'Btime-live-fenix': 'Browsertime performance tests on Firefox'
     36        'Btime-live-ChR': 'Browsertime performance tests on Google Chrome Release'
     37        'Btime-live-Saf': 'Browsertime performance tests on Safari'
     38        'Btime-ChR': 'Browsertime performance tests on Google Chrome Release'
     39        'Btime-nofis-ChR': 'Browsertime performance tests on Google Chrome Release without fission enabled'
     40        'Btime-P': 'Browsertime power tests on Firefox/Geckoview'
     41        'Btime-P-fenix': 'Browsertime power tests on Fenix'
     42        'Btime-P-refbrow': 'Browsertime power tests on reference browser'
     43        'Btime-fenix': 'Browsertime performance tests on Fenix'
     44        'Btime-refbrow': 'Browsertime performance tests on the reference browser'
     45        'Btime-Saf': 'Browsertime performance tests on Safari'
     46        'Btime-STP': 'Browsertime performance tests on Safari Technology Preview'
     47        'Btime-CaR': 'Browsertime performance tests on Chromium-as-Release'
     48        'Btime-nofis-CaR': 'Browsertime performance tests on Chromium-as-Release without fission enabled'
     49        'Btime-1M_400ms': 'Browsertime network benchmark tests with 1M_400ms condition'
     50        'Btime-ChR-1M_400ms': 'Browsertime network benchmark tests with 1M_400ms condition'
     51        'Btime-CaR-1M_400ms': 'Browsertime network benchmark tests with 1M_400ms condition'
     52        'Btime-300M_40ms': 'Browsertime network benchmark tests with 300M_40ms condition'
     53        'Btime-ChR-300M_40ms': 'Browsertime network benchmark tests with 300M_40ms condition'
     54        'Btime-CaR-300M_40ms': 'Browsertime network benchmark tests with 300M_40ms condition'
     55        'Btime-300M_80ms': 'Browsertime network benchmark tests with 300M_80ms condition'
     56        'Btime-ChR-300M_80ms': 'Browsertime network benchmark tests with 300M_80ms condition'
     57        'Btime-CaR-300M_80ms': 'Browsertime network benchmark tests with 300M_80ms condition'
     58        'Btime-10M_40ms': 'Browsertime network benchmark tests with 10M_40ms condition'
     59        'Btime-ChR-10M_40ms': 'Browsertime network benchmark tests with 10M_40ms condition'
     60        'Btime-CaR-10M_40ms': 'Browsertime network benchmark tests with 10M_40ms condition'
     61        'Btime-100M_40ms': 'Browsertime network benchmark tests with 100M_40ms condition'
     62        'Btime-ChR-100M_40ms': 'Browsertime network benchmark tests with 100M_40ms condition'
     63        'Btime-CaR-100M_40ms': 'Browsertime network benchmark tests with 100M_40ms condition'
     64        'Fetch': 'Fetch and store content'
     65        'Fxfn': 'Firefox functional tests'
     66        'l10n-bump': 'L10n Bumper'
     67        'M': 'Mochitests'
     68        'M-f': 'Mochitest failures'
     69        'M-ioi': 'Mochitests tagged with inc-origin-init'
     70        'M-ioi-cf': 'Mochitests tagged with inc-origin-init for confirm failure'
     71        'Mn': 'Marionette tests'
     72        'Mn-ioi': 'Marionette tests tagged with inc-origin-init'
     73        'MSI': 'Repack installers into MSIs'
     74        'MSIs': 'Signing of Repacked installers of MSIs'
     75        'MSIX': 'Repack into MSIX package'
     76        'MSIXs': 'Signing of Repack into MSIX package'
     77        'nt-trainhop': 'Desktop newtab trainhop tests'
     78        'nt-trainhop-cf': 'Desktop newtab trainhop tests for confirm failure'
     79        'Pup': "Puppeteer tests"
     80        'R': 'Reftests'
     81        'R-ioi': 'Reftests with incremental origin initialization enabled'
     82        'R-ioi-cf': 'Reftests with incremental origin initialization enabled for confirm failure'
     83        'Rap': 'Raptor performance tests on Firefox'
     84        'Rap-live': 'Raptor performance tests on Firefox with live sites'
     85        'Rap-Prof': 'Raptor performance tests on Firefox with Gecko Profiling'
     86        'Rap-ChR': 'Raptor performance tests on Google Chrome Release'
     87        'Rap-refbrow': 'Raptor performance tests on the reference browser'
     88        'T': 'Talos performance tests'
     89        'T-Prof': 'Talos performance tests on Firefox with Gecko Profiling'
     90        'tt': 'Telemetry tests'
     91        'SY': 'Are we slim yet tests by TaskCluster'
     92        'W': 'Web platform tests'
     93        'W-b': 'Web platform tests (backlog)'
     94        'W-pb': 'Web platform tests with private browsing enabled'
     95        'W-ioi': 'Web platform tests tagged with inc-origin-init'
     96        'W-ioi-cf': 'Web platform tests tagged with inc-origin-init for confirm failure'
     97        'W-pb-ioi': 'Web platform tests with private browsing enabled and tagged with inc-origin-init'
     98        'X': 'Xpcshell tests'
     99        'X-f': 'Xpcshell tests that fail on a given config'
    100        'X-ioi': 'Xpcshell tests tagged with inc-origin-init'
    101        'X-ioi-cf': 'Xpcshell tests tagged with inc-origin-init for confirm failure'
    102        'L10n': 'Localised Repacks'
    103        'L10n-Rpk': 'Localized Repackaged Repacks'
    104        'deb-L10n': 'Localized Debian Repacks'
    105        'BM': 'Beetmover'
    106        'BMR': 'Beetmover repackages'
    107        'BM-apt': 'Beetmover .deb packages'
    108        'BM-rpm': 'Beetmover .rpm packages'
    109        'c-Up': 'Balrog submission of complete updates'
    110        'css': 'Checksum signing for source'
    111        'rs': 'Repackage signing'
    112        'BMcs': 'Beetmover checksums'
    113        'BMcslang': 'Beetmover checksums for language packs'
    114        'BMcss': 'Beetmover checksums for source'
    115        'Deb8': 'Packages for Debian 8'
    116        'Deb8-32': 'Packages for Debian 8 32-bits'
    117        'Deb10a64': 'AArch64 packages for Debian 10'
    118        'Deb12': 'Packages for Debian 12'
    119        'Deb13': 'Packages for Debian 13'
    120        'Ub18': 'Packages for Ubuntu 18.04'
    121        'Ub20': 'Packages for Ubuntu 20.04'
    122        'Ub22': 'Packages for Ubuntu 22.04'
    123        'Ub22a64': 'AArch64 packages for Ubuntu 22.04'
    124        'Ub24': 'Packages for Ubuntu 24.04'
    125        'Ub24a64': 'AArch64 packages for Ubuntu 24.04'
    126        'I': 'Docker Image Builds'
    127        'TA': 'Toolchain builds for Android'
    128        'TL': 'Toolchain builds for Linux 64-bits'
    129        'TL32': 'Toolchain builds for Linux 32-bits'
    130        'TLA64': 'Toolchain builds for Linux AArch64'
    131        'TM': 'Toolchain builds for OSX'
    132        'TMA64': 'Toolchain builds for OSX Aarch64'
    133        'TMW': 'Toolchain builds for Windows MinGW'
    134        'TW32': 'Toolchain builds for Windows 32-bits'
    135        'TW64': 'Toolchain builds for Windows 64-bits'
    136        'TWA64': 'Toolchain builds for Windows AArch64'
    137        'WMC32': 'MinGW-Clang builds for Windows 32-bits'
    138        'WMC64': 'MinGW-Clang builds for Windows 64-bits'
    139        'Searchfox': 'Searchfox builds'
    140        'SM': 'Spidermonkey builds'
    141        'p': 'Partial generation'
    142        'pz': 'Partial-zucchini generation'
    143        'ps': 'Partials signing'
    144        'ms': 'Complete MAR signing'
    145        'ms-stage': 'Autograph-stage MAR signing test'
    146        'Rel': 'Release promotion'
    147        'Snap': 'Snap image generation'
    148        'B-local': 'Snap builds local gecko checkout'
    149        'B-nightly': 'Snap builds Nightly'
    150        'B-beta': 'Snap builds Beta'
    151        'B-beta24': 'Snap builds Beta Core24'
    152        'B-stable': 'Snap builds Stable'
    153        'B-stable24': 'Snap builds Stable Core24'
    154        'B-esr': 'Snap builds ESR'
    155        'Sel-nightly': 'Snap selenium Nightly'
    156        'Sel-local': 'Snap selenium local gecko checkout'
    157        'Sel-beta': 'Snap selenium Beta'
    158        'Sel-beta24': 'Snap selenium Beta Core24'
    159        'Sel-stable': 'Snap selenium Stable'
    160        'Sel-stable24': 'Snap selenium Stable Core24'
    161        'Sel-esr': 'Snap selenium ESR'
    162        'Flatpak': 'Flatpak image generation'
    163        'langpack': 'Langpack sigatures and uploads'
    164        'TPS': 'Sync tests'
    165        'UV': 'Update verify'
    166        'UVnext': 'Update verify for esr-next'
    167        'pydep': 'python dependency update'
    168        'WR': 'WebRender standalone'
    169        'Wgpu': 'WebGPU standalone'
    170        'cpp': 'C/C++ checks'
    171        'pedantic': 'pedantic checks'
    172        'text': 'Check on texts'
    173        'misc': 'Misc checks'
    174        'js': 'JavaScript checks'
    175        'py': 'Python checks'
    176        'java': 'Java checks'
    177        'rust': 'Rust checks'
    178        'Static-Analysis': 'Full tree static-analysis'
    179        'SS': 'Shadow scheduler'
    180        'Sentry': 'Sentry synchronization'
    181        'test-info': 'Test manifest skip/fail information'
    182        'condprof': 'Conditioned Profile Builder'
    183        'doc': 'Documentation'
    184        'perftest': 'Performance tests'
    185        'perftest-detect': 'Performance regression detection tooling'
    186        'perftest-chrome': 'Performance tests using Chrome Release'
    187        'perftest-http3': 'Performance tests with HTTP/3'
    188        'perftest-fenix': 'Performance tests using Fenix'
    189        'perftest-geckoview': 'Performance tests using Geckoview Example'
    190        'perftest-focus': 'Performance tests using Focus'
    191        'l10n': 'Localization checks'
    192        'wc': 'webcompat'
    193        'Boot': 'Bootstrap'
    194        'Attr-L10n': 'Build Attribution'
    195        'android-l10n': 'Import strings from android-l10n repo'
    196        'updt-tst': 'Test updates to release from older firefox versions'
    197 
    198        # The below symbols are from firefox-android (fenix/focus/android-components)
    199        'buildconfig': 'Make sure the content of .buildconfig.yml matches what gradle knows about its projects'
    200        'compare-locales': 'Validate strings.xml with compare-locales'
    201        'detekt': 'detekt linter'
    202        'ktlint': 'ktlint linter'
    203        'lint': 'gradle lint linter'
    204 
    205        'focus': 'Focus general tasks no matter the variant'
    206        'focus-beta': 'Focus beta-related tasks'
    207        'focus-debug': 'Focus builds made for testing'
    208        'focus-nightly': 'Focus nightly-related tasks'
    209        'focus-release': 'Focus production-related tasks'
    210 
    211        'fenix': 'Fenix general tasks no matter the variant'
    212        'fenix-beta': 'Fenix beta-related tasks'
    213        'fenix-debug': 'Fenix builds made for testing'
    214        'fenix-nightly': 'Fenix nightly-related tasks'
    215        'fenix-nightlySim': 'Nightly-related tasks that run on each github push'
    216        'fenix-release': 'Fenix production-related tasks'
    217 
    218        # This list is based on mobile/android/android-components/.buildconfig.yml except the exceptions down below
    219        'browser-domains': 'browser-domains'
    220        'browser-engine-gecko': 'browser-engine-gecko'
    221        'browser-engine-system': 'browser-engine-system'
    222        'browser-errorpages': 'browser-errorpages'
    223        'browser-icons': 'browser-icons'
    224        'browser-menu': 'browser-menu'
    225        'browser-menu2': 'browser-menu2'
    226        'browser-session-storage': 'browser-session-storage'
    227        'browser-state': 'browser-state'
    228        'browser-storage-sync': 'browser-storage-sync'
    229        'browser-tabstray': 'browser-tabstray'
    230        'browser-thumbnails': 'browser-thumbnails'
    231        'browser-toolbar': 'browser-toolbar'
    232        'compose-awesomebar': 'compose-engine'
    233        'compose-browser-toolbar': 'awesomebar-browser-toolbar'
    234        'compose-engine': 'compose-engine'
    235        'compose-tabstray': 'compose-tabstray'
    236        'concept-awesomebar': 'concept-awesomebar'
    237        'concept-base': 'concept-base'
    238        'compose-base': 'compose-base'
    239        'compose-cfr': 'compose-cfr'
    240        'concept-engine': 'concept-engine'
    241        'concept-fetch': 'concept-fetch'
    242        'concept-menu': 'concept-menu'
    243        'concept-push': 'concept-push'
    244        'concept-storage': 'concept-storage'
    245        'concept-sync': 'concept-sync'
    246        'concept-tabstray': 'concept-tabstray'
    247        'concept-toolbar': 'concept-toolbar'
    248        'feature-accounts-push': 'feature-accounts-push'
    249        'feature-accounts': 'feature-accounts'
    250        'feature-addons': 'feature-addons'
    251        'feature-app-links': 'feature-app-links'
    252        'feature-autofill': 'feature-autofill'
    253        'feature-awesomebar': 'feature-awesomebar'
    254        'feature-containers': 'feature-containers'
    255        'feature-contextmenu': 'feature-contextmenu'
    256        'feature-customtabs': 'feature-customtabs'
    257        'feature-downloads': 'feature-downloads'
    258        'feature-findinpage': 'feature-findinpage'
    259        'feature-fxsuggest': 'feature-fxsuggest'
    260        'feature-intent': 'feature-intent'
    261        'feature-logins': 'feature-logins'
    262        'feature-media': 'feature-media'
    263        'feature-privatemode': 'feature-privatemode'
    264        'feature-prompts': 'feature-prompts'
    265        'feature-push': 'feature-push'
    266        'feature-pwa': 'feature-pwa'
    267        'feature-qr': 'feature-qr'
    268        'feature-readerview': 'feature-readerview'
    269        'feature-recentlyclosed': 'feature-recentlyclosed'
    270        'feature-search': 'feature-search'
    271        'feature-serviceworker': 'feature-serviceworker'
    272        'feature-session': 'feature-session'
    273        'feature-screendetection': 'feature-screendetection'
    274        'feature-share': 'feature-share'
    275        'feature-sitepermissions': 'feature-sitepermissions'
    276        'feature-syncedtabs': 'feature-syncedtabs'
    277        'feature-tab-collections': 'feature-tab-collections'
    278        'feature-tabs': 'feature-tabs'
    279        'feature-toolbar': 'feature-toolbar'
    280        'feature-top-sites': 'feature-top-sites'
    281        'feature-webauthn': 'feature-webauthn'
    282        'feature-webcompat': 'feature-webcompat'
    283        'feature-webnotifications': 'feature-webnotifications'
    284        'lib-crash': 'lib-crash'
    285        'lib-auth': 'lib-auth'
    286        'lib-crash-sentry': 'lib-crash-sentry'
    287        'lib-crash-sentry-legacy': 'lib-crash-sentry-legacy'
    288        'lib-dataprotect': 'lib-dataprotect'
    289        'lib-fetch-okhttp': 'lib-fetch-okhttp'
    290        'lib-jexl': 'lib-jexl'
    291        'lib-publicsuffixlist': 'lib-publicsuffixlist'
    292        'lib-push-firebase': 'lib-push-firebase'
    293        'lib-state': 'lib-state'
    294        'samples-compose-browser': 'samples-compose-browser'
    295        'samples-crash': 'samples-crash'
    296        'samples-dataprotect': 'samples-dataprotect'
    297        'samples-firefox-accounts': 'samples-firefox-accounts'
    298        'samples-firefox-relay': 'samples-firefox-relay'
    299        'samples-glean-library': 'samples-glean-library'
    300        'samples-glean': 'samples-glean'
    301        'samples-sync-logins': 'samples-sync-logins'
    302        'samples-sync': 'samples-sync'
    303        'samples-toolbar': 'samples-toolbar'
    304        'service-digitalassetlinks': 'service-digitalassetlinks'
    305        'service-experiments': 'service-experiments'
    306        'service-firefox-accounts': 'service-firefox-accounts'
    307        'service-firefox-relay': 'service-firefox-relay'
    308        'service-fretboard': 'service-fretboard'
    309        'service-glean': 'service-glean'
    310        'service-location': 'service-location'
    311        'service-mars': 'service-mars'
    312        'service-nimbus': 'service-nimbus'
    313        'service-pocket': 'service-pocket'
    314        'service-sync-autofill': 'service-sync-autofill'
    315        'service-sync-logins': 'service-sync-logins'
    316        'support-android-test': 'support-android-test'
    317        'support-appservices': 'support-appservices'
    318        'support-base': 'support-base'
    319        'support-images': 'support-images'
    320        'support-ktx': 'support-ktx'
    321        'support-license': 'support-license'
    322        'support-locale': 'support-locale'
    323        'support-migration': 'support-migration'
    324        'support-remotesettings': 'support-remotesettings'
    325        'support-rusthttp': 'support-rusthttp'
    326        'support-rusterrors': 'support-rusterrors'
    327        'support-rustlog': 'support-rustlog'
    328        'support-sync-telemetry': 'support-sync-telemetry'
    329        'support-test-appservices': 'support-test-appservices'
    330        'support-test-fakes': 'support-test-fakes'
    331        'support-test-libstate': 'support-test-libstate'
    332        'support-test': 'support-test'
    333        'support-utils': 'support-utils'
    334        'support-webextensions': 'support-webextensions'
    335        'tooling-detekt': 'tooling-detekt'
    336        'tooling-fetch-tests': 'tooling-fetch-tests'
    337        'tooling-lint': 'tooling-lint'
    338        'ui-autocomplete': 'ui-autocomplete'
    339        'ui-colors': 'ui-colors'
    340        'ui-fonts': 'ui-fonts'
    341        'ui-icons': 'ui-icons'
    342        'ui-tabcounter': 'ui-tabcounter'
    343        'ui-widgets': 'ui-widgets'
    344 
    345        # These ones are too long to fit in 25 chars
    346        'lib-fetch-httpurlconnecti': 'lib-fetch-httpurlconnection'
    347        'feature-webcompat-reporte': 'feature-webcompat-reporter'
    348 
    349        # Groups aren't generated off buildconfig.yml:
    350        'samples-browser': 'samples-browser'
    351        'samples-browser-gecko': 'samples-browser-gecko'
    352        'samples-browser-system': 'samples-browser-system'
    353 
    354        # forPerformanceTest: Builds made for Raptor and other performance tests
    355        'Rap-P': 'Raptor power tests'
    356 
    357 index:
    358    products:
    359        - 'firefox'
    360        - 'fennec'
    361        - 'mobile'
    362        - 'static-analysis'
    363        - 'devedition'
    364        - 'source'
    365        - 'system-symbols'
    366        - 'geckodriver'
    367 
    368 try:
    369    # We have a few platforms for which we want to do some "extra" builds, or at
    370    # least build-ish things.  Sort of.  Anyway, these other things are implemented
    371    # as different "platforms".  These do *not* automatically ride along with "-p
    372    # all"
    373    ridealong-builds:
    374        'linux':
    375            - 'sm-plain-linux32'
    376            - 'sm-arm-sim-linux32'
    377        'linux64':
    378            - 'sm-plain-linux64'
    379            - 'sm-nojit-linux64'
    380            - 'sm-nonunified-linux64'
    381            - 'sm-arm-sim-linux32'
    382            - 'sm-arm64-sim-linux64'
    383            - 'sm-compacting-linux64'
    384            - 'sm-rootanalysis-linux64'
    385            - 'sm-package-linux64'
    386            - 'sm-tsan-linux64'
    387            - 'sm-asan-linux64'
    388            - 'sm-msan-linux64'
    389            - 'sm-fuzzing-linux64'
    390        'win32':
    391            - 'sm-plain-win32'
    392            - 'sm-compacting-win32'
    393 
    394 release-promotion:
    395    products:
    396        - 'devedition'
    397        - 'fennec'
    398        - 'firefox'
    399        - 'firefox-android'
    400    rebuild-kinds:
    401        - docker-image
    402        - fetch
    403        - packages
    404        - toolchain
    405    flavors:
    406        promote_devedition:
    407            product: devedition
    408            target-tasks-method: promote_desktop
    409            partial-updates: true
    410        promote_firefox:
    411            product: firefox
    412            target-tasks-method: promote_desktop
    413            partial-updates: true
    414        promote_firefox_partner_repack:
    415            product: firefox
    416            rebuild-kinds:
    417                - release-partner-repack
    418                - release-partner-repack-chunking-dummy
    419                - release-partner-repack-signing
    420                - release-partner-repack-mac-signing
    421                - release-partner-repack-mac-notarization
    422                - release-partner-repack-repackage
    423                - release-partner-repack-repackage-signing
    424                - release-partner-repack-beetmover
    425            target-tasks-method: promote_desktop
    426        promote_firefox_partner_attribution:
    427            product: firefox
    428            rebuild-kinds:
    429                - release-partner-attribution
    430                - release-partner-attribution-beetmover
    431            target-tasks-method: promote_desktop
    432        promote_firefox_rc:
    433            product: firefox
    434            is-rc: true
    435            target-tasks-method: promote_desktop
    436            partial-updates: true
    437        push_devedition:
    438            product: devedition
    439            target-tasks-method: push_desktop
    440            partial-updates: true
    441        push_firefox:
    442            product: firefox
    443            target-tasks-method: push_desktop
    444            partial-updates: true
    445        ship_devedition:
    446            product: devedition
    447            target-tasks-method: ship_desktop
    448            version-bump: true
    449            partial-updates: true
    450        ship_firefox:
    451            product: firefox
    452            target-tasks-method: ship_desktop
    453            version-bump: true
    454            partial-updates: true
    455        ship_firefox_rc:
    456            product: firefox
    457            is-rc: true
    458            target-tasks-method: ship_desktop
    459            partial-updates: true
    460        promote_android:
    461            product: firefox-android
    462            target-tasks-method: promote_android
    463        push_android:
    464            product: firefox-android
    465            target-tasks-method: push_android
    466        ship_android:
    467            product: firefox-android
    468            target-tasks-method: ship_android
    469 
    470 
    471 scriptworker:
    472    # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py
    473    scope-prefix: 'project:releng'
    474 
    475 partner-urls:
    476    release-partner-repack:
    477        by-release-product:
    478            default: null
    479            firefox:
    480                by-release-type:
    481                    default: null
    482                    beta|release.*:
    483                        by-release-level:
    484                            production: 'git@github.com:mozilla-partners/repack-manifests.git'
    485                            staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
    486                    esr.*:
    487                        by-release-level:
    488                            production: 'git@github.com:mozilla-partners/esr-repack-manifests.git'
    489                            staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git'
    490    release-partner-attribution:
    491        by-release-product:
    492            default: null
    493            firefox:
    494                by-release-type:
    495                    default: null
    496                    beta|release.*:
    497                        by-release-level:
    498                            production: 'git@github.com:mozilla-partners/repack-manifests.git'
    499                            staging: 'git@github.com:moz-releng-automation-stage/repack-manifests.git'
    500                    esr.*:
    501                        by-release-level:
    502                            production: 'git@github.com:mozilla-partners/esr-repack-manifests.git'
    503                            staging: 'git@github.com:moz-releng-automation-stage/esr-repack-manifests.git'
    504    release-eme-free-repack:
    505        by-release-product:
    506            default: null
    507            firefox:
    508                by-release-type:
    509                    default: null
    510                    beta|release.*:
    511                        by-release-level:
    512                            production: 'git@github.com:mozilla-partners/mozilla-EME-free-manifest.git'
    513                            staging: 'git@github.com:moz-releng-automation-stage/mozilla-EME-free-manifest.git'
    514 
    515 
    516 task-priority:
    517    by-project:
    518        'mozilla-release': 'highest'
    519        'mozilla-esr.*': 'very-high'
    520        'mozilla-beta': 'high'
    521        'mozilla-central': 'medium'
    522        'autoland': 'low'
    523        'mozilla-inbound': 'low'
    524        'default': 'very-low'
    525 
    526 taskgraph:
    527    register: gecko_taskgraph:register
    528    repositories:
    529        gecko:
    530            name: 'Mozilla Firefox'
    531 
    532 workers:
    533    aliases:
    534        b-linux(|-docker(|-x?large)-amd|-medium|-aarch64|-xlarge|-kvm):
    535            provisioner: '{trust-domain}-{level}'
    536            implementation: docker-worker
    537            os: linux
    538            worker-type: '{alias}'
    539        b-win2012:
    540            provisioner: '{trust-domain}-{level}'
    541            implementation: generic-worker
    542            os: windows
    543            worker-type: '{alias}-azure'
    544        b-win2022:
    545            provisioner: '{trust-domain}-{level}'
    546            implementation: generic-worker
    547            os: windows
    548            worker-type: '{alias}'
    549        b-win2022-xxlarge:
    550            provisioner: '{trust-domain}-{level}'
    551            implementation: generic-worker
    552            os: windows
    553            worker-type: '{alias}'
    554        b-win-aarch64:
    555            provisioner: '{trust-domain}-{level}'
    556            implementation: generic-worker
    557            os: windows
    558            worker-type: 'win11-a64-24h2-builder'
    559        images.*:
    560            provisioner: '{trust-domain}-{level}'
    561            implementation: docker-worker
    562            os: linux
    563            worker-type: '{alias}'
    564        addon:
    565            provisioner: scriptworker-k8s
    566            implementation: push-addons
    567            os: linux
    568            worker-type:
    569                by-release-level:
    570                    production: '{trust-domain}-3-addon'
    571                    staging: '{trust-domain}-1-addon'
    572        balrog:
    573            provisioner: scriptworker-k8s
    574            implementation: balrog
    575            os: linux
    576            worker-type:
    577                by-release-level:
    578                    production: '{trust-domain}-3-balrog'
    579                    staging: '{trust-domain}-1-balrog'
    580        bouncer:
    581            provisioner: scriptworker-k8s
    582            # Note that this implementation doesn't correspond with an
    583            # payload_builder, there are several `bouncer-*` implemenations.
    584            implementation: bouncer
    585            os: linux
    586            worker-type:
    587                by-release-level:
    588                    production: '{trust-domain}-3-bouncer'
    589                    staging: '{trust-domain}-1-bouncer'
    590        beetmover:
    591            provisioner: scriptworker-k8s
    592            implementation: beetmover
    593            os: linux
    594            worker-type:
    595                by-project:
    596                    # Autoland needs level 3 for integration beetmover tasks
    597                    autoland: '{trust-domain}-3-beetmover'
    598                    default:
    599                        by-release-level:
    600                            production: '{trust-domain}-3-beetmover'
    601                            staging: '{trust-domain}-1-beetmover'
    602        beetmover-android:
    603            provisioner: scriptworker-k8s
    604            implementation: scriptworker-beetmover
    605            os: linux
    606            worker-type:
    607                by-release-level:
    608                    production: '{trust-domain}-3-beetmover'
    609                    staging: '{trust-domain}-1-beetmover'
    610        shipit:
    611            provisioner: scriptworker-k8s
    612            implementation: shipit
    613            os: linux
    614            worker-type:
    615                by-release-level:
    616                    production: '{trust-domain}-3-shipit'
    617                    staging: '{trust-domain}-1-shipit'
    618        linux-depsigning:
    619            provisioner: scriptworker-k8s
    620            implementation: scriptworker-signing
    621            os: linux
    622            worker-type: '{trust-domain}-t-signing'
    623        linux-signing:
    624            provisioner: scriptworker-k8s
    625            implementation: scriptworker-signing
    626            os: linux
    627            worker-type:
    628                by-release-level:
    629                    production: '{trust-domain}-3-signing'
    630                    staging: '{trust-domain}-t-signing'
    631        mac-depsigning:
    632            provisioner: scriptworker-prov-v1
    633            implementation: iscript
    634            os: macosx
    635            worker-type: dep-gecko-signing-mac14m2
    636        mac-signing:
    637            provisioner: scriptworker-prov-v1
    638            implementation: iscript
    639            os: macosx
    640            worker-type:
    641                by-release-level:
    642                    production: gecko-signing-mac14m2
    643                    staging: dep-gecko-signing-mac14m2
    644        push-apk:
    645            provisioner: scriptworker-k8s
    646            implementation: scriptworker-pushapk
    647            os: linux
    648            worker-type: '{trust-domain}-{level}-pushapk'
    649        pushflatpak:
    650            provisioner: scriptworker-k8s
    651            implementation: push-flatpak
    652            os: linux
    653            worker-type:
    654                by-release-level:
    655                    staging: '{trust-domain}-1-pushflatpak'
    656                    production: '{trust-domain}-3-pushflatpak'
    657        pushmsix:
    658            provisioner: scriptworker-k8s
    659            implementation: push-msix
    660            os: linux
    661            worker-type:
    662                by-release-level:
    663                    staging: '{trust-domain}-1-pushmsix'
    664                    production: '{trust-domain}-3-pushmsix'
    665        tree:
    666            provisioner: scriptworker-k8s
    667            implementation: treescript
    668            os: linux
    669            worker-type:
    670                by-project:
    671                    # Autoland is treated specially here because any treescript
    672                    # tasks that run on it must be done on level 3 workers
    673                    # (so they can actually push changes). On other projects
    674                    # `release-level` would handle this just fine, but
    675                    # `autoland` is considered a "staging" release level for
    676                    # historical reasons.
    677                    # https://bugzilla.mozilla.org/show_bug.cgi?id=1960918
    678                    # seeks to improve this situation.
    679                    autoland: '{trust-domain}-3-tree'
    680                    default:
    681                        by-release-level:
    682                            production: '{trust-domain}-3-tree'
    683                            staging: '{trust-domain}-1-tree'
    684        tree-dev:
    685            provisioner: scriptworker-k8s
    686            implementation: treescript
    687            os: linux
    688            worker-type: '{trust-domain}-1-tree-dev'
    689        lando:
    690            provisioner: scriptworker-k8s
    691            implementation: landoscript
    692            os: linux
    693            worker-type:
    694                by-project:
    695                    # Autoland is treated specially here because any landoscript
    696                    # tasks that run on it must be done on level 3 workers
    697                    # (so they can actually push changes). On other projects
    698                    # `release-level` would handle this just fine, but
    699                    # `autoland` is considered a "staging" release level for
    700                    # historical reasons.
    701                    # https://bugzilla.mozilla.org/show_bug.cgi?id=1960918
    702                    # seeks to improve this situation.
    703                    autoland: '{trust-domain}-3-lando'
    704                    default:
    705                        by-release-level:
    706                            production: '{trust-domain}-3-lando'
    707                            staging: '{trust-domain}-1-lando'
    708        t-bitbar-gw.*:
    709            provisioner: proj-autophone
    710            implementation: generic-worker
    711            os: linux-bitbar
    712            worker-type: 'gecko-{alias}'
    713        t-lambda-.*:
    714            provisioner: proj-autophone
    715            implementation: generic-worker
    716            os: linux-lambda
    717            worker-type: 'gecko-{alias}'
    718        t-linux-docker(|-noscratch|-noscratch-amd|-16c32gb-amd|-amd):
    719            provisioner: '{trust-domain}-t'
    720            implementation: docker-worker
    721            os: linux
    722            worker-type: '{alias}'
    723        t-linux-kvm:
    724            provisioner: '{trust-domain}-t'
    725            implementation: docker-worker
    726            os: linux
    727            worker-type: 't-linux-docker-kvm'
    728        t-linux-talos:
    729            provisioner: releng-hardware
    730            implementation: generic-worker
    731            os: linux
    732            worker-type: 'gecko-{alias}'
    733        t-linux-netperf-1804:
    734            provisioner: releng-hardware
    735            implementation: generic-worker
    736            os: linux
    737            worker-type: 'gecko-{alias}'
    738        t-linux-talos-1804:
    739            provisioner: releng-hardware
    740            implementation: generic-worker
    741            os: linux
    742            worker-type: 'gecko-{alias}'
    743        t-linux-wayland:
    744            provisioner: '{trust-domain}-t'
    745            implementation: generic-worker
    746            os: linux
    747            worker-type: 't-linux-2204-wayland'
    748        t-linux-xlarge-wayland:
    749            provisioner: '{trust-domain}-t'
    750            implementation: generic-worker
    751            os: linux
    752            worker-type: 't-linux-xlarge-2204-wayland'
    753        t-linux-2204-wayland-snap:
    754            provisioner: '{trust-domain}-t'
    755            implementation: generic-worker
    756            os: linux
    757            worker-type: 't-linux-2204-wayland-snap'
    758        t-linux-2404-wayland-snap:
    759            provisioner: '{trust-domain}-t'
    760            implementation: generic-worker
    761            os: linux
    762            worker-type: 't-linux-2404-wayland-snap'
    763        t-linux-arm64-docker:
    764            provisioner: '{trust-domain}-t'
    765            implementation: docker-worker
    766            os: linux
    767            worker-type: '{alias}'
    768        t-osx-1015-r8:
    769            provisioner: releng-hardware
    770            implementation: generic-worker
    771            os: macosx
    772            worker-type: 'gecko-{alias}'
    773        t-osx-1400-r8:
    774            provisioner: releng-hardware
    775            implementation: generic-worker
    776            os: macosx
    777            worker-type: 'gecko-{alias}'
    778        t-osx-1500-m4:
    779            provisioner: releng-hardware
    780            implementation: generic-worker
    781            os: macosx
    782            worker-type: 'gecko-{alias}'
    783        t-osx-1015-power:
    784            provisioner: releng-hardware
    785            implementation: generic-worker
    786            os: macosx
    787            worker-type: 'gecko-{alias}'
    788        b-osx-1015:
    789            provisioner: releng-hardware
    790            implementation: generic-worker
    791            os: macosx
    792            worker-type:
    793                by-level:
    794                    '3': 'gecko-3-b-osx-1015'
    795                    default: 'gecko-1-b-osx-1015'
    796        b-osx-arm64:
    797            provisioner: releng-hardware
    798            implementation: generic-worker
    799            os: macosx
    800            worker-type:
    801                by-level:
    802                    '3': 'gecko-3-b-osx-arm64'
    803                    default: 'gecko-1-b-osx-arm64'
    804        win10-64-2009-hw:
    805            provisioner: releng-hardware
    806            implementation: generic-worker
    807            os: windows
    808            worker-type: '{alias}'
    809        win10-64-2009:
    810            provisioner: 'gecko-t'
    811            implementation: generic-worker
    812            os: windows
    813            worker-type: '{alias}'
    814        win10-64-2009(-gpu|-source):
    815            provisioner: 'gecko-t'
    816            implementation: generic-worker
    817            os: windows
    818            worker-type: '{alias}'
    819        win11-64-24h2(-hw|-hw-ref):
    820            provisioner: 'releng-hardware'
    821            implementation: generic-worker
    822            os: windows
    823            worker-type: '{alias}'
    824        win11-64-24h2(|-gpu|-source|-large|-webgpu):
    825            provisioner: 'gecko-t'
    826            implementation: generic-worker
    827            os: windows
    828            worker-type: '{alias}'
    829        win11-a64-24h2:
    830            provisioner: 'gecko-t'
    831            implementation: generic-worker
    832            os: windows
    833            worker-type: '{alias}'
    834        t-win7-32-gpu:
    835            provisioner: '{trust-domain}-t'
    836            implementation: generic-worker
    837            os: windows
    838            worker-type: '{alias}'
    839        t-win7-32:
    840            provisioner: releng-hardware
    841            implementation: generic-worker
    842            os: windows
    843            worker-type: 'gecko-{alias}-hw'
    844        succeed:
    845            provisioner: built-in
    846            implementation: succeed
    847            os: none
    848            worker-type: succeed
    849        misc:
    850            provisioner: '{trust-domain}-t'
    851            implementation: docker-worker
    852            os: linux
    853            worker-type: misc
    854 
    855 
    856 mac-signing:
    857    mac-requirements:
    858        by-platform:
    859            macosx64.*: build/package/mac_osx/requirements.plist
    860            default: ''
    861    hardened-sign-config:
    862        by-hardened-signing-type:
    863            production:
    864                - deep: false
    865                  runtime: true
    866                  force: true
    867                  entitlements: public/build/security/plugin-container.xml
    868                  globs:
    869                      - "/Contents/MacOS/plugin-container.app"
    870 
    871                - deep: false
    872                  runtime: true
    873                  force: true
    874                  entitlements: public/build/security/media-plugin-helper.xml
    875                  globs:
    876                      - "/Contents/MacOS/media-plugin-helper.app"
    877 
    878                - deep: false
    879                  runtime: true
    880                  force: true
    881                  # In production builds, these files are signed without
    882                  # entitlements files, but with hardened runtime enabled. As a
    883                  # result, they have the default (more restrictive)
    884                  # entitlement settings.
    885                  globs:
    886                      - "/Contents/MacOS/crashhelper"
    887                      - "/Contents/MacOS/crashreporter.app"
    888                      - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
    889                      - "/Contents/MacOS/updater.app"
    890                      - "/Contents/MacOS/gpu-helper.app"
    891                      - "/Contents/Library/LaunchServices/org.mozilla.updater"
    892                      - "/Contents/MacOS/XUL"
    893                      - "/Contents/MacOS/pingsender"
    894                      - "/Contents/MacOS/nmhproxy"
    895                      - "/Contents/MacOS/*.dylib"
    896                      - "/Contents/Resources/gmp-clearkey/*/*.dylib"
    897                      - "/Contents/Frameworks/ChannelPrefs.framework"
    898 
    899                - deep: false
    900                  runtime: true
    901                  force: true
    902                  entitlements:
    903                      by-build-platform:
    904                          .*devedition.*: public/build/security/firefoxdeveloperedition.browser.xml
    905                          default:
    906                              by-project:
    907                                  mozilla-central: public/build/security/nightly.browser.xml
    908                                  default: public/build/security/firefox.browser.xml
    909                  globs:
    910                      - "/"  # The .app
    911 
    912            default:
    913                - deep: false
    914                  runtime: true
    915                  force: true
    916                  entitlements: public/build/security/plugin-container.xml
    917                  globs:
    918                      - "/Contents/MacOS/plugin-container.app"
    919 
    920                - deep: false
    921                  runtime: true
    922                  force: true
    923                  entitlements: public/build/security/media-plugin-helper.xml
    924                  globs:
    925                      - "/Contents/MacOS/media-plugin-helper.app"
    926 
    927                - deep: false
    928                  runtime: true
    929                  force: true
    930                  entitlements: public/build/security/utility.xml
    931                  globs:
    932                      - "/Contents/MacOS/crashhelper"
    933                      - "/Contents/MacOS/crashreporter.app"
    934                      - "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
    935                      - "/Contents/MacOS/updater.app"
    936                      - "/Contents/MacOS/gpu-helper.app"
    937                      - "/Contents/Library/LaunchServices/org.mozilla.updater"
    938                      - "/Contents/MacOS/pingsender"
    939                      - "/Contents/MacOS/nmhproxy"
    940                      - "/Contents/Frameworks/ChannelPrefs.framework"
    941 
    942                - deep: false
    943                  runtime: true
    944                  force: true
    945                  # These files are signed without entitlements
    946                  globs:
    947                      - "/Contents/MacOS/XUL"
    948                      - "/Contents/MacOS/*.dylib"
    949                      - "/Contents/Resources/gmp-clearkey/*/*.dylib"
    950 
    951                - deep: false
    952                  runtime: true
    953                  force: true
    954                  entitlements: public/build/security/browser.xml
    955                  globs:
    956                      - "/"  # The .app
    957 
    958 expiration-policy:
    959    by-level:
    960        '1':
    961            default: 28 days
    962            shortest: 7 days
    963            short: 14 days
    964            medium: 28 days
    965            long: 28 days
    966        '3':
    967            default: 1 year
    968            shortest: 14 days
    969            short: 3 months
    970            medium: 1 year
    971            # To avoid keeping shippable builds for over a year
    972            long: 1 year
    973        default:
    974            default: 3 months
    975            shortest: 7 days
    976            short: 1 month
    977            medium: 1 year
    978            long: 1 year