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
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
trust-domain: comm
project-repo-param-prefix: comm_
product-dir: comm/mail
treeherder:
group-names:
# Images/Packages/Toolchain
'Deb8': 'Packages for Debian 8'
'Deb8-32': 'Packages for Debian 8 32-bits'
'Deb12': 'Packages for Debian 12'
'Fetch': 'Fetch and store content'
'Ub18': 'Packages for Ubuntu 18.04'
'Ub20': 'Packages for Ubuntu 20.04'
'Ub22': 'Packages for Ubuntu 22.04'
'I': 'Docker Image Builds'
'TA': 'Toolchain builds for Android'
'TL': 'Toolchain builds for Linux 64-bits'
'TM': 'Toolchain builds for OSX'
'TMW': 'Toolchain builds for Windows MinGW'
'TW32': 'Toolchain builds for Windows 32-bits'
'TW64': 'Toolchain builds for Windows 64-bits'
# Release promotion
'BM': 'Beetmover'
'BMcs': 'Beetmover checksums,'
'BMcss': 'Beetmover checksums for source'
'BMR': 'Beetmover repackages'
'c-Up': 'Balrog submission of complete updates'
'cs': 'Checksum signing'
'css': 'Checksum signing for source'
'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'
'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'
'Searchfox': 'Searchfox builds'
'doc': 'Source docs'
index:
products:
- thunderbird
- static-analysis
try:
ridealong-builds: {}
release-promotion:
products:
- 'thunderbird'
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
# Paths in this section should not be prefixed by comm/
# Behavior names are prefixed with 'comm-'
merge-automation:
behaviors:
comm-central-to-beta:
fetch-version-from: "mail/config/version.txt"
version-files:
- filename: "mail/config/version.txt"
new-suffix: ''
- filename: "mail/config/version_display.txt"
new-suffix: 'b1'
replacements:
- - mail/config/mozconfigs/l10n-common
- ac_add_options --with-branding=comm/mail/branding/nightly
- ac_add_options --enable-official-branding
- - .gecko_rev.yml
- "GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/mozilla-central"
- - suite/config/version.txt
- a1
- ''
- - suite/config/version_display.txt
- a1
- b1
merge-old-head: true
base-tag: 'BETA_{major_version}_BASE'
end-tag: 'BETA_{major_version}_END'
from-branch: 'comm'
to-branch: 'comm-beta'
comm-beta-to-release:
fetch-version-from: "mail/config/version.txt"
version-files:
- filename: "mail/config/version_display.txt"
new-suffix: ''
replacements:
- - suite/config/version_display.txt
- b1
- ''
- - .gecko_rev.yml
merge-old-head: true
base-tag: 'RELEASE_{major_version}_BASE'
end-tag: 'RELEASE_{major_version}_END'
from-branch: 'comm-beta'
to-branch: 'comm-release'
comm-release-to-esr:
fetch-version-from: "mail/config/version.txt"
version-files:
- filename: "mail/config/version_display.txt"
new-suffix: 'esr'
replacements:
- - .gecko_rev.yml
merge-old-head: false
end-tag: "ESR_{major_version}_BASE"
to-branch: 'comm-esr115'
comm-bump-central:
fetch-version-from: "mail/config/version.txt"
version-files:
- filename: "mail/config/version.txt"
version-bump: "major"
new-suffix: 'a1'
- filename: "mail/config/version_display.txt"
version-bump: "major"
new-suffix: 'a1'
replacements:
- - suite/config/version.txt
- '{old_suite_version}'
- '{new_suite_version}'
- - suite/config/version_display.txt
- '{old_suite_version}'
- '{new_suite_version}'
merge-old-head: false
end-tag: 'NIGHTLY_{major_version}_END'
to-branch: 'comm'
comm-bump-esr115:
fetch-version-from: "mail/config/version.txt"
version-files:
- filename: "mail/config/version.txt"
version-bump: "minor"
- filename: "mail/config/version_display.txt"
version-bump: "minor"
replacements: []
merge-old-head: false
to-branch: 'comm-esr115'
scriptworker:
scope-prefix: 'project:comm:thunderbird:releng'
partner-urls:
release-partner-attribution: null
release-partner-repack: null
release-eme-free-repack: null
task-priority:
by-project:
'comm-central': 'medium'
'comm-beta': 'high'
'comm-release': 'highest'
'comm-esr.*': 'very-high'
'default': 'low'
taskgraph:
register: comm_taskgraph:register
decision-parameters: 'comm_taskgraph.decision:get_decision_parameters'
workers:
aliases:
b-linux.*:
provisioner: 'comm-{level}'
implementation: docker-worker
os: linux
worker-type: '{alias}'
b-win2022:
provisioner: 'comm-{level}'
implementation: generic-worker
os: windows
worker-type: '{alias}'
images:
provisioner: 'comm-{level}'
implementation: docker-worker
os: linux
worker-type: '{alias}'
images-gcp:
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: comm-t-signing
linux-signing:
provisioner: scriptworker-k8s
implementation: scriptworker-signing
os: linux
worker-type:
by-release-level:
production: comm-3-signing
staging: comm-t-signing
mac-depsigning:
provisioner: scriptworker-prov-v1
implementation: scriptworker-signing
os: macosx
worker-type: tb-depsigning-mac-v1
mac-signing:
provisioner: scriptworker-prov-v1
implementation: scriptworker-signing
os: macosx
worker-type:
by-release-level:
production: tb-signing-mac-v1
staging: tb-depsigning-mac-v1
tree:
provisioner: scriptworker-k8s
implementation: treescript
os: scriptworker
worker-type:
by-release-level:
production: comm-3-tree
staging: comm-1-tree
t-linux(-large|-xlarge|-xlarge-source):
provisioner: comm-t
implementation: docker-worker
os: linux
worker-type: '{alias}-gcp'
t-linux(-large|-xlarge|-xlarge-source)-noscratch:
provisioner: comm-t
implementation: docker-worker
os: linux
worker-type: '{alias}-gcp'
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}'
win11-64-2009(|-ssd):
provisioner: comm-t
implementation: generic-worker
os: windows
worker-type: '{alias}'
succeed:
provisioner: built-in
implementation: succeed
os: none
worker-type: succeed
misc:
provisioner: comm-t
implementation: docker-worker
os: linux
worker-type: misc-gcp
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: comm/build/macosx/hardenedruntime/v2/production/plugin-container.xml
globs:
- "/Contents/MacOS/plugin-container.app"
- deep: false
runtime: true
force: true
entitlements: comm/build/macosx/hardenedruntime/v2/production/media-plugin-helper.xml
globs:
- "/Contents/MacOS/media-plugin-helper.app"
- deep: false
runtime: true
force: true
# These files are signed without entitlements
globs:
- "/Contents/MacOS/crashreporter.app"
- "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
- "/Contents/MacOS/updater.app"
- "/Contents/Library/LaunchServices/org.mozilla.updater"
- "/Contents/Library/Spotlight/thunderbird.mdimporter"
- "/Contents/MacOS/XUL"
- "/Contents/MacOS/pingsender"
- "/Contents/MacOS/minidump-analyzer"
- "/Contents/MacOS/*.dylib"
- "/Contents/MacOS/rnp-cli"
- "/Contents/MacOS/rnpkeys"
- "/Contents/Frameworks/ChannelPrefs.framework"
- deep: false
runtime: true
force: true
entitlements: comm/build/macosx/hardenedruntime/v2/production/browser.xml
globs:
- "/" # The .app
default:
- deep: false
runtime: true
force: true
entitlements: comm/build/macosx/hardenedruntime/v2/developer/plugin-container.xml
globs:
- "/Contents/MacOS/plugin-container.app"
- deep: false
runtime: true
force: true
entitlements: comm/build/macosx/hardenedruntime/v2/developer/media-plugin-helper.xml
globs:
- "/Contents/MacOS/media-plugin-helper.app"
- deep: false
runtime: true
force: true
entitlements: comm/build/macosx/hardenedruntime/v2/developer/utility.xml
globs:
- "/Contents/MacOS/crashreporter.app"
- "/Contents/MacOS/updater.app/Contents/Frameworks/UpdateSettings.framework"
- "/Contents/MacOS/updater.app"
- "/Contents/Library/LaunchServices/org.mozilla.updater"
- "/Contents/Library/Spotlight/thunderbird.mdimporter"
- "/Contents/MacOS/pingsender"
- "/Contents/MacOS/minidump-analyzer"
- "/Contents/MacOS/rnp-cli"
- "/Contents/MacOS/rnpkeys"
- "/Contents/Frameworks/ChannelPrefs.framework"
- 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: comm/build/macosx/hardenedruntime/v2/developer/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: 1 month
shortest: 7 days
short: 14 days
medium: 1 month
long: 1 month
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