Revision control
Copy as Markdown
Other Tools
# 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
---
trust-domain: comm
project-repo-param-prefix: comm_
product-dir: comm/mail
treeherder:
branch-map:
by-project:
enterprise-thunderbird:
enterprise-main: enterprise-main
enterprise-beta: enterprise-beta
enterprise-release: enterprise-release
default: {}
group-names:
# Images/Packages/Toolchain
'Deb8': 'Packages for Debian 8'
'Deb8-32': 'Packages for Debian 8 32-bits'
'Deb10a64': 'Packages for Debian 10 for aarch64'
'Deb12': 'Packages for Debian 12'
'Fetch': 'Fetch and store content'
'Complete': 'Barrier tasks that resolve once all their dependencies have completed'
'Ub18': 'Packages for Ubuntu 18.04'
'Ub20': 'Packages for Ubuntu 20.04'
'Ub22': 'Packages for Ubuntu 22.04'
'Ub24': 'Packages for Ubuntu 24.04'
'I': 'Docker Image Builds'
'TA': 'Toolchain builds for Android'
'TL': 'Toolchain builds for Linux 64-bits'
'TL32': 'Toolchain builds for Linux 32-bits'
'TLA64': 'Toolchain builds for Linux AArch64'
'TM': 'Toolchain builds for macOS'
'TMA64': 'Toolchain builds for macOS Aarch64'
'TW32': 'Toolchain builds for Windows 32-bits'
'TW64': 'Toolchain builds for Windows 64-bits'
'TWA64': 'Toolchain builds for Windows AArch64'
'TWM': 'Toolchain builds for Windows MinGW'
'WASI': 'Toolchain builds for WASI'
# Release promotion
'BM': 'Beetmover'
'BMcs': 'Beetmover checksums,'
'BMcss': 'Beetmover checksums for source'
'BMR': 'Beetmover repackages'
'BM-apt': 'Beetmover APT (.deb) packages'
'c-Up': 'Balrog submission of complete updates'
'cs': 'Checksum signing'
'css': 'Checksum signing for source'
'Deb': 'Deb archive generation'
'Deb-l10n': 'Localized deb repacks'
'Flatpak': 'Flatpak image generation'
'L10n': 'Localised Repacks'
'L10n-Rpk': 'Localized Repackaged Repacks'
'l10n-bump': 'L10n Bumper'
'langpack': 'Langpack uploads to ATN'
'ms': 'Complete MAR signing'
'MSI': 'Repack installers into MSIs'
'MSIs': 'Signing of Repacked installers of MSIs'
'MSIX': 'Repack into MSIX package'
'MSIXs': 'Signing of Repack into MSIX package'
'p': 'Partial generation'
'ps': 'Partials signing'
'Rel': 'Release promotion'
'rs': 'Repackage signing'
'Snap': 'Snap image generation'
'UV': 'Update verify'
'UVnext': 'Update verify for esr-next'
# mozlint
'cpp': 'C/C++ checks'
'js': 'JavaScript checks'
'l10n': 'Localization checks'
'misc': 'Misc checks'
'pedantic': 'pedantic checks'
'legal': 'Licensing and legal checks'
'py': 'Python checks'
'rust': 'Rust checks'
'text': 'Check on texts'
# Tests
'X': 'Xpcshell tests'
'X-cf': 'Xpcshell tests confirm failure'
'X-msix': 'Xpcshell tests on msix packages'
'X-msix-cf': 'Xpcshell tests confirm failure on msix packages'
'M': 'Mochitests'
'M-cf': 'Mochitests confirm failure'
'M-msix': 'Mochitests from MSIX builds'
'M-msix-cf': 'Mochitests confirm failure from MSIX builds'
'Rpk-Ent': 'Enterprise repacks'
'Rpk-Ent-Rpk': 'Enterprise repacks repackage'
'Rpk': 'Classic repacks'
'MSI-Ent': "MSI Enterprise repacks"
'MSIs-Ent': "MSI signed Enterprise repacks"
'DEB-Ent': "Debian Enterprise repacks"
'BMS-Ent': "Mac signing for Enterprise repacks"
'BMN-Ent': "Mac notarization for Enterprise repacks"
'MnEnt': 'Marionette tests Enterprise'
'Searchfox': 'Searchfox builds'
'doc': 'Source docs'
index:
products:
- thunderbird
- static-analysis
try:
ridealong-builds: {}
release-promotion:
products:
- 'thunderbird'
- 'thunderbird-enterprise'
rebuild-kinds:
- docker-image
- fetch
- packages
- toolchain
flavors:
promote_thunderbird:
product: thunderbird
target-tasks-method: promote_desktop
partial-updates: true
push_thunderbird:
product: thunderbird
target-tasks-method: push_desktop
partial-updates: true
ship_thunderbird:
product: thunderbird
target-tasks-method: ship_desktop
version-bump: true
partial-updates: true
# Mapping of project to list of branches that should be considered "release"
# level. A value of `True` means all branches are considered release
# (used by hg.mozilla.org based projects).
release-branches:
comm-central: true
comm-beta: true
comm-release: true
comm-esr140: true
comm-esr153: true
enterprise-thunderbird:
- enterprise-main
- enterprise-beta
- enterprise-release
scriptworker:
scope-prefix: 'project:comm:thunderbird:releng'
partner-urls:
release-partner-attribution: null
release-partner-repack: null
release-eme-free-repack: null
enterprise-repack:
by-release-product:
default: null
thunderbird-enterprise:
by-release-level:
staging: 'git@github.com:mozilla-partners/staging-enterprise-thunderbird-manifests.git'
production: 'git@github.com:mozilla-partners/enterprise-thunderbird-manifests.git'
task-priority:
by-project:
'comm-central': 'medium'
'comm-beta':
by-shipping:
'true': 'high'
'default': 'low'
'comm-release': 'highest'
'comm-esr.*':
by-shipping:
'true': 'very-high'
'default': 'low'
'default': 'low'
taskgraph:
register: comm_taskgraph:register
decision-parameters: 'comm_taskgraph.decision:get_decision_parameters'
repositories:
gecko:
name: 'Mozilla Firefox'
workers:
aliases:
b-linux(|-aarch64|-docker(-x?large)?(-noscratch)?-amd):
provisioner: '{trust-domain}-{level}'
implementation: docker-worker
os: linux
worker-type: '{alias}'
b-osx-arm64:
provisioner: releng-hardware
implementation: generic-worker
os: macosx
worker-type: '{alias}'
b-win2022:
provisioner: '{trust-domain}-{level}'
implementation: generic-worker
os: windows
worker-type: '{alias}'
images(|-aarch64):
provisioner: '{trust-domain}-{level}'
implementation: docker-worker
os: linux
worker-type: '{alias}'
balrog:
provisioner: scriptworker-k8s
implementation: balrog
os: scriptworker
worker-type:
by-release-level:
production: comm-3-balrog
staging: comm-1-balrog
bouncer:
provisioner: scriptworker-k8s
# Note that this implementation doesn't correspond with a
# payload_builder, there are several `bouncer-*` implementations.
implementation: bouncer
os: scriptworker
worker-type:
by-release-level:
production: comm-3-bouncer
staging: comm-1-bouncer
beetmover:
provisioner: scriptworker-k8s
implementation: beetmover
os: scriptworker
worker-type:
by-release-level:
production: comm-3-beetmover
staging: comm-1-beetmover
shipit:
provisioner: scriptworker-k8s
implementation: shipit
os: scriptworker
worker-type:
by-release-level:
production: 'comm-3-shipit'
staging: 'comm-1-shipit'
linux-depsigning:
provisioner: scriptworker-k8s
implementation: scriptworker-signing
os: linux
worker-type: '{trust-domain}-t-signing'
linux-signing:
provisioner: scriptworker-k8s
implementation: scriptworker-signing
os: linux
worker-type:
by-release-level:
production: '{trust-domain}-3-signing'
staging: '{trust-domain}-t-signing'
mac-depsigning:
provisioner: scriptworker-prov-v1
implementation: iscript
os: macosx
worker-type: 'dep-{trust-domain}-signing-mac14m2'
mac-signing:
provisioner: scriptworker-prov-v1
implementation: iscript
os: macosx
worker-type:
by-release-level:
production: '{trust-domain}-signing-mac14m2'
staging: 'dep-{trust-domain}-signing-mac14m2'
tree:
provisioner: scriptworker-k8s
implementation: treescript
os: scriptworker
worker-type:
by-release-level:
production: '{trust-domain}-3-tree'
staging: '{trust-domain}-1-tree'
lando:
provisioner: scriptworker-k8s
implementation: scriptworker-lando
os: linux
worker-type:
by-release-level:
production: '{trust-domain}-3-lando'
staging: '{trust-domain}-1-lando'
t-linux-docker(-noscratch)?(-amd)?:
provisioner: '{trust-domain}-t'
implementation: docker-worker
os: linux
worker-type: '{alias}'
t-osx-1015-r8:
provisioner: releng-hardware
implementation: generic-worker
os: macosx
worker-type: 'gecko-{alias}'
t-osx-1100-m1:
provisioner: releng-hardware
implementation: generic-worker
os: macosx
worker-type: 'gecko-{alias}'
t-osx-1400-r8:
provisioner: releng-hardware
implementation: generic-worker
os: macosx
worker-type: 'gecko-{alias}'
t-osx-1500-m4:
provisioner: releng-hardware
implementation: generic-worker
os: macosx
worker-type: 'gecko-{alias}'
win11-64-25h2:
provisioner: '{trust-domain}-t'
implementation: generic-worker
os: windows
worker-type: '{alias}'
succeed:
provisioner: built-in
implementation: succeed
os: none
worker-type: succeed
misc:
provisioner: '{trust-domain}-t'
implementation: docker-worker
os: linux
worker-type: misc
mac-signing:
mac-requirements:
by-platform:
macosx64.*: build/package/mac_osx/requirements.plist
default: ''
hardened-sign-config:
by-hardened-signing-type:
production:
- deep: false
runtime: true
force: true
entitlements: public/build/security/plugin-container.xml
globs:
- "/Contents/MacOS/plugin-container.app"
- deep: false
runtime: true
force: true
entitlements: public/build/security/media-plugin-helper.xml
globs:
- "/Contents/MacOS/media-plugin-helper.app"
- deep: false
runtime: true
force: true
entitlements: public/build/security/security-module-helper.xml
globs:
- "/Contents/MacOS/security-module-helper.app"
only-if-milestone-is-nightly: true
- deep: false
runtime: true
force: true
# These files are signed without entitlements
globs:
- "/Contents/MacOS/crashhelper"
- "/Contents/MacOS/crashreporter.app"
- "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
- "/Contents/MacOS/updater.app"
- "/Contents/MacOS/gpu-helper.app"
- "/Contents/Library/LaunchServices/org.mozilla.updater"
- "/Contents/Library/Spotlight/thunderbird.mdimporter"
- "/Contents/MacOS/XUL"
- "/Contents/MacOS/pingsender"
- "/Contents/MacOS/*.dylib"
- "/Contents/Frameworks/ChannelPrefs.framework"
- deep: false
runtime: true
force: true
# rnp_experimental is only packaged in the daily channel
globs:
- "/Contents/MacOS/rnp-cli-experimental"
- "/Contents/MacOS/rnpkeys-experimental"
only-if-milestone-is-nightly: true
- deep: false
runtime: true
force: true
entitlements:
by-build-platform:
.*enterprise.*: public/build/security/thunderbirdenterprise.browser.xml
default: public/build/security/browser.xml
globs:
- "/" # The .app
default:
- deep: false
runtime: true
force: true
entitlements: public/build/security/plugin-container.xml
globs:
- "/Contents/MacOS/plugin-container.app"
- deep: false
runtime: true
force: true
entitlements: public/build/security/media-plugin-helper.xml
globs:
- "/Contents/MacOS/media-plugin-helper.app"
- deep: false
runtime: true
force: true
entitlements: public/build/security/security-module-helper.xml
globs:
- "/Contents/MacOS/security-module-helper.app"
only-if-milestone-is-nightly: true
- deep: false
runtime: true
force: true
entitlements: public/build/security/utility.xml
globs:
- "/Contents/MacOS/crashhelper"
- "/Contents/MacOS/crashreporter.app"
- "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
- "/Contents/MacOS/updater.app"
- "/Contents/MacOS/gpu-helper.app"
- "/Contents/Library/LaunchServices/org.mozilla.updater"
- "/Contents/Library/Spotlight/thunderbird.mdimporter"
- "/Contents/MacOS/pingsender"
- "/Contents/Frameworks/ChannelPrefs.framework"
- deep: false
runtime: true
force: true
entitlements: public/build/security/utility.xml
# rnp_experimental is only packaged in the daily channel
globs:
- "/Contents/MacOS/rnp-cli-experimental"
- "/Contents/MacOS/rnpkeys-experimental"
only-if-milestone-is-nightly: true
- deep: false
runtime: true
force: true
# These files are signed without entitlements
globs:
- "/Contents/MacOS/XUL"
- "/Contents/MacOS/*.dylib"
- deep: false
runtime: true
force: true
entitlements:
by-build-platform:
.*enterprise.*: public/build/security/thunderbirdenterprise.browser.xml
default: public/build/security/browser.xml
globs:
- "/" # The .app
expiration-policy:
by-project:
try:
default: 28 days
shortest: 7 days
short: 14 days
medium: 28 days
long: 28 days
try-comm-central:
default: 28 days
shortest: 7 days
short: 14 days
medium: 28 days
long: 28 days
ash:
default: 1 month
shortest: 7 days
short: 1 month
medium: 1 month
long: 1 month
default:
default: 3 months
shortest: 7 days
short: 1 month
medium: 1 year
long: 1 year