summaryrefslogtreecommitdiffstats
path: root/comm/taskcluster/ci
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /comm/taskcluster/ci
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/taskcluster/ci')
-rw-r--r--comm/taskcluster/ci/are-we-esmified-yet/kind.yml43
-rw-r--r--comm/taskcluster/ci/balrog/kind.yml17
-rw-r--r--comm/taskcluster/ci/beetmover-checksums/kind.yml25
-rw-r--r--comm/taskcluster/ci/beetmover-repackage/kind.yml54
-rw-r--r--comm/taskcluster/ci/beetmover-source/kind.yml19
-rw-r--r--comm/taskcluster/ci/beetmover-strings-source/kind.yml20
-rw-r--r--comm/taskcluster/ci/bouncer-locations/kind.yml52
-rw-r--r--comm/taskcluster/ci/build-mac-notarization/kind.yml29
-rw-r--r--comm/taskcluster/ci/build-mac-signing/kind.yml28
-rw-r--r--comm/taskcluster/ci/build-signing/kind.yml30
-rw-r--r--comm/taskcluster/ci/build/kind.yml52
-rw-r--r--comm/taskcluster/ci/build/linux.yml405
-rw-r--r--comm/taskcluster/ci/build/macosx.yml288
-rw-r--r--comm/taskcluster/ci/build/windows.yml536
-rw-r--r--comm/taskcluster/ci/code-review/kind.yml41
-rw-r--r--comm/taskcluster/ci/config.yml310
-rw-r--r--comm/taskcluster/ci/docker-image/docker-image.yml15
-rw-r--r--comm/taskcluster/ci/docker-image/kind.yml47
-rw-r--r--comm/taskcluster/ci/fetch/kind.yml6
-rw-r--r--comm/taskcluster/ci/l10n-bump/kind.yml86
-rw-r--r--comm/taskcluster/ci/l10n-cross-channel/kind.yml42
-rw-r--r--comm/taskcluster/ci/l10n-pre/kind.yml53
-rw-r--r--comm/taskcluster/ci/l10n/kind.yml148
-rw-r--r--comm/taskcluster/ci/mar-signing-l10n/kind.yml28
-rw-r--r--comm/taskcluster/ci/mar-signing/kind.yml29
-rw-r--r--comm/taskcluster/ci/merge-automation/kind.yml58
-rw-r--r--comm/taskcluster/ci/packages/kind.yml6
-rw-r--r--comm/taskcluster/ci/partials-signing/kind.yml20
-rw-r--r--comm/taskcluster/ci/partials/kind.yml28
-rw-r--r--comm/taskcluster/ci/post-balrog-dummy/kind.yml21
-rw-r--r--comm/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml24
-rw-r--r--comm/taskcluster/ci/post-beetmover-dummy/kind.yml22
-rw-r--r--comm/taskcluster/ci/release-balrog-scheduling/kind.yml63
-rw-r--r--comm/taskcluster/ci/release-balrog-submit-toplevel/kind.yml53
-rw-r--r--comm/taskcluster/ci/release-beetmover-push-to-release/kind.yml24
-rw-r--r--comm/taskcluster/ci/release-beetmover-source-checksums/kind.yml19
-rw-r--r--comm/taskcluster/ci/release-bouncer-aliases/kind.yml53
-rw-r--r--comm/taskcluster/ci/release-bouncer-check/kind.yml54
-rw-r--r--comm/taskcluster/ci/release-bouncer-sub/kind.yml38
-rw-r--r--comm/taskcluster/ci/release-final-verify/kind.yml36
-rw-r--r--comm/taskcluster/ci/release-flatpak-push/kind.yml42
-rw-r--r--comm/taskcluster/ci/release-flatpak-repackage/kind.yml70
-rw-r--r--comm/taskcluster/ci/release-generate-checksums-beetmover/kind.yml17
-rw-r--r--comm/taskcluster/ci/release-generate-checksums-signing/kind.yml15
-rw-r--r--comm/taskcluster/ci/release-generate-checksums/kind.yml72
-rw-r--r--comm/taskcluster/ci/release-mark-as-shipped/kind.yml44
-rw-r--r--comm/taskcluster/ci/release-notify-av-announce/kind.yml40
-rw-r--r--comm/taskcluster/ci/release-notify-promote/kind.yml37
-rw-r--r--comm/taskcluster/ci/release-notify-push/kind.yml34
-rw-r--r--comm/taskcluster/ci/release-notify-ship/kind.yml38
-rw-r--r--comm/taskcluster/ci/release-notify-started/kind.yml30
-rw-r--r--comm/taskcluster/ci/release-push-langpacks/kind.yml55
-rw-r--r--comm/taskcluster/ci/release-source-checksums-signing/kind.yml16
-rw-r--r--comm/taskcluster/ci/release-source-signing/kind.yml17
-rw-r--r--comm/taskcluster/ci/release-source/kind.yml47
-rw-r--r--comm/taskcluster/ci/release-update-verify-config-next/kind.yml98
-rw-r--r--comm/taskcluster/ci/release-update-verify-config/kind.yml171
-rw-r--r--comm/taskcluster/ci/release-update-verify-next/kind.yml73
-rw-r--r--comm/taskcluster/ci/release-update-verify/kind.yml69
-rw-r--r--comm/taskcluster/ci/release-version-bump/kind.yml46
-rw-r--r--comm/taskcluster/ci/repackage-l10n/kind.yml72
-rw-r--r--comm/taskcluster/ci/repackage-msi/kind.yml43
-rw-r--r--comm/taskcluster/ci/repackage-msix/kind.yml89
-rw-r--r--comm/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml91
-rw-r--r--comm/taskcluster/ci/repackage-signing-l10n/kind.yml19
-rw-r--r--comm/taskcluster/ci/repackage-signing-msi/kind.yml19
-rw-r--r--comm/taskcluster/ci/repackage-signing-msix/kind.yml13
-rw-r--r--comm/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml13
-rw-r--r--comm/taskcluster/ci/repackage-signing/kind.yml20
-rw-r--r--comm/taskcluster/ci/repackage/kind.yml79
-rw-r--r--comm/taskcluster/ci/searchfox/kind.yml156
-rw-r--r--comm/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml27
-rw-r--r--comm/taskcluster/ci/shippable-l10n-mac-signing/kind.yml28
-rw-r--r--comm/taskcluster/ci/shippable-l10n-pre-signing/kind.yml17
-rw-r--r--comm/taskcluster/ci/shippable-l10n-pre/kind.yml61
-rw-r--r--comm/taskcluster/ci/shippable-l10n-signing/kind.yml29
-rw-r--r--comm/taskcluster/ci/shippable-l10n/kind.yml148
-rw-r--r--comm/taskcluster/ci/source-docs/kind.yml44
-rw-r--r--comm/taskcluster/ci/source-test/clang.yml58
-rw-r--r--comm/taskcluster/ci/source-test/kind.yml25
-rw-r--r--comm/taskcluster/ci/source-test/mozlint.yml287
-rw-r--r--comm/taskcluster/ci/source-test/python.yml35
-rw-r--r--comm/taskcluster/ci/test/compiled.yml35
-rw-r--r--comm/taskcluster/ci/test/kind.yml57
-rw-r--r--comm/taskcluster/ci/test/test-platforms.yml149
-rw-r--r--comm/taskcluster/ci/test/test-sets.yml22
-rw-r--r--comm/taskcluster/ci/test/tests.yml179
-rw-r--r--comm/taskcluster/ci/toolchain/clang.yml80
-rw-r--r--comm/taskcluster/ci/toolchain/kind.yml98
-rw-r--r--comm/taskcluster/ci/toolchain/libotr.yml102
-rw-r--r--comm/taskcluster/ci/upload-symbols/kind.yml48
91 files changed, 6096 insertions, 0 deletions
diff --git a/comm/taskcluster/ci/are-we-esmified-yet/kind.yml b/comm/taskcluster/ci/are-we-esmified-yet/kind.yml
new file mode 100644
index 0000000000..f6001d5200
--- /dev/null
+++ b/comm/taskcluster/ci/are-we-esmified-yet/kind.yml
@@ -0,0 +1,43 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ check:
+ description: Extracts statistics on remaining JSMs in the codebase
+ run-on-projects: []
+ attributes:
+ cron: true
+ index:
+ product: thunderbird
+ job-name: are-we-esmified-yet
+ treeherder:
+ platform: lint/opt
+ kind: other
+ symbol: js(esm)
+ tier: 2
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 3600
+ artifacts:
+ - type: file
+ name: public/are-we-esmified-yet.json
+ path: /builds/worker/artifacts/are-we-esmified-yet.json
+ run:
+ using: run-task
+ comm-checkout: true
+ command: >-
+ mkdir -p /builds/worker/artifacts &&
+ cd ${GECKO_PATH}/comm &&
+ python3 ./taskcluster/scripts/are-we-esmified-yet.py > /builds/worker/artifacts/are-we-esmified-yet.json
diff --git a/comm/taskcluster/ci/balrog/kind.yml b/comm/taskcluster/ci/balrog/kind.yml
new file mode 100644
index 0000000000..cbe3cbaef0
--- /dev/null
+++ b/comm/taskcluster/ci/balrog/kind.yml
@@ -0,0 +1,17 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.balrog_submit:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-repackage
+
+only-for-attributes:
+ - shippable
diff --git a/comm/taskcluster/ci/beetmover-checksums/kind.yml b/comm/taskcluster/ci/beetmover-checksums/kind.yml
new file mode 100644
index 0000000000..87e688403d
--- /dev/null
+++ b/comm/taskcluster/ci/beetmover-checksums/kind.yml
@@ -0,0 +1,25 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_checksums:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-repackage
+
+only-for-attributes:
+ - shippable
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_prefix: public
+ artifact_map:
+ by-release-type:
+ beta|release: comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates_checksums.yml
+ default: comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly_checksums.yml
diff --git a/comm/taskcluster/ci/beetmover-repackage/kind.yml b/comm/taskcluster/ci/beetmover-repackage/kind.yml
new file mode 100644
index 0000000000..01ddecb991
--- /dev/null
+++ b/comm/taskcluster/ci/beetmover-repackage/kind.yml
@@ -0,0 +1,54 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: single-locale
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_repackage_l10n:transforms
+ - gecko_taskgraph.transforms.beetmover_repackage:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - build-signing
+ - build-mac-signing
+ - build-mac-notarization
+ - repackage
+ - repackage-signing
+ - shippable-l10n
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+ - shippable-l10n-signing
+ - repackage-l10n
+ - repackage-signing-l10n
+ - partials
+ - partials-signing
+ - repackage-signing-msi
+ - repackage-signing-shippable-l10n-msix
+ - mar-signing
+ - mar-signing-l10n
+
+primary-dependency:
+ - repackage
+ - repackage-l10n
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-asan-reporter-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-asan-reporter-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map:
+ by-release-type:
+ beta|release: comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml
+ default: comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml
diff --git a/comm/taskcluster/ci/beetmover-source/kind.yml b/comm/taskcluster/ci/beetmover-source/kind.yml
new file mode 100644
index 0000000000..a6b3159f4b
--- /dev/null
+++ b/comm/taskcluster/ci/beetmover-source/kind.yml
@@ -0,0 +1,19 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover:transforms
+ - gecko_taskgraph.transforms.beetmover_source:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map: comm/taskcluster/comm_taskgraph/manifests/source_files.yml
diff --git a/comm/taskcluster/ci/beetmover-strings-source/kind.yml b/comm/taskcluster/ci/beetmover-strings-source/kind.yml
new file mode 100644
index 0000000000..fae5d05e47
--- /dev/null
+++ b/comm/taskcluster/ci/beetmover-strings-source/kind.yml
@@ -0,0 +1,20 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover:transforms
+ - gecko_taskgraph.transforms.beetmover_source:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - shippable-l10n-pre-signing
+
+job-template:
+ shipping-phase: promote
+ shipping-product: thunderbird
+ attributes:
+ artifact_map: comm/taskcluster/comm_taskgraph/manifests/strings_source.yml
diff --git a/comm/taskcluster/ci/bouncer-locations/kind.yml b/comm/taskcluster/ci/bouncer-locations/kind.yml
new file mode 100644
index 0000000000..be2854e5b0
--- /dev/null
+++ b/comm/taskcluster/ci/bouncer-locations/kind.yml
@@ -0,0 +1,52 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-beetmover-dummy
+
+transforms:
+ - gecko_taskgraph.transforms.bouncer_locations:transforms
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: nightly bouncer locations job
+ attributes:
+ shippable: true
+ worker-type: bouncer
+ worker:
+ implementation: bouncer-locations
+ scopes:
+ by-project:
+ comm-central:
+ - project:comm:thunderbird:releng:bouncer:action:locations
+ - project:comm:thunderbird:releng:bouncer:server:production
+ default:
+ - project:comm:thunderbird:releng:bouncer:action:locations
+ - project:comm:thunderbird:releng:bouncer:server:staging
+ shipping-phase: ship
+ treeherder:
+ symbol: BncLoc
+ kind: other
+ tier: 1
+
+jobs:
+ thunderbird:
+ run-on-releases: ['nightly']
+ run-on-projects: ['comm-central']
+ shipping-product: thunderbird
+ bouncer-products:
+ - thunderbird-nightly-latest
+ - thunderbird-nightly-latest-ssl
+ - thunderbird-nightly-latest-l10n
+ - thunderbird-nightly-latest-l10n-ssl
+ - thunderbird-nightly-msi-latest-ssl
+ - thunderbird-nightly-msi-latest-l10n-ssl
+ - thunderbird-nightly-pkg-latest-ssl
+ - thunderbird-nightly-pkg-latest-l10n-ssl
+ treeherder:
+ platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/build-mac-notarization/kind.yml b/comm/taskcluster/ci/build-mac-notarization/kind.yml
new file mode 100644
index 0000000000..fd20f843e4
--- /dev/null
+++ b/comm/taskcluster/ci/build-mac-notarization/kind.yml
@@ -0,0 +1,29 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.mac_notarization:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build-mac-signing
+
+only-for-attributes:
+ - shippable
+
+job-template:
+ treeherder:
+ symbol: BMN
+ upstream-artifacts:
+ - taskType: signing
+ paths:
+ - public/build/target.tar.gz
+ - public/build/target.pkg
+ formats: ["apple_notarization"]
+ taskId:
+ task-reference: <build-mac-signing>
diff --git a/comm/taskcluster/ci/build-mac-signing/kind.yml b/comm/taskcluster/ci/build-mac-signing/kind.yml
new file mode 100644
index 0000000000..9719a38882
--- /dev/null
+++ b/comm/taskcluster/ci/build-mac-signing/kind.yml
@@ -0,0 +1,28 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.build_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+kind-dependencies:
+ - build
+
+only-for-attributes:
+ - enable-build-signing
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64/opt
+ - macosx64/debug
+
+job-template:
+ treeherder:
+ symbol: BMS
+ enable-signing-routes: false
diff --git a/comm/taskcluster/ci/build-signing/kind.yml b/comm/taskcluster/ci/build-signing/kind.yml
new file mode 100644
index 0000000000..ec5bd89727
--- /dev/null
+++ b/comm/taskcluster/ci/build-signing/kind.yml
@@ -0,0 +1,30 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.upstream_artifact_task:transforms
+ - gecko_taskgraph.transforms.build_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+kind-dependencies:
+ - build
+
+primary-dependency:
+ - build
+
+only-for-attributes:
+ - shippable
+ - enable-build-signing
+
+not-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64/opt
+ - macosx64/debug
diff --git a/comm/taskcluster/ci/build/kind.yml b/comm/taskcluster/ci/build/kind.yml
new file mode 100644
index 0000000000..1c1b441996
--- /dev/null
+++ b/comm/taskcluster/ci/build/kind.yml
@@ -0,0 +1,52 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - fetch
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - comm_taskgraph.transforms.tb_build:transforms
+ - gecko_taskgraph.transforms.artifact:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs-from:
+ - linux.yml
+ - macosx.yml
+ - windows.yml
+
+job-defaults:
+ worker:
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ use-system-python: false
+ run:
+ mozconfig-variant:
+ by-release-type:
+ beta: release
+ release.*: release
+ default: nightly
+ # Note: These settings are only honored by nightly (i.e. shipping) builds
+ update-channel:
+ by-release-type:
+ nightly: nightly
+ beta: beta
+ release.*: release
+ default: null
+ mar-channel-id:
+ by-release-type:
+ release: thunderbird-comm-release
+ beta: thunderbird-comm-beta
+ default: thunderbird-comm-central
+ accepted-mar-channel-ids:
+ by-release-type:
+ release: thunderbird-comm-release
+ beta: thunderbird-comm-beta,thunderbird-comm-release
+ default: thunderbird-comm-central
diff --git a/comm/taskcluster/ci/build/linux.yml b/comm/taskcluster/ci/build/linux.yml
new file mode 100644
index 0000000000..c7898a79e7
--- /dev/null
+++ b/comm/taskcluster/ci/build/linux.yml
@@ -0,0 +1,405 @@
+# 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/.
+---
+job-defaults:
+ worker-type: b-linux-gcp
+ run:
+ using: mozharness
+ comm-checkout: true
+ actions: [build]
+ config-paths:
+ - comm/testing/mozharness/configs
+ script: "mozharness/scripts/fx_desktop_build.py"
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - linux64-rust-size
+ - sysroot-wasm32-wasi
+
+
+linux64/opt:
+ description: "Linux64 Opt"
+ index:
+ product: thunderbird
+ job-name: linux64-opt
+ treeherder:
+ platform: linux64/opt
+ symbol: B
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-rust
+ - linux64-sccache
+ - sysroot-x86_64-linux-gnu
+
+linux64-shippable/opt:
+ description: "Linux64 Shippable"
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: thunderbird
+ index:
+ product: thunderbird
+ job-name: linux64-opt
+ type: shippable
+ treeherder:
+ platform: linux64-shippable/opt
+ symbol: B
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ run-on-projects: ['release']
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-rust
+ - sysroot-x86_64-linux-gnu
+
+linux64/debug:
+ description: "Linux64 Debug"
+ index:
+ product: thunderbird
+ job-name: linux64-debug
+ treeherder:
+ platform: linux64/debug
+ symbol: B
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-rust
+ - linux64-sccache
+ - sysroot-x86_64-linux-gnu
+
+linux64-asan/opt:
+ description: "Linux64 Opt ASAN"
+ index:
+ product: thunderbird
+ job-name: linux64-asan-opt
+ treeherder:
+ platform: linux64/asan
+ symbol: Bo
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt asan"
+ ASAN_OPTIONS: "detect_leaks=0"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 5400
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ custom-build-variant-cfg: asan-tc
+ mozconfig-variant: nightly-asan
+ tooltool-downloads: public
+ run-on-projects: ['comm-central']
+ use-sccache: true
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-llvm-symbolizer
+ - linux64-rust-dev
+ - linux64-sccache
+ - sysroot-x86_64-linux-gnu
+
+linux64-asan-reporter-shippable/opt:
+ description: "Linux64 Opt ASAN Reporter (Shippable)"
+ attributes:
+ shippable: true
+ shipping-product:
+ by-release-type:
+ nightly: thunderbird
+ default: null
+ index:
+ product: thunderbird
+ job-name: linux64-asan-reporter-opt
+ type: shippable
+ treeherder:
+ platform: linux64-asan-reporter/opt
+ symbol: BoR
+ run-on-projects: ['comm-central']
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: asan-reporter
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 3600
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ custom-build-variant-cfg: asan-reporter-tc
+ mozconfig-variant: nightly-asan-reporter
+ mar-channel-id:
+ thunderbird-comm-central-asan
+ accepted-mar-channel-ids:
+ thunderbird-comm-central-asan
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-llvm-symbolizer
+ - linux64-rust
+ - linux64-sccache
+ - sysroot-x86_64-linux-gnu
+
+linux64-tsan/opt:
+ description: "Linux64 Opt TSAN"
+ index:
+ product: thunderbird
+ job-name: linux64-tsan-opt
+ treeherder:
+ platform: linux64/tsan
+ symbol: Bo
+ worker:
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt tsan"
+ LSAN_OPTIONS: "verbosity=1:log_threads=1"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ max-run-time: 5400
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ custom-build-variant-cfg: tsan-tc
+ mozconfig-variant: tsan
+ tooltool-downloads: public
+ run-on-projects: ['comm-central']
+ use-sccache: true
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-llvm-symbolizer
+ - linux64-rust-dev
+ - linux64-sccache
+ - sysroot-x86_64-linux-gnu
+
+linux64-aarch64/opt:
+ description: "Linux64 aarch64 Opt"
+ index:
+ product: thunderbird
+ job-name: linux64-aarch64-opt
+ attributes:
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: linux64-aarch64/opt
+ symbol: B
+ tier: 2
+ worker:
+ max-run-time: 7200
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ mozconfig_platform: linux64-aarch64
+ mozconfig-variant: opt
+ tooltool-downloads: public
+ run-on-projects: ['comm-central']
+ use-sccache: true
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - linux-aarch64-libotr
+ - linux64-llvm-symbolizer
+ - linux64-rust
+ - linux64-sccache
+ - sysroot-aarch64-linux-gnu
+ - sysroot-x86_64-linux-gnu
+
+linux64-ccov/opt:
+ description: "Linux64-CCov Opt"
+ index:
+ product: thunderbird
+ job-name: linux64-ccov-opt
+ treeherder:
+ platform: linux64-ccov/opt
+ symbol: B
+ tier: 2
+ run-on-projects: ['comm-central']
+ worker:
+ artifacts:
+ - name: public/code-coverage-grcov.zip
+ path: /builds/worker/workspace/obj-build/code-coverage-grcov.zip
+ type: file
+ max-run-time: 7200
+ env:
+ RUSTC_BOOTSTRAP: '1'
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ using: mozharness
+ comm-checkout: true
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ custom-build-variant-cfg: code-coverage-opt
+ mozconfig-variant: code-coverage-opt
+ use-sccache: false
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-grcov
+ - linux64-rust
+ - sysroot-x86_64-linux-gnu
+
+linux64-ccov/debug:
+ description: "Linux64-CCov Debug"
+ index:
+ product: thunderbird
+ job-name: linux64-ccov-debug
+ treeherder:
+ platform: linux64-ccov/debug
+ symbol: B
+ tier: 2
+ run-on-projects: []
+ worker:
+ max-run-time: 7200
+ env:
+ RUSTC_BOOTSTRAP: '1'
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ custom-build-variant-cfg: code-coverage-debug
+ mozconfig-variant: code-coverage-debug
+ use-sccache: false
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-libotr
+ - linux64-grcov
+ - linux64-rust
+ - sysroot-x86_64-linux-gnu
+
+linux/opt:
+ description: "Linux32 Opt"
+ index:
+ product: thunderbird
+ job-name: linux32-opt
+ treeherder:
+ platform: linux32/opt
+ symbol: B
+ worker:
+ max-run-time: 7200
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_32_builds.py
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux32-libotr
+ - linux64-rust
+ - linux64-sccache
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+
+linux-shippable/opt:
+ description: "Linux32 Shippable"
+ attributes:
+ shippable: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: thunderbird
+ index:
+ product: thunderbird
+ job-name: linux32-opt
+ type: shippable
+ treeherder:
+ platform: linux32-shippable/opt
+ symbol: B
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_32_builds.py
+ - taskcluster_nightly.py
+ run-on-projects: ['release']
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux32-libotr
+ - linux64-rust
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
+
+linux/debug:
+ description: "Linux32 Debug"
+ index:
+ product: thunderbird
+ job-name: linux32-debug
+ treeherder:
+ platform: linux32/debug
+ symbol: B
+ worker:
+ max-run-time: 7200
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_32_builds.py
+ custom-build-variant-cfg: debug
+ mozconfig-variant: debug
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux32-libotr
+ - linux64-rust
+ - linux64-sccache
+ - sysroot-i686-linux-gnu
+ - sysroot-x86_64-linux-gnu
diff --git a/comm/taskcluster/ci/build/macosx.yml b/comm/taskcluster/ci/build/macosx.yml
new file mode 100644
index 0000000000..d8510362d4
--- /dev/null
+++ b/comm/taskcluster/ci/build/macosx.yml
@@ -0,0 +1,288 @@
+# 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/.
+---
+job-defaults:
+ index:
+ product: thunderbird
+ worker-type: b-linux-gcp
+ run:
+ using: mozharness
+ comm-checkout: true
+ actions: [build]
+ config-paths:
+ - comm/testing/mozharness/configs
+ script: "mozharness/scripts/fx_desktop_build.py"
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-macos
+ - linux64-rust-size
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+
+macosx64/debug:
+ description: "MacOS X x64 Cross-compile"
+ index:
+ job-name: macosx64-debug
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross/debug
+ symbol: B
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_mac_64_cross_builds.py
+ custom-build-variant-cfg: cross-debug
+ mozconfig-variant: debug
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-sccache
+ - macosx64-x64-libotr
+ - macosx64-sdk
+
+macosx64/opt:
+ description: "MacOS X x64 Cross-compile"
+ index:
+ job-name: macosx64-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: osx-cross/opt
+ symbol: B
+ tier: 1
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_mac_64_cross_builds.py
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-sccache
+ - macosx64-x64-libotr
+ - macosx64-sdk
+
+macosx64-x64-shippable/opt:
+ description: "MacOS X x64 Cross-compile"
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: thunderbird
+ index:
+ product: thunderbird
+ job-name: macosx64-x64-opt
+ type: shippable
+ treeherder:
+ platform: osx-shippable/opt
+ symbol: B
+ tier: 1
+ run-on-projects: ['release']
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_mac_64_cross_builds.py
+ - taskcluster_nightly.py
+ fetches:
+ toolchain:
+ - macosx64-x64-libotr
+ - macosx64-sdk
+
+macosx64-aarch64-shippable/opt:
+ description: "MacOS X aarch64 Cross-compile"
+ attributes:
+ enable-full-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: thunderbird
+ index:
+ product: thunderbird
+ job-name: macosx64-aarch64-opt
+ type: shippable
+ treeherder:
+ platform: osx-aarch64-shippable/opt
+ symbol: B
+ tier: 1
+ run-on-projects: ['release']
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ PERFHERDER_EXTRA_OPTIONS: aarch64
+ run:
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_mac_64_cross_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ mozconfig_platform: macosx64-aarch64
+ script: "mozharness/scripts/fx_desktop_build.py"
+ fetches:
+ toolchain:
+ - macosx64-aarch64-libotr
+ - macosx64-sdk
+
+macosx64-shippable/opt:
+ description: "MacOS Universal"
+ attributes:
+ shippable: true
+ enable-build-signing: true
+ skip-upload-crashsymbols: true
+ skip-verify-test-packaging: true
+ shipping-phase: build
+ shipping-product: thunderbird
+ index:
+ product: thunderbird
+ job-name: macosx64-opt
+ type: shippable
+ treeherder:
+ platform: osx-shippable/opt
+ symbol: U
+ tier: 1
+ run-on-projects: ['release']
+ worker:
+ max-run-time: 1800
+ run:
+ job-script: taskcluster/scripts/misc/unify.sh
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ dependencies:
+ macosx64-x64-shippable-opt: build-macosx64-x64-shippable/opt
+ macosx64-aarch64-shippable-opt: build-macosx64-aarch64-shippable/opt
+ fetches:
+ macosx64-x64-shippable-opt:
+ - artifact: target.dmg
+ extract: false
+ dest: x64
+ - artifact: buildhub.json
+ extract: false
+ dest: ../artifacts
+ - artifact: host/bin/mar
+ extract: false
+ dest: ../artifacts/host/bin
+ - artifact: host/bin/mbsdiff
+ extract: false
+ dest: ../artifacts/host/bin
+ - artifact: target.txt
+ extract: false
+ dest: ../artifacts
+ - artifact: target_info.txt
+ extract: false
+ dest: ../artifacts
+ - artifact: target.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.mozinfo.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.test_packages.json
+ extract: false
+ dest: ../artifacts
+ - artifact: target.perftests.tests.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.common.tests.tar.gz
+ dest: x64/common
+ - artifact: target.cppunittest.tests.tar.gz
+ dest: x64/cppunittest
+ - artifact: target.gtest.tests.tar.gz
+ dest: x64/gtest
+ - artifact: target.jittest.tests.tar.gz
+ dest: x64/jittest
+ - artifact: target.jsreftest.tests.tar.gz
+ dest: x64/jsreftest
+ - artifact: target.mochitest.tests.tar.gz
+ dest: x64/mochitest
+ - artifact: target.reftest.tests.tar.gz
+ dest: x64/reftest
+ - artifact: target.talos.tests.tar.gz
+ dest: x64/talos
+ - artifact: target.raptor.tests.tar.gz
+ dest: x64/raptor
+ - artifact: target.condprof.tests.tar.gz
+ dest: x64/confprof
+ - artifact: target.awsy.tests.tar.gz
+ dest: x64/awsy
+ - artifact: target.xpcshell.tests.tar.gz
+ dest: x64/xpcshell
+ - artifact: target.web-platform.tests.tar.gz
+ dest: x64/web-platform
+ - artifact: target.updater-dep.tests.tar.gz
+ dest: x64/updater-dep
+ - artifact: target.crashreporter-symbols.zip
+ dest: x64/crashreporter-symbols
+ - artifact: target.jsshell.zip
+ dest: x64/jsshell
+ - artifact: target.generated-files.tar.gz
+ extract: false
+ dest: ../artifacts
+ - artifact: target.langpack.xpi
+ extract: false
+ dest: ../artifacts
+ - artifact: mozharness.zip
+ extract: false
+ dest: ../artifacts
+ macosx64-aarch64-shippable-opt:
+ - artifact: target.dmg
+ extract: false
+ dest: aarch64
+ - artifact: target.common.tests.tar.gz
+ dest: aarch64/common
+ - artifact: target.cppunittest.tests.tar.gz
+ dest: aarch64/cppunittest
+ - artifact: target.gtest.tests.tar.gz
+ dest: aarch64/gtest
+ - artifact: target.jittest.tests.tar.gz
+ dest: aarch64/jittest
+ - artifact: target.jsreftest.tests.tar.gz
+ dest: aarch64/jsreftest
+ - artifact: target.mochitest.tests.tar.gz
+ dest: aarch64/mochitest
+ - artifact: target.reftest.tests.tar.gz
+ dest: aarch64/reftest
+ - artifact: target.talos.tests.tar.gz
+ dest: aarch64/talos
+ - artifact: target.raptor.tests.tar.gz
+ dest: aarch64/raptor
+ - artifact: target.condprof.tests.tar.gz
+ dest: aarch64/confprof
+ - artifact: target.awsy.tests.tar.gz
+ dest: aarch64/awsy
+ - artifact: target.xpcshell.tests.tar.gz
+ dest: aarch64/xpcshell
+ - artifact: target.web-platform.tests.tar.gz
+ dest: aarch64/web-platform
+ - artifact: target.updater-dep.tests.tar.gz
+ dest: aarch64/updater-dep
+ - artifact: target.crashreporter-symbols.zip
+ dest: aarch64/crashreporter-symbols
+ - artifact: target.jsshell.zip
+ dest: aarch64/jsshell
diff --git a/comm/taskcluster/ci/build/windows.yml b/comm/taskcluster/ci/build/windows.yml
new file mode 100644
index 0000000000..6592ccd4aa
--- /dev/null
+++ b/comm/taskcluster/ci/build/windows.yml
@@ -0,0 +1,536 @@
+# 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/.
+---
+job-defaults:
+ run:
+ using: mozharness
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+
+win32/opt:
+ description: "Win32 Opt (Cross)"
+ index:
+ product: thunderbird
+ job-name: win32-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-32/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: cross
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win32-libotr
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win32-shippable/opt:
+ description: "Win32 Opt Shippable"
+ index:
+ product: thunderbird
+ job-name: win32-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: thunderbird
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: cross
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win32
+ mozconfig_platform: win32
+ run-on-projects: ['release']
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win32-libotr
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win32/debug:
+ description: "Win32 Debug (Cross)"
+ index:
+ product: thunderbird
+ job-name: win32-debug
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-32/debug
+ symbol: B
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: cross
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win32/debug.py
+ mozconfig-variant: debug
+ extra-config:
+ mozconfig_platform: win32
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win32-libotr
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win64/opt:
+ description: "Win64 Opt (Cross)"
+ index:
+ product: thunderbird
+ job-name: win64-opt
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: cross
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win64-libotr
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win64-shippable/opt:
+ description: "Win64 Opt Shippable"
+ index:
+ product: thunderbird
+ job-name: win64-opt
+ type: shippable
+ attributes:
+ shippable: true
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ shipping-phase: build
+ shipping-product: thunderbird
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ symbol: B
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: cross
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64
+ mozconfig_platform: win64
+ run-on-projects: ['release']
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win64-libotr
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win64/debug:
+ description: "Win64 Debug (Cross)"
+ index:
+ product: thunderbird
+ job-name: win64-debug
+ attributes:
+ enable-build-signing: true
+ enable-full-crashsymbols: true
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: B
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: cross
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/debug.py
+ mozconfig-variant: debug
+ extra-config:
+ mozconfig_platform: win64
+ use-sccache: true
+ optimization:
+ skip-suite-only: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win64-libotr
+ - vs
+ fetch:
+ - upx-3.95-win
+
+
+win64-plain/debug:
+ description: "Win64 Debug Plain"
+ index:
+ product: thunderbird
+ job-name: win64-plain-debug
+ treeherder:
+ platform: windows2012-64/debug
+ symbol: Bp
+ tier: 2
+ worker-type: b-win2012
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ extra-config:
+ disable_package_metrics: true
+ stage_platform: win64
+ mozconfig-variant: plain-debug
+ run-on-projects: ['comm-central']
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - nsis
+ - sysroot-wasm32-wasi
+ - win64-cbindgen
+ - win64-clang
+ - win64-dump_syms
+ - win64-libotr
+ - win64-mozmake
+ - win64-node
+ - win64-nasm
+ - win64-rust
+ - vs
+ - win64-winchecksec
+
+win64-plain/opt:
+ description: "Win64 Opt Plain"
+ index:
+ product: thunderbird
+ job-name: win64-plain-opt
+ treeherder:
+ platform: windows2012-64/opt
+ symbol: Bp
+ tier: 2
+ worker-type: b-win2012
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: plain
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/taskcluster_base_windows.py
+ - builds/taskcluster_base_win64.py
+ extra-config:
+ disable_package_metrics: true
+ stage_platform: win64
+ mozconfig-variant: plain-opt
+ run-on-projects: ['comm-central']
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - nsis
+ - sysroot-wasm32-wasi
+ - win64-cbindgen
+ - win64-clang
+ - win64-dump_syms
+ - win64-libotr
+ - win64-mozmake
+ - win64-node
+ - win64-nasm
+ - win64-rust
+ - vs
+ - win64-winchecksec
+
+win64-asan/opt:
+ description: "Win64 Opt ASAN"
+ index:
+ product: thunderbird
+ job-name: win64-asan-opt
+ treeherder:
+ platform: windows2012-64/asan
+ symbol: Bo
+ tier: 1
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "opt asan"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ extra-config:
+ stage_platform: win64-asan
+ mozconfig_platform: win64
+ mozconfig-variant: nightly-asan
+ run-on-projects: ['comm-central']
+ use-sccache: true
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win64-libotr
+ - win64-llvm-symbolizer
+ - vs
+ fetch:
+ - upx-3.95-win
+
+win64-asan-reporter-shippable/opt:
+ description: "Win64 Opt ASAN Reporter (Shippable)"
+ attributes:
+ shippable: true
+ shipping-product:
+ by-release-type:
+ nightly: thunderbird
+ default: null
+ index:
+ product: thunderbird
+ job-name: win64-asan-reporter-opt
+ type: shippable
+ treeherder:
+ platform: win64-asan-reporter/opt
+ symbol: BoR
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 7200
+ env:
+ PERFHERDER_EXTRA_OPTIONS: "asan-reporter"
+ MOZ_AUTOMATION_PACKAGE_TESTS: "1"
+ run:
+ actions: [build]
+ options: [append-env-variables-from-configs]
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/asan_reporter_opt.py
+ - taskcluster_nightly.py
+ extra-config:
+ stage_platform: win64-asan-reporter
+ mozconfig_platform: win64
+ mozconfig-variant: nightly-asan-reporter
+ mar-channel-id:
+ thunderbird-comm-central-asan
+ accepted-mar-channel-ids:
+ thunderbird-comm-central-asan
+ run-on-projects: ['comm-central']
+ optimization:
+ skip-unless-backstop-no-suite: null
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win64-libotr
+ - win64-llvm-symbolizer
+ - vs
+ fetch:
+ - upx-3.95-win
diff --git a/comm/taskcluster/ci/code-review/kind.yml b/comm/taskcluster/ci/code-review/kind.yml
new file mode 100644
index 0000000000..da76da0260
--- /dev/null
+++ b/comm/taskcluster/ci/code-review/kind.yml
@@ -0,0 +1,41 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.code_review:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - source-test
+
+jobs:
+ issues:
+ label: code-review-issues
+ description: List all issues found in static analysis and linting tasks
+ worker-type: b-linux-gcp
+
+ # Only run by using the code-review target_tasks_method
+ run-on-projects: []
+
+ # This option permits to run the task
+ # regardless of the soft-dependencies tasks exit status
+ # as we are interested in the task failures
+ requires: all-resolved
+
+ # Publish on pulse
+ routes:
+ - project.relman.codereview.v1.try_ending
+
+ # Dummy execution for now, we only need the pulse message
+ worker:
+ docker-image:
+ in-tree: debian11-amd64-build
+ max-run-time: 600
+ run:
+ using: run-task
+ checkout: false
+ command: /bin/true
diff --git a/comm/taskcluster/ci/config.yml b/comm/taskcluster/ci/config.yml
new file mode 100644
index 0000000000..25f6583be4
--- /dev/null
+++ b/comm/taskcluster/ci/config.yml
@@ -0,0 +1,310 @@
+# 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'
+ 'Deb11': 'Packages for Debian 11'
+ 'Fetch': 'Fetch and store content'
+ 'Ub18': 'Packages for Ubuntu 18.04'
+ 'Ub20': 'Packages for Ubuntu 20.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'
+ 'UV': 'Update verify'
+
+ # mozlint
+ 'cpp': 'C/C++ checks'
+ 'js': 'JavaScript checks'
+ 'l10n': 'Localization checks'
+ 'misc': 'Misc checks'
+ 'pedantic': 'pedantic checks'
+ 'py': 'Python checks'
+ 'text': 'Check on texts'
+
+ # Tests
+ 'X': 'Xpcshell tests'
+ 'X-msix': 'Xpcshell tests on msix packages'
+ 'M': 'Mochitests'
+ 'M-msix': 'Mochitests from MSIX builds'
+
+ 'Searchfox': 'Searchfox builds'
+ 'doc': 'Source docs'
+
+index:
+ products:
+ - thunderbird
+ - static-analysis
+
+try:
+ ridealong-builds: {}
+
+release-promotion:
+ products:
+ - 'thunderbird'
+ 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"
+ - "GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-beta"
+ - - 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-repo: 'https://hg.mozilla.org/comm-central'
+ from-branch: 'comm'
+ to-repo: 'https://hg.mozilla.org/releases/comm-beta'
+ to-branch: 'comm-beta'
+ 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-repo: 'https://hg.mozilla.org/comm-central'
+ to-branch: 'comm'
+
+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-esr.*': 'very-high'
+ 'comm-beta': 'high'
+ 'comm-central': 'medium'
+ '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-win2012:
+ provisioner: 'comm-{level}'
+ implementation: generic-worker
+ os: windows
+ worker-type: '{alias}-azure'
+ 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
+ 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-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:
+ 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-notarization:
+ mac-entitlements:
+ by-platform:
+ macosx64.*:
+ by-release-level:
+ production: comm/build/macosx/hardenedruntime/production.entitlements.xml
+ default: comm/build/macosx/hardenedruntime/developer.entitlements.xml
+ default: ''
+ mac-requirements:
+ by-platform:
+ macosx64.*: build/package/mac_osx/requirements.plist
+ default: ''
+
+expiration-policy:
+ by-project:
+ 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
diff --git a/comm/taskcluster/ci/docker-image/docker-image.yml b/comm/taskcluster/ci/docker-image/docker-image.yml
new file mode 100644
index 0000000000..93b6a172d9
--- /dev/null
+++ b/comm/taskcluster/ci/docker-image/docker-image.yml
@@ -0,0 +1,15 @@
+# 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/.
+---
+
+tb-debian-mingw:
+ symbol: I(tb-mingw)
+ parent: debian11-amd64-build
+
+tb-flatpak:
+ symbol: I(flatpak)
+
+tb-atn:
+ symbol: I(tb-atn)
+ parent: debian11-base
diff --git a/comm/taskcluster/ci/docker-image/kind.yml b/comm/taskcluster/ci/docker-image/kind.yml
new file mode 100644
index 0000000000..5865f118da
--- /dev/null
+++ b/comm/taskcluster/ci/docker-image/kind.yml
@@ -0,0 +1,47 @@
+# 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: comm_taskgraph.loader.merge:loader
+reference-base-path: taskcluster/ci
+
+kind-dependencies:
+ - packages
+
+reference-jobs:
+ - android-build
+ - debian8-i386-packages
+ - debian8-i386-raw
+ - debian8-packages
+ - debian8-raw
+ - deb11-toolchain-build
+ - debian11-amd64-build
+ - debian11-base
+ - debian11-packages
+ - debian11-raw
+ - fetch
+ - funsize-update-generator
+ - image_builder
+ - index-task
+ - lint
+ - push-to-try
+ - static-analysis-build
+ - ubuntu1804-base
+ - ubuntu1804-i386-packages
+ - ubuntu1804-i386-raw
+ - ubuntu1804-packages
+ - ubuntu1804-raw
+ - ubuntu1804-test
+ - ubuntu1804-test-base
+ - ubuntu2004-base
+ - ubuntu2004-packages
+ - ubuntu2004-raw
+ - update-verify
+
+transforms:
+ - gecko_taskgraph.transforms.docker_image:transforms
+ - gecko_taskgraph.transforms.cached_tasks:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs-from:
+ - docker-image.yml
diff --git a/comm/taskcluster/ci/fetch/kind.yml b/comm/taskcluster/ci/fetch/kind.yml
new file mode 100644
index 0000000000..aa79cc9c6a
--- /dev/null
+++ b/comm/taskcluster/ci/fetch/kind.yml
@@ -0,0 +1,6 @@
+# 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: comm_taskgraph.loader.reference:loader
+reference-base-path: taskcluster/ci
diff --git a/comm/taskcluster/ci/l10n-bump/kind.yml b/comm/taskcluster/ci/l10n-bump/kind.yml
new file mode 100644
index 0000000000..b6e6628745
--- /dev/null
+++ b/comm/taskcluster/ci/l10n-bump/kind.yml
@@ -0,0 +1,86 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_version_bump:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+
+job-defaults:
+ worker-type: tree
+ worker:
+ implementation: treescript
+ tags: []
+ bump: false
+ dontbuild: true
+ ignore-closed-tree: false
+ push:
+ by-project:
+ comm-(central|beta): true
+ default: false
+ source-repo:
+ by-release-type:
+ release: https://hg.mozilla.org/releases/comm-esr115
+ beta: https://hg.mozilla.org/releases/comm-beta
+ default: https://hg.mozilla.org/comm-central
+ l10n-bump-info:
+ by-release-type:
+ beta|release:
+ name: Thunderbird l10n changesets
+ path: mail/locales/l10n-changesets.json
+ version-path: mail/config/version.txt
+ l10n-repo-url: "https://hg.mozilla.org/projects/comm-l10n/json-pushes?version=2&tipsonly=1"
+ ignore-config:
+ ja:
+ - macosx64
+ ja-JP-mac:
+ - linux
+ - linux64
+ - win32
+ - win64
+ platform-configs: [{
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64",
+ ],
+ "path": "mail/locales/shipped-locales",
+ }]
+ default:
+ name: Thunderbird l10n changesets
+ path: mail/locales/l10n-changesets.json
+ version-path: mail/config/version.txt
+ ignore-config:
+ ja:
+ - macosx64
+ ja-JP-mac:
+ - linux
+ - linux64
+ - win32
+ - win64
+ platform-configs: [{
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64",
+ ],
+ "path": "mail/locales/all-locales",
+ }]
+
+jobs:
+ l10n-bumper:
+ name: l10n_bumper
+ description: l10n changesets bumper (action/cron)
+ run-on-projects: []
+ treeherder:
+ kind: build
+ platform: linux64/opt
+ symbol: l10n-bump(lb)
+ tier: 1
diff --git a/comm/taskcluster/ci/l10n-cross-channel/kind.yml b/comm/taskcluster/ci/l10n-cross-channel/kind.yml
new file mode 100644
index 0000000000..ff1e645918
--- /dev/null
+++ b/comm/taskcluster/ci/l10n-cross-channel/kind.yml
@@ -0,0 +1,42 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - comm_taskgraph.transforms.tb_cross_channel:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ quarantine:
+ description: Push strings from all shipping trains to comm-strings-quarantine
+ run-on-projects: []
+ worker-type: b-linux-gcp
+ ssh-key-secret:
+ by-level:
+ "3": project/comm/thunderbird/releng/build/level-3/l10n-cross-channel-quarantine-ssh
+ default: null
+ worker:
+ docker-image: {in-tree: push-to-try}
+ max-run-time: 3600
+ artifacts:
+ - type: directory
+ name: public/build
+ path: /builds/worker/artifacts
+ env:
+ TASK_ID: {"task-reference": "<self>"}
+ TASKCLUSTER_PROXY_URL: http://taskcluster
+ treeherder:
+ platform: thunderbird-release/opt
+ tier: 1
+ kind: build
+ symbol: Rel(l10n-cross-channel)
+ run:
+ using: mach
+ comm-checkout: true
+ actions:
+ by-level:
+ "3": ["prep", "create", "push", "clean"]
+ default: ["prep", "create", "clean"]
diff --git a/comm/taskcluster/ci/l10n-pre/kind.yml b/comm/taskcluster/ci/l10n-pre/kind.yml
new file mode 100644
index 0000000000..78d2152938
--- /dev/null
+++ b/comm/taskcluster/ci/l10n-pre/kind.yml
@@ -0,0 +1,53 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - comm_taskgraph.transforms.l10n_pre:transforms
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ treeherder:
+ symbol: L10n-pre
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 900
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ locale-list: comm/mail/locales/onchange-locales
+ comm-locales-file: comm/mail/locales/l10n-changesets.json
+ browser-locales-file: browser/locales/l10n-changesets.json
+ run:
+ using: mozharness
+ comm-checkout: true
+ actions:
+ - clone-gecko-locales
+ - clone-monorepo
+ - merge-repos
+ - pack-merged
+ script: comm/taskcluster/scripts/desktop_comm_l10n.py
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/thunderbird_split_l10n.py
+ - taskcluster_nightly.py
+ options: []
+ run-on-projects: ['ash']
+ optimization: null
+
+
+jobs:
+ l10n-pre/opt:
+ description: Pre-Localization artifact build
+ treeherder:
+ platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/l10n/kind.yml b/comm/taskcluster/ci/l10n/kind.yml
new file mode 100644
index 0000000000..cb9fbbb735
--- /dev/null
+++ b/comm/taskcluster/ci/l10n/kind.yml
@@ -0,0 +1,148 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - comm_taskgraph.transforms.l10n:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - l10n-pre
+ - repackage
+ - toolchain
+
+primary-dependency: build
+
+only-for-build-platforms:
+ - linux64/opt
+ - linux/opt
+ - macosx64/opt
+ - win32/opt
+ - win64/opt
+
+job-template:
+ description: Localization
+ locales-file: comm/mail/locales/onchange-locales
+ ignore-locales:
+ by-build-platform:
+ # OSX has a special locale for japanese
+ macosx64.*: [ja, en-US]
+ default: [ja-JP-mac, en-US]
+ run-time:
+ by-build-platform:
+ default: 900
+ win.*: 1800
+ secrets: false
+ dependencies:
+ l10n-pre: l10n-pre-l10n-pre/opt
+ fetches:
+ toolchain:
+ by-build-platform:
+ default: []
+ macosx64.*:
+ - linux64-libdmg
+ - linux64-hfsplus
+ win.*:
+ - linux64-wine
+ - nsis
+ fetch:
+ by-build-platform:
+ default: []
+ win.*:
+ - upx-3.95-win
+ l10n-pre:
+ - strings_all.tar.zst
+ tooltool:
+ by-build-platform:
+ default: internal
+ linux.*: public
+ index:
+ type: l10n
+ product: thunderbird
+ job-name:
+ by-build-platform:
+ linux(?!64).*: linux-opt
+ linux64.*: linux64-opt
+ macosx64.*: macosx64-opt
+ win32.*: win32-opt
+ win64.*: win64-opt
+ run-on-projects: ['ash']
+ worker-type: b-linux-gcp
+ treeherder:
+ symbol: L10n
+ tier: 1
+ platform:
+ by-build-platform:
+ linux64: linux64/opt
+ linux: linux32/opt
+ macosx64: osx-cross/opt
+ win32: windows2012-32/opt
+ win64: windows2012-64/opt
+ env:
+ by-build-platform:
+ linux.*: # linux64 and 32 get same treatment here
+ EN_US_PACKAGE_NAME: target.tar.bz2
+ EN_US_BINARY_URL:
+ artifact-reference: <build/{artifact_prefix}>
+ macosx64.*:
+ EN_US_PACKAGE_NAME: target.dmg
+ EN_US_BINARY_URL:
+ artifact-reference: <build/{artifact_prefix}>
+ win.*:
+ EN_US_PACKAGE_NAME: target.zip
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ mozharness:
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ by-build-platform:
+ linux:
+ - single_locale/linux32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - single_locale/thunderbird.py
+ linux64:
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - single_locale/thunderbird.py
+ macosx64:
+ - single_locale/macosx64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_macosx64.py
+ - single_locale/thunderbird.py
+ win32:
+ - single_locale/win32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win32.py
+ - single_locale/thunderbird.py
+ win64:
+ - single_locale/win64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - single_locale/thunderbird.py
+ # no default, so we fail on new entries
+ actions: ['list-locales', 'setup', 'repack', 'summary']
+ script: mozharness/scripts/desktop_l10n.py
+ when:
+ files-changed:
+ - comm/calendar/locales/**
+ - comm/chat/locales/**
+ - comm/mail/locales/**
+ - comm/testing/mozharness/configs/single_locale/**
+ - testing/mozharness/configs/single_locale/**
+ - testing/mozharness/mozharness/mozilla/l10n/locales.py
+ - testing/mozharness/scripts/desktop_l10n.py
+ - third_party/python/compare-locales/**
+ - toolkit/locales/**
+ - toolkit/mozapps/installer/**
diff --git a/comm/taskcluster/ci/mar-signing-l10n/kind.yml b/comm/taskcluster/ci/mar-signing-l10n/kind.yml
new file mode 100644
index 0000000000..46f138165c
--- /dev/null
+++ b/comm/taskcluster/ci/mar-signing-l10n/kind.yml
@@ -0,0 +1,28 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.mar_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-l10n
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-asan-reporter-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ treeherder-group: ms
+ description-suffix: 'mar signing'
+ required_signoffs:
+ - mar-signing
diff --git a/comm/taskcluster/ci/mar-signing/kind.yml b/comm/taskcluster/ci/mar-signing/kind.yml
new file mode 100644
index 0000000000..af9331487f
--- /dev/null
+++ b/comm/taskcluster/ci/mar-signing/kind.yml
@@ -0,0 +1,29 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.mar_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-asan-reporter-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-asan-reporter-shippable/opt
+
+job-template:
+ shipping-phase: promote
+ treeherder-group: ms
+ description-suffix: 'mar signing'
+ required_signoffs:
+ - mar-signing
diff --git a/comm/taskcluster/ci/merge-automation/kind.yml b/comm/taskcluster/ci/merge-automation/kind.yml
new file mode 100644
index 0000000000..2c5290966b
--- /dev/null
+++ b/comm/taskcluster/ci/merge-automation/kind.yml
@@ -0,0 +1,58 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.merge_automation:transforms
+ - comm_taskgraph.transforms.merge_automation:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+
+jobs:
+ merge-automation:
+ name: merge-automation
+ label: merge-automation
+ treeherder:
+ symbol: Rel(merge-automation)
+ tier: 1
+ kind: build
+ platform: thunderbird-release/opt
+ description: Merge repositories for release management.
+ worker-type: tree
+ scopes: []
+ worker:
+ implementation: treescript
+ tags: []
+ bump: false
+ dontbuild: false
+ ignore-closed-tree: true
+ push: false
+ l10n-bump-info:
+ by-behavior:
+ comm-central-to-beta:
+ name: Thunderbird l10n changesets
+ path: mail/locales/l10n-changesets.json
+ version-path: mail/config/version.txt
+ l10n-repo-url: "https://hg.mozilla.org/projects/comm-l10n/json-pushes?version=2&tipsonly=1"
+ ignore-config:
+ ja:
+ - macosx64
+ ja-JP-mac:
+ - linux
+ - linux64
+ - win32
+ - win64
+ platform-configs: [{
+ "platforms": [
+ "linux",
+ "linux64",
+ "macosx64",
+ "win32",
+ "win64",
+ ],
+ "path": "mail/locales/shipped-locales",
+ }]
+ default: null
+ run-on-projects: []
diff --git a/comm/taskcluster/ci/packages/kind.yml b/comm/taskcluster/ci/packages/kind.yml
new file mode 100644
index 0000000000..aa79cc9c6a
--- /dev/null
+++ b/comm/taskcluster/ci/packages/kind.yml
@@ -0,0 +1,6 @@
+# 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: comm_taskgraph.loader.reference:loader
+reference-base-path: taskcluster/ci
diff --git a/comm/taskcluster/ci/partials-signing/kind.yml b/comm/taskcluster/ci/partials-signing/kind.yml
new file mode 100644
index 0000000000..c01adaedd0
--- /dev/null
+++ b/comm/taskcluster/ci/partials-signing/kind.yml
@@ -0,0 +1,20 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.mar_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - partials
+
+job-template:
+ shipping-phase: promote
+ treeherder-group: ps
+ description-suffix: 'partial signing'
+ required_signoffs:
+ - mar-signing
diff --git a/comm/taskcluster/ci/partials/kind.yml b/comm/taskcluster/ci/partials/kind.yml
new file mode 100644
index 0000000000..fdea013cb4
--- /dev/null
+++ b/comm/taskcluster/ci/partials/kind.yml
@@ -0,0 +1,28 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.partials:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.partials:transforms
+
+kind-dependencies:
+ - repackage
+ - repackage-l10n
+
+only-for-attributes:
+ - shippable
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ shipping-phase: promote
diff --git a/comm/taskcluster/ci/post-balrog-dummy/kind.yml b/comm/taskcluster/ci/post-balrog-dummy/kind.yml
new file mode 100644
index 0000000000..6b5b90afaf
--- /dev/null
+++ b/comm/taskcluster/ci/post-balrog-dummy/kind.yml
@@ -0,0 +1,21 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.per_platform_dummy:transforms
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - balrog
+
+job-template:
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/comm/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml b/comm/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
new file mode 100644
index 0000000000..a136d22089
--- /dev/null
+++ b/comm/taskcluster/ci/post-beetmover-checksums-dummy/kind.yml
@@ -0,0 +1,24 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-checksums
+ - release-beetmover-source-checksums
+
+jobs:
+ thunderbird-promote:
+ name: post-beetmover-checksums-dummy
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ shipping-product: thunderbird
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/comm/taskcluster/ci/post-beetmover-dummy/kind.yml b/comm/taskcluster/ci/post-beetmover-dummy/kind.yml
new file mode 100644
index 0000000000..adbdcd7306
--- /dev/null
+++ b/comm/taskcluster/ci/post-beetmover-dummy/kind.yml
@@ -0,0 +1,22 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.per_platform_dummy:transforms
+ - gecko_taskgraph.transforms.reverse_chunk_deps:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-checksums
+ - beetmover-repackage
+
+job-template:
+ description: Dummy task to deal with max_dependencies
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: succeed
+ worker:
+ implementation: succeed
diff --git a/comm/taskcluster/ci/release-balrog-scheduling/kind.yml b/comm/taskcluster/ci/release-balrog-scheduling/kind.yml
new file mode 100644
index 0000000000..ea5574cc75
--- /dev/null
+++ b/comm/taskcluster/ci/release-balrog-scheduling/kind.yml
@@ -0,0 +1,63 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-bouncer-check
+ - release-push-langpacks
+
+job-defaults:
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: balrog
+ worker:
+ implementation: balrog
+ balrog-action: schedule
+
+jobs:
+ thunderbird:
+ description: Schedule Thunderbird publishing in balrog
+ name: release-thunderbird_schedule_publishing_in_balrog
+ shipping-product: thunderbird
+ worker:
+ product: thunderbird
+ publish-rules:
+ by-release-level:
+ production:
+ by-release-type:
+ beta: [43]
+ release: [17829]
+ default: []
+ staging:
+ by-release-type:
+ beta: [43]
+ release: [903]
+ default: []
+ background-rate:
+ by-release-type:
+ beta:
+ by-beta-number:
+ '1': 15
+ '(2|3)': 25
+ '(4|5|6)': 35
+ default: null
+ default: null
+ force-fallback-mapping-update:
+ by-release-type:
+ beta:
+ by-beta-number:
+ '1': true
+ default: false
+ default: false
+ treeherder:
+ platform: thunderbird-release/opt
+ symbol: Rel(BS)
+ tier: 1
+ kind: build
diff --git a/comm/taskcluster/ci/release-balrog-submit-toplevel/kind.yml b/comm/taskcluster/ci/release-balrog-submit-toplevel/kind.yml
new file mode 100644
index 0000000000..64732d2056
--- /dev/null
+++ b/comm/taskcluster/ci/release-balrog-submit-toplevel/kind.yml
@@ -0,0 +1,53 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.scriptworker:add_balrog_scopes
+ - gecko_taskgraph.transforms.balrog_toplevel:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ run-on-projects: [] # to make sure this never runs in CI
+ shipping-phase: promote
+ worker-type: balrog
+ worker:
+ implementation: balrog
+ balrog-action: v2-submit-toplevel
+ require-mirrors: true
+ archive-domain:
+ by-release-level:
+ production: archive.mozilla.org
+ staging: ftp.stage.mozaws.net
+ download-domain:
+ by-release-level:
+ production: download.mozilla.org
+ staging: bouncer-bouncer-releng.stage.mozaws.net
+ whats-new-config: comm/mail/config/whats_new_page.yml
+
+jobs:
+ thunderbird:
+ name: submit-toplevel-thunderbird-release-to-balrog
+ description: Submit toplevel Thunderbird release to balrog
+ shipping-product: thunderbird
+ worker:
+ product: thunderbird
+ channel-names:
+ by-release-type:
+ beta: ["beta", "beta-localtest", "beta-cdntest"]
+ release: ["release", "release-localtest", "release-cdntest", "release-localtest-next"]
+ default: []
+ rules-to-update:
+ by-release-type:
+ beta: ["thunderbird-beta-cdntest", "thunderbird-beta-localtest"]
+ release: ["thunderbird-release115-cdntest", "thunderbird-release115-localtest", "thunderbird-release115-localtest-next"]
+ default: []
+ platforms: ["linux", "linux64", "macosx64", "win32", "win64"]
+ treeherder:
+ platform: thunderbird-release/opt
+ symbol: Rel(BPTb)
+ tier: 1
+ kind: build
diff --git a/comm/taskcluster/ci/release-beetmover-push-to-release/kind.yml b/comm/taskcluster/ci/release-beetmover-push-to-release/kind.yml
new file mode 100644
index 0000000000..67209a2409
--- /dev/null
+++ b/comm/taskcluster/ci/release-beetmover-push-to-release/kind.yml
@@ -0,0 +1,24 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.beetmover_push_to_release:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-generate-checksums-beetmover
+
+job-defaults:
+ run-on-projects: []
+ shipping-phase: push
+
+jobs:
+ thunderbird-push-to-release:
+ name: thunderbird_push_to_release
+ product: thunderbird
+ shipping-product: thunderbird
+ treeherder-platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/release-beetmover-source-checksums/kind.yml b/comm/taskcluster/ci/release-beetmover-source-checksums/kind.yml
new file mode 100644
index 0000000000..7d4560306f
--- /dev/null
+++ b/comm/taskcluster/ci/release-beetmover-source-checksums/kind.yml
@@ -0,0 +1,19 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.beetmover_source_checksums:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source-checksums-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_prefix: public
+ artifact_map: comm/taskcluster/comm_taskgraph/manifests/source_checksums.yml
diff --git a/comm/taskcluster/ci/release-bouncer-aliases/kind.yml b/comm/taskcluster/ci/release-bouncer-aliases/kind.yml
new file mode 100644
index 0000000000..9f4adfb229
--- /dev/null
+++ b/comm/taskcluster/ci/release-bouncer-aliases/kind.yml
@@ -0,0 +1,53 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.bouncer_aliases:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-bouncer-check
+
+job-defaults:
+ description: Update bouncer aliases job
+ worker-type: bouncer
+ worker:
+ implementation: bouncer-aliases
+ scopes:
+ by-release-level:
+ production:
+ - project:comm:thunderbird:releng:bouncer:action:aliases
+ - project:comm:thunderbird:releng:bouncer:server:production
+ staging:
+ - project:comm:thunderbird:releng:bouncer:action:aliases
+ - project:comm:thunderbird:releng:bouncer:server:staging
+ run-on-projects: []
+ shipping-phase: ship
+ treeherder:
+ symbol: Rel(BncAlias)
+ kind: test
+ tier: 1
+
+jobs:
+ thunderbird:
+ bouncer-products-per-alias:
+ by-release-type:
+ beta:
+ thunderbird-beta-latest-ssl: installer-ssl
+ thunderbird-beta-latest: installer
+ thunderbird-beta-msi-latest-ssl: msi
+ thunderbird-beta-msix-latest-ssl: msix
+ release:
+ # Disable on comm-esr115 when the next esr is released
+ thunderbird-latest-ssl: installer-ssl
+ thunderbird-latest: installer
+ thunderbird-msi-latest-ssl: msi
+ thunderbird-msix-latest-ssl: msix
+ default: {}
+ shipping-product: thunderbird
+ treeherder:
+ platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/release-bouncer-check/kind.yml b/comm/taskcluster/ci/release-bouncer-check/kind.yml
new file mode 100644
index 0000000000..97b15d72c4
--- /dev/null
+++ b/comm/taskcluster/ci/release-bouncer-check/kind.yml
@@ -0,0 +1,54 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.bouncer_check:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: bouncer-check
+ description: bouncer check
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: push
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ docker-image: {in-tree: "update-verify"}
+ run:
+ sparse-profile: mozharness
+ attributes:
+ build_platform: linux64
+ build_type: opt
+ treeherder:
+ symbol: Rel(BncChk)
+ kind: test
+ tier: 1
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
+ index:
+ product: thunderbird
+ job-name: thunderbird-bouncer-check
+ run:
+ comm-checkout: true
+ config:
+ - comm/testing/mozharness/configs/releases/bouncer_thunderbird.py
+ extra-config:
+ by-project:
+ comm-(beta|esr.*):
+ locales: ['en-US', 'fr', 'de']
+ bouncer_prefix: "https://download.mozilla.org/"
+ default:
+ locales: ['en-US', 'fr', 'de']
+ bouncer_prefix: "https://bouncer-bouncer-releng.stage.mozaws.net/"
+ treeherder:
+ platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/release-bouncer-sub/kind.yml b/comm/taskcluster/ci/release-bouncer-sub/kind.yml
new file mode 100644
index 0000000000..8142655f84
--- /dev/null
+++ b/comm/taskcluster/ci/release-bouncer-sub/kind.yml
@@ -0,0 +1,38 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.bouncer_submission:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ description: release bouncer submission job
+ worker-type: bouncer
+ worker:
+ implementation: bouncer-submission
+ scopes:
+ by-release-level:
+ production:
+ - project:comm:thunderbird:releng:bouncer:action:submission
+ - project:comm:thunderbird:releng:bouncer:server:production
+ staging:
+ - project:comm:thunderbird:releng:bouncer:action:submission
+ - project:comm:thunderbird:releng:bouncer:server:staging
+ run-on-projects: []
+ shipping-phase: promote
+ locales-file: comm/mail/locales/shipped-locales
+ treeherder:
+ symbol: Rel(BncSub)
+ kind: test
+ tier: 1
+
+jobs:
+ thunderbird:
+ bouncer-platforms: ['linux', 'linux64', 'osx', 'win', 'win64']
+ bouncer-products: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'msix']
+ shipping-product: thunderbird
+ treeherder:
+ platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/release-final-verify/kind.yml b/comm/taskcluster/ci/release-final-verify/kind.yml
new file mode 100644
index 0000000000..c45e9dc4b9
--- /dev/null
+++ b/comm/taskcluster/ci/release-final-verify/kind.yml
@@ -0,0 +1,36 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - release-bouncer-check
+ - release-update-verify-config
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.final_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: final-verify
+ run-on-projects: [] # to make sure this never runs as part of CI
+ worker-type: b-linux-gcp
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 7200
+ retry-exit-status: [1]
+
+jobs:
+ thunderbird:
+ description: final verify
+ shipping-phase: push
+ shipping-product: thunderbird
+ treeherder:
+ platform: thunderbird-release/opt
+ kind: test
+ symbol: Rel(FV)
+ tier: 1
diff --git a/comm/taskcluster/ci/release-flatpak-push/kind.yml b/comm/taskcluster/ci/release-flatpak-push/kind.yml
new file mode 100644
index 0000000000..5b6ca98363
--- /dev/null
+++ b/comm/taskcluster/ci/release-flatpak-push/kind.yml
@@ -0,0 +1,42 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - comm_taskgraph.transforms.release_flatpak_push:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-flatpak-repackage
+
+job-defaults:
+ description: Pushes Flatpaks onto Flathub
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [beta, release]
+ shipping-phase: ship
+ treeherder:
+ platform: linux64/opt
+ kind: build
+ tier: 2
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/comm-3-pushflatpak
+ staging: scriptworker-k8s/comm-1-pushflatpak
+ worker:
+ implementation: push-flatpak
+ channel:
+ by-release-type:
+ beta: beta
+ release: stable
+ default: mock
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
+ flathub-scope: "flathub"
+ treeherder:
+ symbol: Flatpak(push)
diff --git a/comm/taskcluster/ci/release-flatpak-repackage/kind.yml b/comm/taskcluster/ci/release-flatpak-repackage/kind.yml
new file mode 100644
index 0000000000..723fd25c7c
--- /dev/null
+++ b/comm/taskcluster/ci/release-flatpak-repackage/kind.yml
@@ -0,0 +1,70 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_flatpak_repackage:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+
+job-defaults:
+ description: Generates flatpak by repackaging the existing .tar.bz2
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [beta, release]
+ shipping-phase: promote
+ scopes: []
+ treeherder:
+ platform: linux64-shippable/opt
+ kind: build
+ tier: 2
+ worker-type: b-linux-gcp
+ worker:
+ implementation: docker-worker
+ os: linux
+ max-run-time: 7200
+ docker-image: {in-tree: tb-flatpak}
+ artifacts:
+ - name: public/build
+ type: directory
+ path: /home/worker/artifacts/
+ command:
+ - /bin/bash
+ - -cx
+ - ./runme.sh
+ env:
+ VERSION: "{release_config[version]}"
+ BUILD_NUMBER: "{release_config[build_number]}"
+ CANDIDATES_DIR:
+ by-release-level:
+ staging:
+ https://ftp.stage.mozaws.net/pub/{task[shipping-product]}/candidates
+ production:
+ https://archive.mozilla.org/pub/{task[shipping-product]}/candidates
+ LC_ALL: C.UTF-8
+ LANG: C.UTF-8
+ L10N_CHANGESETS: "{config_params[comm_head_repository]}/raw-file/{config_params[comm_head_rev]}/mail/locales/l10n-changesets.json"
+ FLATPAK_BRANCH:
+ by-project:
+ comm-esr.*: stable
+ default: beta
+ MANIFEST_URL: "{config_params[comm_head_repository]}/file/{config_params[comm_head_rev]}/taskcluster/docker/tb-flatpak/runme.sh"
+ RELEASE_NOTES_URL:
+ by-project:
+ comm-esr.*: "https://www.thunderbird.net/en-US/thunderbird/{config_params[app_version]}/releasenotes/"
+ default: "https://www.thunderbird.net/en-US/thunderbird/{config_params[app_version]}beta/releasenotes/"
+ chain-of-trust: true
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
+ attributes:
+ build_platform: linux64-shippable
+ build_type: opt
+ treeherder:
+ symbol: Flatpak(r)
diff --git a/comm/taskcluster/ci/release-generate-checksums-beetmover/kind.yml b/comm/taskcluster/ci/release-generate-checksums-beetmover/kind.yml
new file mode 100644
index 0000000000..57de655b03
--- /dev/null
+++ b/comm/taskcluster/ci/release-generate-checksums-beetmover/kind.yml
@@ -0,0 +1,17 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_generate_checksums_beetmover:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-generate-checksums-signing
+
+job-template:
+ shipping-phase: promote
+ attributes:
+ artifact_map: comm/taskcluster/comm_taskgraph/manifests/release_checksums.yml
diff --git a/comm/taskcluster/ci/release-generate-checksums-signing/kind.yml b/comm/taskcluster/ci/release-generate-checksums-signing/kind.yml
new file mode 100644
index 0000000000..2e763e5434
--- /dev/null
+++ b/comm/taskcluster/ci/release-generate-checksums-signing/kind.yml
@@ -0,0 +1,15 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+kind-dependencies:
+ - release-generate-checksums
+
+transforms:
+ - gecko_taskgraph.transforms.release_generate_checksums_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-template:
+ shipping-phase: promote
diff --git a/comm/taskcluster/ci/release-generate-checksums/kind.yml b/comm/taskcluster/ci/release-generate-checksums/kind.yml
new file mode 100644
index 0000000000..0aa175b5ad
--- /dev/null
+++ b/comm/taskcluster/ci/release-generate-checksums/kind.yml
@@ -0,0 +1,72 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - beetmover-source
+ - post-beetmover-checksums-dummy
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_generate_checksums:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: generate-checksums
+ description: generates checksums
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1200
+ artifacts:
+ - name: public/build/SHA256SUMMARY
+ path: /builds/worker/SHA256SUMMARY
+ type: file
+ - name: public/build/SHA256SUMS
+ path: /builds/worker/SHA256SUMS
+ type: file
+ - name: public/build/SHA512SUMMARY
+ path: /builds/worker/SHA512SUMMARY
+ type: file
+ - name: public/build/SHA512SUMS
+ path: /builds/worker/SHA512SUMS
+ type: file
+ run:
+ using: mozharness
+ comm-checkout: true
+ config: []
+ config-paths:
+ - comm/testing/mozharness/configs
+ actions: [create-virtualenv, collect-individual-checksums, create-big-checksums, create-summary]
+ options:
+ - "version={version}"
+ - "build-number={build_number}"
+ script: "mozharness/scripts/release/generate-checksums.py"
+ treeherder:
+ symbol: Rel(GenChcks)
+ kind: test
+ tier: 1
+ optimization: null
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
+ attributes:
+ build_platform: thunderbird-release
+ build_type: opt
+ run:
+ extra-config:
+ by-release-level:
+ production:
+ stage_product: "thunderbird"
+ bucket_name: "moz-fx-productdelivery-pr-38b5-productdelivery"
+ staging:
+ stage_product: "thunderbird"
+ bucket_name: "moz-fx-productdelivery-no-7d6a-productdelivery"
+ treeherder:
+ platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/release-mark-as-shipped/kind.yml b/comm/taskcluster/ci/release-mark-as-shipped/kind.yml
new file mode 100644
index 0000000000..ce35138454
--- /dev/null
+++ b/comm/taskcluster/ci/release-mark-as-shipped/kind.yml
@@ -0,0 +1,44 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_mark_as_shipped:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-balrog-scheduling
+ - release-bouncer-aliases
+ - release-version-bump
+
+job-defaults:
+ description: mark release as shipped in Ship-It
+ worker-type:
+ by-release-level:
+ production: scriptworker-k8s/comm-3-shipit
+ staging: scriptworker-k8s/comm-1-shipit
+ worker:
+ implementation: shipit-shipped
+ scopes:
+ by-release-level:
+ production:
+ - project:comm:thunderbird:releng:ship-it:server:production
+ - project:comm:thunderbird:releng:ship-it:action:mark-as-shipped
+ staging:
+ - project:comm:thunderbird:releng:ship-it:server:staging
+ - project:comm:thunderbird:releng:ship-it:action:mark-as-shipped
+ run-on-projects: []
+ shipping-phase: ship
+
+jobs:
+ thunderbird:
+ name: release-thunderbird_mark_as_shipped
+ shipping-product: thunderbird
+ treeherder:
+ platform: thunderbird-release/opt
+ symbol: Rel(ShipIt)
+ tier: 1
+ kind: build
diff --git a/comm/taskcluster/ci/release-notify-av-announce/kind.yml b/comm/taskcluster/ci/release-notify-av-announce/kind.yml
new file mode 100644
index 0000000000..ed528c4ad4
--- /dev/null
+++ b/comm/taskcluster/ci/release-notify-av-announce/kind.yml
@@ -0,0 +1,40 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+
+job-defaults:
+ name: notify-av-announce
+ description: Sends email to antivirus vendors telling them that the release is available for scanning.
+ run-on-projects: []
+ shipping-phase: push
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ # !t is a custom format option that calls .title() on the string.
+ subject: "{task[shipping-product]!t} {release_config[version]} build{release_config[build_number]} release"
+ message: |
+ Company Name: MZLA Technologies
+ Contact Department: Release Engineering
+ Contact email address: tb-builds@thunderbird.net
+ Product information: {task[shipping-product]} {release_config[version]}
+ Product location: https://releases.mozilla.org/pub/{task[shipping-product]}/candidates/{release_config[version]}-candidates/build{release_config[build_number]}/
+ emails:
+ by-project:
+ comm-(beta|esr.*): ["av-vendor-release-announce@mozilla.org"]
+ try-comm-central: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
diff --git a/comm/taskcluster/ci/release-notify-promote/kind.yml b/comm/taskcluster/ci/release-notify-promote/kind.yml
new file mode 100644
index 0000000000..281e5b5b88
--- /dev/null
+++ b/comm/taskcluster/ci/release-notify-promote/kind.yml
@@ -0,0 +1,37 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - post-beetmover-dummy
+ - release-generate-checksums-beetmover
+ - release-bouncer-sub
+ - beetmover-strings-source
+
+job-defaults:
+ name: notify-release-drivers-promote
+ description: Sends email to tb-drivers telling release was promoted.
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} is in the candidates directory"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} is in the candidates directory"
+ emails:
+ by-project:
+ comm-(beta|esr.*): ["thunderbird-drivers@mozilla.org"]
+ try-comm-central: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
diff --git a/comm/taskcluster/ci/release-notify-push/kind.yml b/comm/taskcluster/ci/release-notify-push/kind.yml
new file mode 100644
index 0000000000..afb5a66b08
--- /dev/null
+++ b/comm/taskcluster/ci/release-notify-push/kind.yml
@@ -0,0 +1,34 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+
+job-defaults:
+ name: notify-release-drivers-push
+ description: Sends email to tb-drivers telling release was pushed.
+ run-on-projects: []
+ shipping-phase: push
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has been pushed to cdntest"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} has been pushed to cdntest"
+ emails:
+ by-project:
+ comm-(beta|esr.*): ["thunderbird-drivers@mozilla.org"]
+ try-comm-central: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
diff --git a/comm/taskcluster/ci/release-notify-ship/kind.yml b/comm/taskcluster/ci/release-notify-ship/kind.yml
new file mode 100644
index 0000000000..bbbec12317
--- /dev/null
+++ b/comm/taskcluster/ci/release-notify-ship/kind.yml
@@ -0,0 +1,38 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_notifications:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-balrog-scheduling
+ - release-bouncer-aliases
+ - release-version-bump
+ - release-mark-as-shipped
+
+job-defaults:
+ name: notify-release-drivers-ship
+ description: Sends email to release-drivers telling release was shipped.
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: succeed
+ worker:
+ implementation: succeed
+ notifications:
+ emails:
+ by-project:
+ comm-(beta|esr.*): ["thunderbird-drivers@mozilla.org"]
+ try-comm-central: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
+ notifications:
+ subject: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
+ message: "{task[shipping-product]} {release_config[version]} build{release_config[build_number]}/{config[params][project]} updates are ready for signoff in Balrog!"
diff --git a/comm/taskcluster/ci/release-notify-started/kind.yml b/comm/taskcluster/ci/release-notify-started/kind.yml
new file mode 100644
index 0000000000..1c62b5ad38
--- /dev/null
+++ b/comm/taskcluster/ci/release-notify-started/kind.yml
@@ -0,0 +1,30 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - comm_taskgraph.transforms.release_started:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: notify-release-drivers-started
+ description: Sends email to release-drivers telling release was started.
+ run-on-projects: []
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: "debian11-base"}
+ max-run-time: 600
+ emails:
+ by-project:
+ comm-(beta|esr.*): ["thunderbird-drivers@mozilla.org"]
+ try-comm-central: ["{config[params][owner]}"]
+ default: []
+
+jobs:
+ thunderbird:
+ shipping-product: thunderbird
diff --git a/comm/taskcluster/ci/release-push-langpacks/kind.yml b/comm/taskcluster/ci/release-push-langpacks/kind.yml
new file mode 100644
index 0000000000..3d02277800
--- /dev/null
+++ b/comm/taskcluster/ci/release-push-langpacks/kind.yml
@@ -0,0 +1,55 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - comm_taskgraph.transforms.push_langpacks:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - shippable-l10n
+
+
+only-for-build-platforms:
+ - linux64-shippable/opt # ATN only support 1 platform per locale. That's why we use linux64
+ - macosx64-shippable/opt # Although, we need the special locale "ja-JP-Mac" from this platform
+
+
+job-template:
+ description: Sends {locales} XPIs for platform to ATN
+ worker-type: b-linux-gcp
+ worker:
+ docker-image: {in-tree: "tb-atn"}
+ implementation: docker-worker
+ os: linux
+ max-run-time: 1800
+ env:
+ TASK_ID: {"task-reference": "<self>"}
+ TASKCLUSTER_PROXY_URL: http://taskcluster
+ PATH: /builds/worker/bin:/usr/local/bin:/usr/bin:/bin
+ channel:
+ by-project:
+ comm-esr115:
+ by-platform:
+ # ja-JP-mac is only langpack on mac, and is unlisted always
+ macosx64.*: unlisted
+ default: listed
+ comm-beta:
+ by-platform:
+ # ja-JP-mac is only langpack on mac, and is unlisted always
+ macosx64.*: unlisted
+ default: listed
+ default: unlisted
+ command:
+ - /builds/worker/bin/run-task
+ - "--"
+ - /builds/worker/venv/bin/python
+ - /builds/worker/bin/atn_langpack.py
+ run-on-projects: []
+ scopes:
+ - secrets:get:project/comm/thunderbird/releng/build/level-{level}/atn_langpack
+ shipping-phase: push
+ shipping-product: thunderbird
diff --git a/comm/taskcluster/ci/release-source-checksums-signing/kind.yml b/comm/taskcluster/ci/release-source-checksums-signing/kind.yml
new file mode 100644
index 0000000000..379aff10bc
--- /dev/null
+++ b/comm/taskcluster/ci/release-source-checksums-signing/kind.yml
@@ -0,0 +1,16 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.source_checksums_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - beetmover-source
+
+job-template:
+ shipping-phase: promote
diff --git a/comm/taskcluster/ci/release-source-signing/kind.yml b/comm/taskcluster/ci/release-source-signing/kind.yml
new file mode 100644
index 0000000000..2b6c3376ab
--- /dev/null
+++ b/comm/taskcluster/ci/release-source-signing/kind.yml
@@ -0,0 +1,17 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.build_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-source
+
+job-template:
+ shipping-phase: promote
diff --git a/comm/taskcluster/ci/release-source/kind.yml b/comm/taskcluster/ci/release-source/kind.yml
new file mode 100644
index 0000000000..514f9f1270
--- /dev/null
+++ b/comm/taskcluster/ci/release-source/kind.yml
@@ -0,0 +1,47 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ shipping-phase: promote
+ treeherder:
+ symbol: Src
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 3600
+ env:
+ PKG_SRCPACK_BASENAME: source
+ attributes:
+ shippable: true
+ run:
+ using: mozharness
+ comm-checkout: true
+ actions: [package-source]
+ script: "mozharness/scripts/fx_desktop_build.py"
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ - builds/thunderbird_source.py
+ options: []
+ tooltool-downloads: public
+ run-on-projects: []
+ optimization: null
+
+jobs:
+ thunderbird-source/opt:
+ description: "Thunderbird source builder"
+ treeherder:
+ platform: thunderbird-release/opt
+ shipping-product: thunderbird
diff --git a/comm/taskcluster/ci/release-update-verify-config-next/kind.yml b/comm/taskcluster/ci/release-update-verify-config-next/kind.yml
new file mode 100644
index 0000000000..34b0475ce6
--- /dev/null
+++ b/comm/taskcluster/ci/release-update-verify-config-next/kind.yml
@@ -0,0 +1,98 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - comm_taskgraph.transforms.update_verify_config:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify-config-next
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [release]
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 3600
+ artifacts:
+ - name: public/build/update-verify.cfg
+ path: /builds/worker/checkouts/gecko/update-verify.cfg
+ type: file
+ run:
+ sparse-profile: mozharness
+ treeherder:
+ symbol: UVCnext
+ kind: test
+ tier: 1
+ extra:
+ app-name: mail
+ branch-prefix: comm
+ archive-prefix:
+ by-release-level:
+ staging: "http://ftp.stage.mozaws.net/pub"
+ production: "https://archive.mozilla.org/pub"
+ previous-archive-prefix:
+ by-release-level:
+ staging: "https://archive.mozilla.org/pub"
+ production: null
+ aus-server:
+ by-release-level:
+ staging: "https://stage.balrog.nonprod.cloudops.mozgcp.net"
+ production: "https://aus5.mozilla.org"
+ override-certs:
+ by-release-level:
+ staging: dep
+ production: null
+ updater-platform: linux-x86_64
+ product: thunderbird
+ channel: "release-localtest-next"
+ include-version: release-next
+ last-watershed: "91.9.0"
+
+jobs:
+ thunderbird-next-linux:
+ shipping-product: thunderbird
+ treeherder:
+ platform: linux32-shippable/opt
+ attributes:
+ build_platform: linux-shippable
+ extra:
+ platform: linux-i686
+ thunderbird-next-linux64:
+ shipping-product: thunderbird
+ treeherder:
+ platform: linux64-shippable/opt
+ attributes:
+ build_platform: linux64-shippable
+ extra:
+ platform: linux-x86_64
+ thunderbird-next-macosx64:
+ shipping-product: thunderbird
+ treeherder:
+ platform: osx-shippable/opt
+ attributes:
+ build_platform: macosx64-shippable
+ extra:
+ platform: mac
+ thunderbird-next-win32:
+ shipping-product: thunderbird
+ treeherder:
+ platform: windows2012-32-shippable/opt
+ attributes:
+ build_platform: win32-shippable
+ extra:
+ platform: win32
+ thunderbird-next-win64:
+ shipping-product: thunderbird
+ treeherder:
+ platform: windows2012-64-shippable/opt
+ attributes:
+ build_platform: win64-shippable
+ extra:
+ platform: win64
diff --git a/comm/taskcluster/ci/release-update-verify-config/kind.yml b/comm/taskcluster/ci/release-update-verify-config/kind.yml
new file mode 100644
index 0000000000..eb6081778b
--- /dev/null
+++ b/comm/taskcluster/ci/release-update-verify-config/kind.yml
@@ -0,0 +1,171 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - comm_taskgraph.transforms.update_verify_config:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify-config
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 3600
+ artifacts:
+ - name: public/build/update-verify.cfg
+ path: /builds/worker/checkouts/gecko/update-verify.cfg
+ type: file
+ run:
+ sparse-profile: mozharness
+ extra:
+ app-name: mail
+ branch-prefix: comm
+ archive-prefix:
+ by-release-level:
+ staging: "http://ftp.stage.mozaws.net/pub"
+ production: "https://archive.mozilla.org/pub"
+ previous-archive-prefix:
+ by-release-level:
+ staging: "https://archive.mozilla.org/pub"
+ production: null
+ aus-server:
+ by-release-level:
+ staging: "https://stage.balrog.nonprod.cloudops.mozgcp.net"
+ production: "https://aus5.mozilla.org"
+ override-certs:
+ by-release-level:
+ staging: dep
+ production: null
+ include-version:
+ by-release-type:
+ beta: beta
+ release: nonbeta
+ default: beta
+ last-watershed:
+ by-release-type:
+ beta: "79.0b2"
+ release: "115.0"
+ default: "default"
+
+jobs:
+ thunderbird-linux:
+ shipping-product: thunderbird
+ treeherder:
+ symbol: UVC
+ platform: linux32-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux-shippable
+ extra:
+ product: thunderbird
+ platform: linux-i686
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release: "release-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ thunderbird-linux64:
+ shipping-product: thunderbird
+ treeherder:
+ symbol: UVC
+ platform: linux64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: linux64-shippable
+ extra:
+ product: thunderbird
+ platform: linux-x86_64
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release: "release-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ thunderbird-macosx64:
+ shipping-product: thunderbird
+ treeherder:
+ symbol: UVC
+ platform: osx-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: macosx64-shippable
+ extra:
+ product: thunderbird
+ platform: mac
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release: "release-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ thunderbird-win32:
+ shipping-product: thunderbird
+ treeherder:
+ symbol: UVC
+ platform: windows2012-32-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win32-shippable
+ extra:
+ product: thunderbird
+ platform: win32
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release: "release-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
+
+ thunderbird-win64:
+ shipping-product: thunderbird
+ treeherder:
+ symbol: UVC
+ platform: windows2012-64-shippable/opt
+ kind: test
+ tier: 1
+ attributes:
+ build_platform: win64-shippable
+ extra:
+ product: thunderbird
+ platform: win64
+ updater-platform: linux-x86_64
+ channel:
+ by-release-type:
+ beta: "beta-localtest"
+ release: "release-localtest"
+ default: "default"
+ mar-channel-id-override:
+ by-release-type:
+ beta: beta
+ default: null
diff --git a/comm/taskcluster/ci/release-update-verify-next/kind.yml b/comm/taskcluster/ci/release-update-verify-next/kind.yml
new file mode 100644
index 0000000000..bd898b27ba
--- /dev/null
+++ b/comm/taskcluster/ci/release-update-verify-next/kind.yml
@@ -0,0 +1,73 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-balrog-submit-toplevel
+ - release-update-verify-config-next
+
+transforms:
+ - gecko_taskgraph.transforms.release:run_on_releases
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.update_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify-next
+ run-on-projects: [] # to make sure this never runs as part of CI
+ run-on-releases: [release]
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ artifacts:
+ - name: 'public/build/diff-summary.log'
+ path: '/builds/worker/tools/release/updates/diff-summary.log'
+ type: file
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 7200
+ retry-exit-status:
+ - 255
+ env:
+ CHANNEL: "release-localtest-next"
+ treeherder:
+ symbol: UV(UVnext)
+ kind: test
+ extra:
+ chunks: 12
+
+jobs:
+ thunderbird-next-linux64:
+ description: linux64 release-next update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: linux64-shippable
+
+ thunderbird-next-linux:
+ description: linux release-next update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: linux-shippable
+
+ thunderbird-next-win64:
+ description: win64 release-next update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: win64-shippable
+
+ thunderbird-next-win32:
+ description: win32 release-next update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: win32-shippable
+
+ thunderbird-next-macosx64:
+ description: macosx64 release-next update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: macosx64-shippable
diff --git a/comm/taskcluster/ci/release-update-verify/kind.yml b/comm/taskcluster/ci/release-update-verify/kind.yml
new file mode 100644
index 0000000000..c8c21829cb
--- /dev/null
+++ b/comm/taskcluster/ci/release-update-verify/kind.yml
@@ -0,0 +1,69 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - post-balrog-dummy
+ - post-beetmover-dummy
+ - release-balrog-submit-toplevel
+ - release-update-verify-config
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.update_verify:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ name: update-verify
+ run-on-projects: [] # to make sure this never runs as part of CI
+ shipping-phase: promote
+ worker-type: b-linux-gcp
+ worker:
+ artifacts:
+ - name: 'public/build/diff-summary.log'
+ path: '/builds/worker/checkouts/gecko/diff-summary.log'
+ type: file
+ docker-image:
+ in-tree: "update-verify"
+ max-run-time: 7200
+ retry-exit-status:
+ - 255
+ treeherder:
+ symbol: UV(UV)
+ kind: test
+ extra:
+ chunks: 12
+
+jobs:
+ thunderbird-linux64:
+ description: linux64 update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: linux64-shippable
+
+ thunderbird-linux:
+ description: linux update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: linux-shippable
+
+ thunderbird-win64:
+ description: win64 update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: win64-shippable
+
+ thunderbird-win32:
+ description: win32 update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: win32-shippable
+
+ thunderbird-macosx64:
+ description: macosx64 update verify
+ shipping-product: thunderbird
+ attributes:
+ build_platform: macosx64-shippable
diff --git a/comm/taskcluster/ci/release-version-bump/kind.yml b/comm/taskcluster/ci/release-version-bump/kind.yml
new file mode 100644
index 0000000000..a2328651c2
--- /dev/null
+++ b/comm/taskcluster/ci/release-version-bump/kind.yml
@@ -0,0 +1,46 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.release_deps:transforms
+ - gecko_taskgraph.transforms.release_version_bump:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - release-beetmover-push-to-release
+
+job-defaults:
+ description: Release Promotion version bump/tag
+ run-on-projects: []
+ shipping-phase: ship
+ worker-type: tree
+ worker:
+ implementation: treescript
+ dontbuild: true
+ tags: ['buildN', 'release']
+ bump: true
+ bump-files:
+ by-project:
+ default: ["mail/config/version_display.txt"]
+ comm-(beta|esr.*):
+ - "mail/config/version.txt"
+ - "mail/config/version_display.txt"
+ push:
+ by-project:
+ comm-(beta|esr.*): true
+ default: false
+
+jobs:
+ thunderbird-comm:
+ name: thunderbird-comm-version-bump
+ worker:
+ repo-param-prefix: comm_
+ shipping-product: thunderbird
+ treeherder:
+ platform: thunderbird-release/opt
+ symbol: Rel(VerBump)
+ tier: 1
+ kind: build
diff --git a/comm/taskcluster/ci/repackage-l10n/kind.yml b/comm/taskcluster/ci/repackage-l10n/kind.yml
new file mode 100644
index 0000000000..fd909a5d06
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-l10n/kind.yml
@@ -0,0 +1,72 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind:transforms
+ - gecko_taskgraph.transforms.repackage_l10n:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+kind-dependencies:
+ - shippable-l10n-signing
+ - shippable-l10n-mac-signing
+ - shippable-l10n-mac-notarization
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ upstream-mac-kind:
+ by-build-type:
+ debug: shippable-l10n-mac-signing
+ default:
+ by-project:
+ comm-(central|beta|esr.*): shippable-l10n-mac-notarization
+ default: shippable-l10n-mac-signing
+ worker-type: 'b-linux-gcp'
+ mozharness:
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ by-build-platform:
+ linux-.*:
+ - repackage/base.py
+ - repackage/linux32_signed.py
+ linux64.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ macosx64.*:
+ - repackage/base.py
+ - repackage/osx_signed.py
+ win32.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats:
+ by-build-platform:
+ linux-.*: [mar]
+ linux64.*: [mar]
+ macosx64.*: [mar, dmg, pkg]
+ win32.*: [mar, installer]
+ win64.*: [mar, installer]
+ fetches:
+ toolchain:
+ - linux64-mar-tools
+ - linux64-upx
+ treeherder-group: L10n-Rpk
diff --git a/comm/taskcluster/ci/repackage-msi/kind.yml b/comm/taskcluster/ci/repackage-msi/kind.yml
new file mode 100644
index 0000000000..5020884a9a
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-msi/kind.yml
@@ -0,0 +1,43 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-signing
+ - repackage-signing-l10n
+ - fetch
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ worker-type: 'b-win2012'
+ mozharness:
+ use-magic-mh-args: false
+ use-caches: false
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ by-build-platform:
+ win32\b.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64\b.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats: [msi]
+ fetches:
+ fetch:
+ - wix-3.14.0
diff --git a/comm/taskcluster/ci/repackage-msix/kind.yml b/comm/taskcluster/ci/repackage-msix/kind.yml
new file mode 100644
index 0000000000..2c700b0509
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-msix/kind.yml
@@ -0,0 +1,89 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ # We're going to generate tasks based on this. We `depend` on and fetch the package from this.
+ - build-signing
+ - toolchain
+
+group-by: platform
+
+only-for-build-platforms:
+ - win32/opt
+ - win64/opt
+ - win64/debug
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 2700
+ # This is for fast try iteration; `repackage-shippable-l10n-msix` is the "real one".
+ run-on-projects: []
+ mozharness:
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ by-build-platform:
+ win32\b.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64\b.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats: [msix, msix-store]
+ fetches:
+ toolchain:
+ - linux64-msix-packaging
+ msix:
+ vendor: Mozilla Thunderbird
+ channel:
+ by-release-type:
+ beta.*: beta
+ release.*: official
+ default: nightly
+ identity-name:
+ by-package-format:
+ msix:
+ by-release-type:
+ beta.*: MozillaThunderbirdBeta
+ release.*: MozillaThunderbird
+ default: MozillaThunderbirdDaily
+ msix-store:
+ by-release-type:
+ beta.*: ThunderbirdBeta
+ release.*: MZLA
+ default: ThunderbirdDaily
+ publisher:
+ by-package-format:
+ msix:
+ by-level:
+ "1": "CN=Mozilla Fake SPC"
+ "2": "CN=Mozilla Fake SPC"
+ default:
+ # This value needs to line up with the signing certificate
+ # we're going to sign with. We only sign potential release
+ # or nightly builds with proper certificates, so even on
+ # level 3 repositories, some build types are expected to
+ # be signed with our fake certificate.
+ by-build-platform:
+ .*-shippable: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ default: "CN=Mozilla Fake SPC"
+ msix-store: "CN=D72CA2AC-1021-4C81-8ED2-0CF10CF5F5B6"
+ publisher-display-name:
+ by-package-format:
+ msix: "MZLA Technologies"
+ msix-store: "Mozilla Thunderbird"
diff --git a/comm/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml b/comm/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml
new file mode 100644
index 0000000000..304b0e9d2f
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-shippable-l10n-msix/kind.yml
@@ -0,0 +1,91 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - comm_taskgraph.transforms.repackage_msix:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ # We're going to generate tasks based on this. We `depend` on and fetch the package from this.
+ - build-signing
+ # We're not going to generate tasks based on these. But we are going to `depend` on and fetch
+ # langpacks from these.
+ - shippable-l10n
+ - toolchain
+
+not-for-kind-dependencies:
+ - shippable-l10n
+
+group-by: platform
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 2700
+ mozharness:
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ by-build-platform:
+ win32\b.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64\b.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats: [msix, msix-store]
+ fetches:
+ toolchain:
+ - linux64-msix-packaging
+ msix:
+ vendor: Mozilla Thunderbird
+ channel:
+ by-release-type:
+ beta.*: beta
+ release.*: official
+ default: nightly
+ identity-name:
+ by-package-format:
+ msix:
+ by-release-type:
+ beta.*: MozillaThunderbirdBeta
+ release.*: MozillaThunderbird
+ default: MozillaThunderbirdDaily
+ msix-store:
+ by-release-type:
+ beta.*: ThunderbirdBeta
+ release.*: MZLA
+ default: ThunderbirdDaily
+ publisher:
+ by-package-format:
+ msix:
+ by-level:
+ "1": "CN=Mozilla Fake SPC"
+ "2": "CN=Mozilla Fake SPC"
+ default:
+ # This value needs to line up with the signing certificate
+ # we're going to sign with. We only sign potential release
+ # or nightly builds with proper certificates, so even on
+ # level 3 repositories, some build types are expected to
+ # be signed with our fake certificate.
+ by-build-platform:
+ .*-shippable: "CN=Mozilla Corporation, OU=Firefox Engineering Operations, O=Mozilla Corporation, L=Mountain View, S=California, C=US"
+ default: "CN=Mozilla Fake SPC"
+ msix-store: "CN=D72CA2AC-1021-4C81-8ED2-0CF10CF5F5B6"
+ publisher-display-name:
+ by-package-format:
+ msix: "MZLA Technologies"
+ msix-store: "Mozilla Thunderbird"
diff --git a/comm/taskcluster/ci/repackage-signing-l10n/kind.yml b/comm/taskcluster/ci/repackage-signing-l10n/kind.yml
new file mode 100644
index 0000000000..a2b100cf24
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-signing-l10n/kind.yml
@@ -0,0 +1,19 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+
+kind-dependencies:
+ - repackage-l10n
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
diff --git a/comm/taskcluster/ci/repackage-signing-msi/kind.yml b/comm/taskcluster/ci/repackage-signing-msi/kind.yml
new file mode 100644
index 0000000000..eb71971e94
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-signing-msi/kind.yml
@@ -0,0 +1,19 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-msi
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win32/opt
+ - win64-shippable/opt
+ - win64/opt
diff --git a/comm/taskcluster/ci/repackage-signing-msix/kind.yml b/comm/taskcluster/ci/repackage-signing-msix/kind.yml
new file mode 100644
index 0000000000..38604e8375
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-signing-msix/kind.yml
@@ -0,0 +1,13 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-msix
diff --git a/comm/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml b/comm/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml
new file mode 100644
index 0000000000..e4e1fd841f
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-signing-shippable-l10n-msix/kind.yml
@@ -0,0 +1,13 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - repackage-shippable-l10n-msix
diff --git a/comm/taskcluster/ci/repackage-signing/kind.yml b/comm/taskcluster/ci/repackage-signing/kind.yml
new file mode 100644
index 0000000000..13eb3f46ce
--- /dev/null
+++ b/comm/taskcluster/ci/repackage-signing/kind.yml
@@ -0,0 +1,20 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage_signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+
+kind-dependencies:
+ - repackage
+
+only-for-build-platforms:
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-asan-reporter-shippable/opt
diff --git a/comm/taskcluster/ci/repackage/kind.yml b/comm/taskcluster/ci/repackage/kind.yml
new file mode 100644
index 0000000000..e5f842c189
--- /dev/null
+++ b/comm/taskcluster/ci/repackage/kind.yml
@@ -0,0 +1,79 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.repackage_set_upstream_mac_kind:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.repackage:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+kind-dependencies:
+ - build-signing
+ - build-mac-signing
+ - build-mac-notarization
+ - toolchain
+
+only-for-build-platforms:
+ - linux-shippable/opt
+ - linux64-shippable/opt
+ - linux64-asan-reporter-shippable/opt
+ - macosx64-shippable/opt
+ - macosx64/opt
+ - macosx64/debug
+ - win32-shippable/opt
+ - win64-shippable/opt
+ - win64-asan-reporter-shippable/opt
+
+job-template:
+ upstream-mac-kind:
+ by-build-type:
+ debug: build-mac-signing
+ default:
+ by-project:
+ comm-(central|beta|esr.*): build-mac-notarization
+ default: build-mac-signing
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time:
+ by-build-platform:
+ .*asan.*: 2700
+ default: 900
+ mozharness:
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ by-build-platform:
+ linux-.*:
+ - repackage/base.py
+ - repackage/linux32_signed.py
+ linux64.*:
+ - repackage/base.py
+ - repackage/linux64_signed.py
+ macosx64.*:
+ - repackage/base.py
+ - repackage/osx_signed.py
+ win32.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win32_signed.py
+ win64.*:
+ - repackage/base.py
+ - repackage/tb_win32_sfx_stub.py
+ - repackage/win64_signed.py
+ package-formats:
+ by-build-platform:
+ linux-.*: [mar]
+ linux64.*: [mar]
+ macosx64.*: [mar, dmg, pkg]
+ win32.*: [mar, installer]
+ win64.*: [mar, installer]
+ fetches:
+ toolchain:
+ - linux64-mar-tools
+ - linux64-upx
diff --git a/comm/taskcluster/ci/searchfox/kind.yml b/comm/taskcluster/ci/searchfox/kind.yml
new file mode 100644
index 0000000000..337c931e93
--- /dev/null
+++ b/comm/taskcluster/ci/searchfox/kind.yml
@@ -0,0 +1,156 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.build_lints:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ index:
+ product: thunderbird
+ treeherder:
+ symbol: Searchfox(idx)
+ kind: build
+ tier: 2
+ run-on-projects: []
+ optimization: null
+ use-system-python: false
+
+jobs:
+ linux64-searchfox/debug:
+ description: "Linux64 Debug Searchfox"
+ index:
+ job-name: linux64-searchfox-debug
+ treeherder:
+ platform: linux64/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 36000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "linux"
+ run:
+ using: mozharness
+ comm-checkout: true
+ actions: [build]
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_sub_linux_configs/64_searchfox_and_debug.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ tooltool-downloads: public
+ keep-artifacts: false
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-libotr
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - linux64-rust
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+
+ macosx64-searchfox/debug:
+ description: "MacOS X x64 Debug Cross-compile Searchfox"
+ index:
+ job-name: macosx64-searchfox-debug
+ treeherder:
+ platform: osx-cross/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 36000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "macosx"
+ run:
+ using: mozharness
+ comm-checkout: true
+ actions: [build]
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_mac_64_cross_builds.py
+ script: "mozharness/scripts/fx_desktop_build.py"
+ custom-build-variant-cfg: cross-debug-searchfox
+ keep-artifacts: false
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-cctools-port
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-macos
+ - macosx64-x64-libotr
+ - macosx64-sdk
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+
+ win64-searchfox/debug:
+ description: "Win64 Searchfox Debug (clang)"
+ index:
+ job-name: win64-searchfox-debug
+ treeherder:
+ platform: windows2012-64/debug
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 36000
+ env:
+ PERFHERDER_EXTRA_OPTIONS: searchfox
+ MOZSEARCH_PLATFORM: "windows"
+ run:
+ using: mozharness
+ comm-checkout: true
+ options: [append-env-variables-from-configs]
+ actions: [build]
+ config-paths:
+ - comm/testing/mozharness/configs
+ script: mozharness/scripts/fx_desktop_build.py
+ config:
+ - builds/taskcluster_base_thunderbird.py
+ - builds/releng_base_linux_64_builds.py
+ - builds/taskcluster_sub_win64/searchfox_debug.py
+ tooltool-downloads: internal
+ extra-config:
+ mozconfig_platform: win64
+ use-sccache: true
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-clang
+ - linux64-dump_syms
+ - linux64-nasm
+ - linux64-node
+ - linux64-rust-cross
+ - linux64-rust-size
+ - linux64-sccache
+ - linux64-winchecksec
+ - linux64-wine
+ - nsis
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - win64-libotr
+ - vs
+ fetch:
+ - upx-3.95-win
diff --git a/comm/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml b/comm/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml
new file mode 100644
index 0000000000..45bb772008
--- /dev/null
+++ b/comm/taskcluster/ci/shippable-l10n-mac-notarization/kind.yml
@@ -0,0 +1,27 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: chunk-locales
+
+transforms:
+ - gecko_taskgraph.transforms.mac_notarization:transforms
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.upstream_artifact_task:transforms
+ - gecko_taskgraph.transforms.shippable_l10n_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+kind-dependencies:
+ - shippable-l10n-mac-signing
+
+only-for-attributes:
+ - shippable
+
+job-template:
+ max-run-time: 1800
+ treeherder:
+ symbol: BMN
diff --git a/comm/taskcluster/ci/shippable-l10n-mac-signing/kind.yml b/comm/taskcluster/ci/shippable-l10n-mac-signing/kind.yml
new file mode 100644
index 0000000000..3a59d2fc30
--- /dev/null
+++ b/comm/taskcluster/ci/shippable-l10n-mac-signing/kind.yml
@@ -0,0 +1,28 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: chunk-locales
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.shippable_l10n_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+kind-dependencies:
+ - shippable-l10n
+
+only-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64/opt
+ - macosx64/debug
+
+job-template:
+ treeherder:
+ symbol: BMS
+ attributes:
+ shipping_phase: promote
diff --git a/comm/taskcluster/ci/shippable-l10n-pre-signing/kind.yml b/comm/taskcluster/ci/shippable-l10n-pre-signing/kind.yml
new file mode 100644
index 0000000000..ac3d0c28e6
--- /dev/null
+++ b/comm/taskcluster/ci/shippable-l10n-pre-signing/kind.yml
@@ -0,0 +1,17 @@
+# 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: gecko_taskgraph.loader.single_dep:loader
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - comm_taskgraph.transforms.l10n_source_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - shippable-l10n-pre
+
+job-template:
+ shipping-phase: promote
diff --git a/comm/taskcluster/ci/shippable-l10n-pre/kind.yml b/comm/taskcluster/ci/shippable-l10n-pre/kind.yml
new file mode 100644
index 0000000000..d2765c2f27
--- /dev/null
+++ b/comm/taskcluster/ci/shippable-l10n-pre/kind.yml
@@ -0,0 +1,61 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+
+transforms:
+ - comm_taskgraph.transforms.l10n_pre:transforms
+ - gecko_taskgraph.transforms.build:transforms
+ - gecko_taskgraph.transforms.build_attrs:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+job-defaults:
+ shipping-phase: promote
+ shipping-product: thunderbird
+ treeherder:
+ symbol: L10n-pre-S
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 900
+ env:
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ attributes:
+ shippable: true
+ locale-list:
+ by-release-type:
+ beta|release: comm/mail/locales/shipped-locales
+ default: comm/mail/locales/all-locales
+ comm-locales-file: comm/mail/locales/l10n-changesets.json
+ browser-locales-file: browser/locales/l10n-changesets.json
+ run:
+ using: mozharness
+ comm-checkout: true
+ actions:
+ - clone-gecko-locales
+ - clone-monorepo
+ - merge-repos
+ - pack-merged
+ - gen-changesets
+ script: comm/taskcluster/scripts/desktop_comm_l10n.py
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/thunderbird_split_l10n.py
+ - taskcluster_nightly.py
+ options: []
+ run-on-projects: []
+ optimization: null
+
+
+jobs:
+ shippable-l10n-pre/opt:
+ description: Pre-Localization artifact build
+ treeherder:
+ platform: thunderbird-release/opt
diff --git a/comm/taskcluster/ci/shippable-l10n-signing/kind.yml b/comm/taskcluster/ci/shippable-l10n-signing/kind.yml
new file mode 100644
index 0000000000..8e0ddd06c1
--- /dev/null
+++ b/comm/taskcluster/ci/shippable-l10n-signing/kind.yml
@@ -0,0 +1,29 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: chunk-locales
+
+transforms:
+ - gecko_taskgraph.transforms.name_sanity:transforms
+ - gecko_taskgraph.transforms.upstream_artifact_task:transforms
+ - gecko_taskgraph.transforms.shippable_l10n_signing:transforms
+ - gecko_taskgraph.transforms.signing:transforms
+ - gecko_taskgraph.transforms.task:transforms
+ - comm_taskgraph.transforms.signing:transforms
+
+kind-dependencies:
+ - shippable-l10n
+
+primary-dependency:
+ - shippable-l10n
+
+only-for-attributes:
+ - shippable
+
+not-for-build-platforms:
+ - macosx64-shippable/opt
+ - macosx64/opt
+ - macosx64/debug
diff --git a/comm/taskcluster/ci/shippable-l10n/kind.yml b/comm/taskcluster/ci/shippable-l10n/kind.yml
new file mode 100644
index 0000000000..35599ffde9
--- /dev/null
+++ b/comm/taskcluster/ci/shippable-l10n/kind.yml
@@ -0,0 +1,148 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - comm_taskgraph.transforms.l10n:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - build-signing
+ - fetch
+ - shippable-l10n-pre
+ - repackage
+ - toolchain
+
+primary-dependency: build
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux-shippable/opt
+ - macosx64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ description: Localization
+ locales-file:
+ by-release-type:
+ beta|release: comm/mail/locales/shipped-locales
+ default: comm/mail/locales/all-locales
+ locales-per-chunk: 5
+ run-on-projects: ['release']
+ attributes:
+ shipping_phase: promote
+ ignore-locales:
+ by-build-platform:
+ # OSX has a special locale for japanese
+ macosx64.*: [ja, en-US]
+ default: [ja-JP-mac, en-US]
+ run-time:
+ by-build-platform:
+ default: 900
+ win.*: 1800
+ secrets: false
+ dependencies:
+ shippable-l10n-pre: shippable-l10n-pre-shippable-l10n-pre/opt
+ fetches:
+ toolchain:
+ by-build-platform:
+ default: []
+ macosx64.*:
+ - linux64-libdmg
+ - linux64-hfsplus
+ win.*:
+ - linux64-wine
+ - nsis
+ fetch:
+ by-build-platform:
+ default: []
+ win.*:
+ - upx-3.95-win
+ shippable-l10n-pre:
+ - strings_all.tar.zst
+ tooltool:
+ by-build-platform:
+ default: internal
+ linux.*: public
+ index:
+ type: shippable-l10n
+ product: thunderbird
+ job-name:
+ by-build-platform:
+ linux-shippable: linux-opt
+ linux64-shippable: linux64-opt
+ macosx64-shippable: macosx64-opt
+ win32-shippable: win32-opt
+ win64-shippable: win64-opt
+ worker-type: b-linux-gcp
+ treeherder:
+ symbol: L10n(B)
+ tier: 1
+ platform:
+ by-build-platform:
+ linux64-shippable: linux64-shippable/opt
+ linux-shippable: linux32-shippable/opt
+ macosx64-shippable: osx-shippable/opt
+ win32-shippable: windows2012-32-shippable/opt
+ win64-shippable: windows2012-64-shippable/opt
+ env:
+ by-build-platform:
+ linux.*: # linux64 and 32 get same treatment here
+ EN_US_PACKAGE_NAME: target.tar.bz2
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ macosx64.*:
+ EN_US_PACKAGE_NAME: target.dmg
+ EN_US_BINARY_URL:
+ artifact-reference: <repackage/{artifact_prefix}>
+ win.*:
+ EN_US_PACKAGE_NAME: target.zip
+ EN_US_BINARY_URL:
+ artifact-reference: <build-signing/{artifact_prefix}>
+ mozharness:
+ comm-checkout: true
+ config-paths:
+ - comm/testing/mozharness/configs
+ config:
+ # no default, so we fail on new entries
+ by-build-platform:
+ linux-shippable:
+ - single_locale/linux32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - single_locale/thunderbird.py
+ - taskcluster_nightly.py
+ linux64-shippable:
+ - single_locale/linux64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_linux_common.py
+ - single_locale/thunderbird.py
+ - taskcluster_nightly.py
+ macosx64-shippable:
+ - single_locale/macosx64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_macosx64.py
+ - single_locale/thunderbird.py
+ - taskcluster_nightly.py
+ win32-shippable:
+ - single_locale/win32.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win32.py
+ - single_locale/thunderbird.py
+ - taskcluster_nightly.py
+ win64-shippable:
+ - single_locale/win64.py
+ - single_locale/tc_common.py
+ - single_locale/tc_win64.py
+ - single_locale/thunderbird.py
+ - taskcluster_nightly.py
+ actions: ['list-locales', 'setup', 'repack',
+ 'summary']
+ script: mozharness/scripts/desktop_l10n.py
diff --git a/comm/taskcluster/ci/source-docs/kind.yml b/comm/taskcluster/ci/source-docs/kind.yml
new file mode 100644
index 0000000000..8218c65ae4
--- /dev/null
+++ b/comm/taskcluster/ci/source-docs/kind.yml
@@ -0,0 +1,44 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+kind-dependencies:
+ - toolchain
+ - fetch
+
+transforms:
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs:
+ rtd-webhook:
+ description: Triggers a build of the in-tree source documentation at source-docs.thunderbird.net
+ run-on-projects: ['trunk']
+ index:
+ product: thunderbird
+ job-name: source-docs
+ treeherder:
+ platform: doc/opt
+ kind: test
+ symbol: doc(RTD)
+ tier: 2
+ worker-type: t-linux-large
+ worker:
+ docker-image: {in-tree: "debian11-amd64-build"}
+ max-run-time: 1800
+ env:
+ TASK_ID: {"task-reference": "<self>"}
+ TASKCLUSTER_PROXY_URL: http://taskcluster
+ run:
+ using: run-task
+ comm-checkout: true
+ cwd: '{checkout}'
+ command: >
+ ./comm/taskcluster/scripts/build-source-docs.sh
+ scopes:
+ - secrets:get:project/comm/thunderbird/releng/build/level-{level}/rtd-webhook
+ when:
+ files-changed:
+ - comm/docs/**
diff --git a/comm/taskcluster/ci/source-test/clang.yml b/comm/taskcluster/ci/source-test/clang.yml
new file mode 100644
index 0000000000..899b3aadc7
--- /dev/null
+++ b/comm/taskcluster/ci/source-test/clang.yml
@@ -0,0 +1,58 @@
+# 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/.
+---
+job-defaults:
+ always-target: true
+ platform: linux64/debug
+ worker-type: t-linux-xlarge-source
+ attributes:
+ code-review: true
+ worker:
+ docker-image: {in-tree: static-analysis-build}
+ max-run-time: 5400
+ treeherder:
+ kind: other
+ tier: 2
+ run:
+ using: run-task
+ tooltool-downloads: public
+ comm-checkout: true
+ fetches:
+ toolchain:
+ - linux64-cbindgen
+ - linux64-nasm
+ - linux64-node
+ optimization:
+ skip-unless-changed-no-suite:
+ - 'comm/**/*.c'
+ - 'comm/**/*.cc'
+ - 'comm/**/*.cpp'
+ - 'comm/**/*.m'
+ - 'comm/**/*.mm'
+ - 'comm/**/*.h'
+
+format:
+ description: Run clang-format on C/C++ patches
+ treeherder:
+ symbol: cpp(clang-format)
+ run:
+ cwd: '{checkout}'
+ command: >-
+ ./comm/taskcluster/scripts/source-test-clang-format.sh {changed_files}
+
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-clang-tidy
+ - linux64-rust
+ - sysroot-x86_64-linux-gnu
+ - sysroot-wasm32-wasi
+ worker:
+ artifacts:
+ - type: file
+ name: public/code-review/clang-format.json
+ path: /builds/worker/clang-format.json
+ - type: file
+ name: public/code-review/clang-format.diff
+ path: /builds/worker/clang-format.diff
diff --git a/comm/taskcluster/ci/source-test/kind.yml b/comm/taskcluster/ci/source-test/kind.yml
new file mode 100644
index 0000000000..cf6079c02b
--- /dev/null
+++ b/comm/taskcluster/ci/source-test/kind.yml
@@ -0,0 +1,25 @@
+# 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: gecko_taskgraph.loader.transform:loader
+
+transforms:
+ - gecko_taskgraph.transforms.try_job:transforms
+ - gecko_taskgraph.transforms.source_test:transforms
+ - comm_taskgraph.transforms.source_test:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - fetch
+ - toolchain
+
+jobs-from:
+ - clang.yml
+ - mozlint.yml
+ - python.yml
+
+job-defaults:
+ attributes:
+ retrigger: true
diff --git a/comm/taskcluster/ci/source-test/mozlint.yml b/comm/taskcluster/ci/source-test/mozlint.yml
new file mode 100644
index 0000000000..2ef12d70c6
--- /dev/null
+++ b/comm/taskcluster/ci/source-test/mozlint.yml
@@ -0,0 +1,287 @@
+# 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/.
+---
+job-defaults:
+ always-target: true
+ attributes:
+ code-review: true
+ treeherder:
+ kind: test
+ tier: 1
+ platform: lint/opt
+ worker-type: t-linux-xlarge-source
+ worker:
+ docker-image: {in-tree: "lint"}
+ max-run-time: 1800
+ artifacts:
+ - type: file
+ name: public/code-review/mozlint.json
+ path: /builds/worker/mozlint.json
+ env:
+ MOZLINT_NO_SUITE: '1'
+ run:
+ using: mach
+ comm-checkout: true
+
+codespell:
+ description: Checks for misspellings in text files
+ treeherder:
+ symbol: text(spell)
+ # We don't want patches to be backed out because of a typo, a follow-up
+ # bug will be good enough
+ tier: 2
+ run:
+ mach: >
+ lint -v -l codespell -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: codespell.yml
+
+eslint:
+ description: JS lint check
+ treeherder:
+ symbol: js(ES)
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ cp -r /build/node_modules_eslint node_modules &&
+ cp -r /build/node_modules_eslint-plugin-mozilla/ tools/lint/eslint/eslint-plugin-mozilla/node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-mozilla node_modules &&
+ ln -s ../tools/lint/eslint/eslint-plugin-spidermonkey-js node_modules &&
+ ./mach commlint -v -l eslint -f treeherder -f json:/builds/worker/mozlint.json comm/
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: eslint.yml
+
+file-perm:
+ description: Check for incorrect permissions on source files
+ platform: lint/opt
+ treeherder:
+ symbol: pedantic(file-perm)
+ # We don't want patches to be backed out because of this, a follow-up
+ # bug will be good enough
+ tier: 2
+ run:
+ mach: >
+ lint -v -l file-perm -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: file-perm.yml
+
+file-whitespace:
+ description: Check for trailing whitespaces and Windows CR
+ platform: lint/opt
+ treeherder:
+ symbol: pedantic(file-whitespace)
+ # We don't want patches to be backed out because of this, a follow-up
+ # bug will be good enough
+ tier: 2
+ run:
+ mach: >
+ lint -v -l file-whitespace -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: file-whitespace.yml
+
+fluent-lint:
+ description: Check for problems with Fluent files.
+ treeherder:
+ symbol: l10n(fluent)
+ run:
+ mach: >
+ lint -l fluent-lint -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: fluent-lint.yml
+
+license:
+ description: Check for license blocks in source files.
+ treeherder:
+ symbol: pedantic(license)
+ run:
+ mach: >
+ lint -v -l license -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: license.yml
+
+l10n-conflicts:
+ description: l10n tests for strings with errors and conflicts with cross-channel
+ treeherder:
+ symbol: l10n(l1nt-conflicts)
+ always-target: false
+ run-on-projects: []
+ run:
+ mach: >
+ lint -W -l l10n -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: l10n.yml
+
+localization:
+ description: l10n tests for strings with errors
+ treeherder:
+ symbol: l10n(l1nt)
+ run:
+ mach: >
+ lint -v -l l10n -f treeherder
+ --config-path=comm/tools/lint
+ comm/*
+ attributes:
+ code-review: false
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: l10n.yml
+
+lintpref:
+ description: Check for duplicates between all.js and StaticPrefList.yaml.
+ treeherder:
+ symbol: misc(pref)
+ run:
+ mach: >
+ lint -v -l lintpref -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: lintpref.yml
+
+mingw-cap:
+ description: lint for MinGW Capitalization issues
+ treeherder:
+ symbol: misc(mingw)
+ run:
+ mach: >
+ lint -v -l mingw-capitalization -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: mingw-capitalization.yml
+
+py-black:
+ description: black run over the gecko codebase
+ treeherder:
+ symbol: py(black)
+ run:
+ mach: >
+ lint -v -l black -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: black.yml
+
+py-ruff:
+ description: Run ruff over the codebase
+ treeherder:
+ symbol: py(ruff)
+ run:
+ mach: >
+ commlint -v -l ruff -f treeherder
+ -f json:/builds/worker/mozlint.json
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: ruff.yml
+
+shellcheck:
+ description: shellcheck run over the Thunderbird codebase
+ treeherder:
+ symbol: misc(shell)
+ run-on-projects: []
+ run:
+ mach: >
+ lint -v -l shellcheck -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: shellcheck.yml
+
+stylelint:
+ description: CSS lint check
+ treeherder:
+ symbol: stylelint
+ run:
+ using: run-task
+ cwd: '{checkout}'
+ command: >
+ cp -r /build/node_modules_eslint node_modules &&
+ ./mach commlint -v -l stylelint -f treeherder
+ -f json:/builds/worker/mozlint.json
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: stylelint.yml
+
+trojan-source:
+ description: Trojan Source attack - CVE-2021-42572
+ platform: lint/opt
+ treeherder:
+ symbol: misc(trojan-source)
+ run:
+ mach: >
+ lint -v -l trojan-source -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/*
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: trojan-source.yml
+
+yaml:
+ description: yamllint run over the taskcluster configuration
+ treeherder:
+ symbol: pedantic(yaml)
+ run:
+ mach: >
+ lint -v -l yaml -f treeherder
+ -f json:/builds/worker/mozlint.json
+ --config-path=comm/tools/lint
+ comm/mail/config
+ comm/taskcluster
+ comm/.*.yml
+ optimization:
+ skip-unless-mozlint:
+ root-path: comm
+ mozlint-config: yaml.yml
diff --git a/comm/taskcluster/ci/source-test/python.yml b/comm/taskcluster/ci/source-test/python.yml
new file mode 100644
index 0000000000..b3ffc9bc32
--- /dev/null
+++ b/comm/taskcluster/ci/source-test/python.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+job-defaults:
+ platform: linux1804-64/opt
+ always-target: true
+ worker-type: t-linux-xlarge-source
+ worker:
+ # A build image instead of the lint image m-c uses, because of the
+ # comm-checkout requirement.
+ docker-image: {in-tree: "debian11-amd64-build"}
+ max-run-time: 3600
+ env:
+ MOZCONFIG: comm/mail/config/mozconfigs/linux64/source
+ treeherder:
+ kind: test
+ tier: 1
+ run:
+ comm-checkout: true
+
+comm_taskgraph-tests:
+ description: taskcluster/taskgraph unit tests
+ treeherder:
+ symbol: py(ctg)
+ run:
+ using: run-task
+ cwd: "{checkout}"
+ command: >
+ ./mach configure &&
+ ./mach python-test --subsuite comm_taskgraph
+ optimization:
+ skip-unless-changed-no-suite:
+ - "taskcluster/**/*.py"
+ - "comm/taskcluster/**/*.py"
diff --git a/comm/taskcluster/ci/test/compiled.yml b/comm/taskcluster/ci/test/compiled.yml
new file mode 100644
index 0000000000..67098d1798
--- /dev/null
+++ b/comm/taskcluster/ci/test/compiled.yml
@@ -0,0 +1,35 @@
+# 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/.
+---
+job-defaults:
+ run-without-variant: false
+ variants: ["1proc"]
+ mozharness:
+ script: desktop_unittest.py
+ config:
+ by-test-platform:
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ - unittests/thunderbird_extra.py
+ macosx.*:
+ - unittests/mac_unittest.py
+ - unittests/thunderbird_extra.py
+ windows.*:
+ - unittests/win_unittest.py
+ - unittests/thunderbird_extra.py
+ supports-artifact-builds: false
+
+gtest:
+ description: "GTests run"
+ suite: gtest
+ treeherder-symbol: GTest
+ instance-size: xlarge
+ run-on-projects:
+ by-test-platform:
+ macosx.*: [] # currently fails on macOS
+ default: built-projects
+ test-manifest-loader: null # don't load tests in the taskgraph
+ target: null
+ tier: default
diff --git a/comm/taskcluster/ci/test/kind.yml b/comm/taskcluster/ci/test/kind.yml
new file mode 100644
index 0000000000..13061808f1
--- /dev/null
+++ b/comm/taskcluster/ci/test/kind.yml
@@ -0,0 +1,57 @@
+# 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: gecko_taskgraph.loader.test:loader
+
+kind-dependencies:
+ - build
+ - build-mac-signing
+ - build-signing
+ - repackage-signing-shippable-l10n-msix
+ - repackage-signing-msix
+ - fetch
+ - toolchain
+
+transforms:
+ - comm_taskgraph.transforms.tests:transforms
+ - gecko_taskgraph.transforms.test:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs-from:
+ - compiled.yml
+ - tests.yml
+
+# These apply to all included test yml files listed in jobs-from
+job-defaults:
+ attributes:
+ retrigger: true
+ optimization:
+ by-test-platform:
+ .*-tsan.*/opt:
+ skip-unless-backstop-no-suite: null
+ .*-asan.*/opt:
+ skip-unless-backstop-no-suite: null
+ default:
+ skip-suite-only: null
+ mozharness:
+ requires-signed-builds:
+ by-test-platform:
+ windows11-64.*:
+ by-variant:
+ msix: true
+ default: false
+ default: false
+ fetches:
+ toolchain:
+ by-test-platform:
+ win.*:
+ - win32-fix-stacks
+ - win32-minidump-stackwalk
+ macosx.*:
+ - macosx64-fix-stacks
+ - macosx64-minidump-stackwalk
+ default:
+ - linux64-fix-stacks
+ - linux64-minidump-stackwalk
diff --git a/comm/taskcluster/ci/test/test-platforms.yml b/comm/taskcluster/ci/test/test-platforms.yml
new file mode 100644
index 0000000000..985eda9d57
--- /dev/null
+++ b/comm/taskcluster/ci/test/test-platforms.yml
@@ -0,0 +1,149 @@
+# 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/.
+---
+# This file maps build platforms to test platforms. In some cases, a
+# single build may be tested on multiple test platforms, but a single test
+# platform can only link to one build platform. Both build and test platforms
+# are represented as <platform>/<type>, where <type> is what Treeherder calls a
+# collection.
+#
+# Each test platform further specifies the set of tests that will be scheduled
+# for the platform, referring to tests defined in test-sets.yml.
+#
+# Note that set does not depend on the tree; tree-dependent job selection
+# should be performed in the target task selection phase of task-graph
+# generation.
+
+# Linux platforms (matching /linux.*/)
+
+linux1804-64-qr/opt:
+ build-platform: linux64/opt
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+linux1804-64-shippable-qr/opt:
+ build-platform: linux64-shippable/opt
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+linux1804-64-qr/debug:
+ build-platform: linux64/debug
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+linux1804-64-asan-qr/opt:
+ build-platform: linux64-asan/opt
+ test-sets:
+ - mochitest-tests
+ - xpcshell-tests
+
+linux1804-64-tsan-qr/opt:
+ build-platform: linux64-tsan/opt
+ test-sets:
+ - mochitest-tests
+ - xpcshell-tests
+
+linux1804-64-ccov-qr/opt:
+ build-platform: linux64-ccov/opt
+ test-sets:
+ - mochitest-tests
+ - xpcshell-tests
+
+# Windows platforms (matching /windows.*/)
+
+# windows 11 - 32bit
+windows11-32-2009-qr/opt:
+ build-platform: win32/opt
+ build-signing-label: build-signing-win32/opt
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+windows11-32-2009-shippable-qr/opt:
+ build-platform: win32-shippable/opt
+ build-signing-label: build-signing-win32-shippable/opt
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+windows11-32-2009-qr/debug:
+ build-platform: win32/debug
+ build-signing-label: build-signing-win32/debug
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+# windows 11 - 64bit
+windows11-64-2009-qr/opt:
+ build-platform: win64/opt
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/opt
+ default: build-signing-win64/opt
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+windows11-64-2009-shippable-qr/opt:
+ build-platform: win64-shippable/opt
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-shippable-l10n-msix-win64-shippable/opt
+ default: build-signing-win64-shippable/opt
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+windows11-64-2009-qr/debug:
+ build-platform: win64/debug
+ build-signing-label:
+ by-variant:
+ msix: repackage-signing-msix-win64/debug
+ default: build-signing-win64/debug
+ test-sets:
+ - gtest-tests
+ - mochitest-tests
+ - xpcshell-tests
+
+windows11-64-2009-asan-qr/opt:
+ build-platform: win64-asan/opt
+ test-sets:
+ - mochitest-tests
+
+# MacOS X platforms (matching /macosx.*/)
+
+macosx1015-64-qr/opt:
+ build-platform: macosx64/opt
+ test-sets:
+ - mochitest-tests
+ - xpcshell-tests
+
+macosx1015-64-qr/debug:
+ build-platform: macosx64/debug
+ test-sets:
+ - mochitest-tests
+ - xpcshell-tests
+
+macosx1015-64-shippable-qr/opt:
+ build-platform: macosx64-shippable/opt
+ test-sets:
+ - mochitest-tests
+ - xpcshell-tests
+
+# macosx1100-64-shippable/opt:
+# build-platform: macosx64-shippable/opt
+# test-sets:
+# - mochitest-tests
+# - xpcshell-tests
diff --git a/comm/taskcluster/ci/test/test-sets.yml b/comm/taskcluster/ci/test/test-sets.yml
new file mode 100644
index 0000000000..5e487e1050
--- /dev/null
+++ b/comm/taskcluster/ci/test/test-sets.yml
@@ -0,0 +1,22 @@
+# 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/.
+---
+# Each key in this file specifies a set of tests to run. Different test sets
+# may, for example, be bound to different test platforms.
+#
+# Note that set does not depend on the tree; tree-dependent job selection
+# should be performed in the target task selection phase of task-graph
+# generation.
+#
+# A test set has a name, and a list of tests that it contains.
+#
+
+gtest-tests:
+ - gtest
+
+mochitest-tests:
+ - mochitest-thunderbird
+
+xpcshell-tests:
+ - xpcshell
diff --git a/comm/taskcluster/ci/test/tests.yml b/comm/taskcluster/ci/test/tests.yml
new file mode 100644
index 0000000000..9d3105d5e9
--- /dev/null
+++ b/comm/taskcluster/ci/test/tests.yml
@@ -0,0 +1,179 @@
+# 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/.
+---
+# Each stanza here describes a particular test suite or sub-suite. These are
+# processed through the transformations described in kind.yml to produce a
+# bunch of tasks. See the schema in `taskcluster/gecko_taskgraph/transforms/tests.py`
+# for a description of the fields used here.
+
+# Note that these are in lexical order, as enforced by the task loader.
+
+# Adding a new test type or running tests on a new platform? Be sure to review
+# https://wiki.mozilla.org/Sheriffing/Job_Visibility_Policy
+
+xpcshell:
+ description: "xpcshell test run"
+ suite:
+ category: xpcshell
+ name:
+ by-variant:
+ msix: xpcshell-msix
+ default: xpcshell
+ target:
+ by-test-platform:
+ windows11-64.*:
+ by-variant:
+ msix: target.installer.msix
+ default: null
+ default: null
+ treeherder-symbol: X(X)
+ variants:
+ - msix
+ run-on-projects:
+ by-variant:
+ msix:
+ by-test-platform:
+ windows11-64.*: built-projects
+ default: []
+ default: built-projects
+ tier:
+ by-variant:
+ msix: 2
+ default:
+ by-test-platform:
+ .*-asan.*: 2
+ .*-tsan.*: 2
+ macosx1100.*: 2
+ windows11.*: 1
+ default: default
+ chunks:
+ by-test-platform:
+ .*-ccov.*/.*: 8
+ .*-tsan.*/opt: 8
+ default: 4
+ instance-size: default
+ max-run-time:
+ by-variant:
+ msix: 7200
+ default:
+ by-test-platform:
+ windows.*/opt: 5400
+ .*-ccov(-qr)?/.*: 7200
+ .*-tsan.*/opt: 7200
+ default: 2700
+ allow-software-gl-layers: false
+ mozharness:
+ script: desktop_unittest.py
+ config:
+ by-test-platform:
+ windows.*:
+ - unittests/win_unittest.py
+ - unittests/thunderbird_extra.py
+ macosx.*64.*:
+ - unittests/mac_unittest.py
+ - unittests/thunderbird_extra.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ - unittests/thunderbird_extra.py
+ extra-options:
+ by-test-platform:
+ windows1.*:
+ - --threads=2
+ default: []
+ requires-signed-builds:
+ by-test-platform:
+ windows1.-64-asan-qr/opt: false
+ windows.*: true
+ default: false
+ fetches:
+ toolchain:
+ by-test-platform:
+ linux.*:
+ - linux64-fix-stacks
+ - linux64-node
+ - linux64-minidump-stackwalk
+ macosx.*:
+ - macosx64-fix-stacks
+ - macosx64-node
+ - macosx64-minidump-stackwalk
+ win.*64.*:
+ - win32-fix-stacks
+ - win64-node
+ - win32-minidump-stackwalk
+ win.*32.*:
+ - win32-fix-stacks
+ - win32-node
+ - win32-minidump-stackwalk
+ default: []
+
+mochitest-thunderbird:
+ description: "Mochitest browser-chrome-thunderbird run"
+ suite:
+ category: mochitest
+ name: mochitest-browser-chrome-thunderbird
+ target:
+ by-test-platform:
+ windows11-64.*:
+ by-variant:
+ msix: target.installer.msix
+ default: null
+ default: null
+ treeherder-symbol: M(bct)
+ built-projects-only: true
+ test-manifest-loader: null # don't load tests in the taskgraph
+ loopback-video: true
+ max-run-time:
+ by-variant:
+ msix: 5400
+ default:
+ by-test-platform:
+ linux.*64-ccov.*/.*: 9000
+ linux.*64-tsan.*/opt: 9000
+ default: 3600
+ variants:
+ - msix
+ run-on-projects:
+ by-variant:
+ msix:
+ by-test-platform:
+ windows11-64.*: built-projects
+ default: []
+ default: built-projects
+ tier:
+ by-variant:
+ msix: 2
+ default:
+ by-test-platform:
+ .*-asan.*: 2
+ .*-tsan.*: 2
+ macosx1100.*: 2
+ windows11.*: 1
+ default: default
+ chunks:
+ by-test-platform:
+ linux.*64-asan.*/opt: 16
+ linux.*64-tsan.*/opt: 15
+ windows1.-64-asan.*/opt: 9
+ default: 7
+ mozharness:
+ script: desktop_unittest.py
+ mochitest-flavor: browser
+ config:
+ by-test-platform:
+ windows.*:
+ - unittests/win_unittest.py
+ - unittests/thunderbird_extra.py
+ macosx.*64.*:
+ - unittests/mac_unittest.py
+ - unittests/thunderbird_extra.py
+ linux.*:
+ - unittests/linux_unittest.py
+ - remove_executables.py
+ - unittests/thunderbird_extra.py
+ instance-size:
+ by-test-platform:
+ linux.*64-tsan.*/opt: xlarge # runs out of memory on default/m3.large
+ default: default
+ allow-software-gl-layers: false
diff --git a/comm/taskcluster/ci/toolchain/clang.yml b/comm/taskcluster/ci/toolchain/clang.yml
new file mode 100644
index 0000000000..a74d39f612
--- /dev/null
+++ b/comm/taskcluster/ci/toolchain/clang.yml
@@ -0,0 +1,80 @@
+# 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/.
+---
+job-defaults:
+ treeherder:
+ kind: build
+ platform: toolchains/opt
+ tier: 1
+ run-on-projects: []
+ run:
+ using: toolchain-script
+ resources:
+ - 'build/build-clang/build-clang.py'
+ worker-type: b-linux-xlarge-gcp
+ worker:
+ max-run-time: 7200
+
+
+# The clang compilers defined below are the same as what's defined in
+# mozilla-central for Firefox builds, except that the Android compiler-rt
+# pieces have been left out.
+
+linux64-clang-16:
+ description: "Clang 16 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TL(clang-16)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: linux64-clang
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - linux64-clang-16-raw
+ - linux64-aarch64-compiler-rt-16
+ - linux64-x64-compiler-rt-16
+ - linux64-x86-compiler-rt-16
+ - macosx64-aarch64-compiler-rt-16
+ - macosx64-x64-compiler-rt-16
+ - wasm32-wasi-compiler-rt-16
+ - win32-compiler-rt-16
+ - win64-compiler-rt-16
+
+win64-clang-16:
+ description: "Clang-cl 16 toolchain build"
+ attributes:
+ local-toolchain: true
+ treeherder:
+ symbol: TW64(clang-16)
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 600
+ run:
+ script: repack-clang.sh
+ toolchain-alias:
+ by-project:
+ toolchains: null
+ default: win64-clang
+ toolchain-artifact: public/build/clang.tar.zst
+ fetches:
+ toolchain:
+ - linux64-cctools-port
+ - win64-clang-16-raw
+ - linux64-aarch64-compiler-rt-16
+ - linux64-x64-compiler-rt-16
+ - linux64-x86-compiler-rt-16
+ - macosx64-aarch64-compiler-rt-16
+ - macosx64-x64-compiler-rt-16
+ - wasm32-wasi-compiler-rt-16
+ - win32-compiler-rt-16
+ - win64-compiler-rt-16
diff --git a/comm/taskcluster/ci/toolchain/kind.yml b/comm/taskcluster/ci/toolchain/kind.yml
new file mode 100644
index 0000000000..c2e321e52d
--- /dev/null
+++ b/comm/taskcluster/ci/toolchain/kind.yml
@@ -0,0 +1,98 @@
+# 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: comm_taskgraph.loader.merge:loader
+reference-base-path: taskcluster/ci
+
+kind-dependencies:
+ - fetch
+ - packages
+
+reference-jobs:
+ - linux64-aarch64-compiler-rt-16
+ - linux64-binutils
+ - linux64-cbindgen
+ - linux64-cctools-port
+ - linux64-clang-16-profile
+ - linux64-clang-16-raw
+ - linux64-clang-16-stage1
+ - linux64-clang-mingw-x64
+ - linux64-clang-mingw-x86
+ - linux64-clang-tidy
+ - linux64-dump_syms
+ - linux64-fix-stacks
+ - linux64-grcov
+ - linux64-hfsplus
+ - linux64-libdmg
+ - linux64-llvm-symbolizer
+ - linux64-makecab
+ - linux64-mar-tools
+ - linux64-minidump-stackwalk
+ - linux64-mkbom
+ - linux64-msix-packaging
+ - linux64-nasm
+ - linux64-node
+ - linux64-pkgconf
+ - linux64-python
+ - linux64-rust
+ - linux64-rust-cross
+ - linux64-rust-dev
+ - linux64-rust-macos
+ - linux64-rust-macos-toolchain
+ - linux64-rust-size
+ - linux64-rust-toolchain
+ - linux64-rust-windows
+ - linux64-rust-windows-toolchain
+ - linux64-sccache
+ - linux64-toolchain-sysroot
+ - linux64-upx
+ - linux64-winchecksec
+ - linux64-wine
+ - linux64-x64-compiler-rt-16
+ - linux64-x86-compiler-rt-16
+ - linux64-xar
+ - macosx64-aarch64-compiler-rt-16
+ - macosx64-clang-16-raw
+ - macosx64-fix-stacks
+ - macosx64-minidump-stackwalk
+ - macosx64-node
+ - macosx64-sdk
+ - macosx64-sdk-toolchain
+ - macosx64-x64-compiler-rt-16
+ - mingw32-rust
+ - nsis
+ - sysroot-aarch64-linux-gnu
+ - sysroot-i686-linux-gnu
+ - sysroot-wasm32-wasi
+ - sysroot-x86_64-linux-gnu
+ - wasm32-wasi-compiler-rt
+ - win32-compiler-rt-16
+ - win32-fix-stacks
+ - win32-minidump-stackwalk
+ - win32-node
+ - win64-cbindgen
+ - win64-clang-16-raw
+ - win64-clang-16-stage1
+ - win64-compiler-rt-16
+ - win64-dump_syms
+ - win64-llvm-symbolizer
+ - win64-mozmake
+ - win64-nasm
+ - win64-node
+ - win64-python
+ - win64-rust
+ - win64-rust-size
+ - win64-sccache
+ - win64-vs2019
+ - win64-winchecksec
+
+transforms:
+ - gecko_taskgraph.transforms.try_job:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.cached_tasks:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+jobs-from:
+ - clang.yml
+ - libotr.yml
diff --git a/comm/taskcluster/ci/toolchain/libotr.yml b/comm/taskcluster/ci/toolchain/libotr.yml
new file mode 100644
index 0000000000..04e7765b05
--- /dev/null
+++ b/comm/taskcluster/ci/toolchain/libotr.yml
@@ -0,0 +1,102 @@
+# 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/.
+---
+
+job-defaults:
+ description: 'libotr library build'
+ worker-type: b-linux-gcp
+ worker:
+ max-run-time: 1800
+ treeherder:
+ kind: build
+ platform: toolchains/opt
+ tier: 1
+ run-on-projects: []
+ run:
+ using: comm-toolchain-script
+ script: build-libotr.sh
+ toolchain-artifact: public/build/libotr.tar.xz
+
+linux32-libotr:
+ treeherder:
+ symbol: TL(lib32otr)
+ run:
+ arguments: ['linux32']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-binutils
+ - sysroot-i686-linux-gnu
+
+linux64-libotr:
+ treeherder:
+ symbol: TL(libotr)
+ run:
+ arguments: ['linux64']
+ fetches:
+ toolchain:
+ - linux64-clang
+ - linux64-binutils
+ - sysroot-x86_64-linux-gnu
+
+linux-aarch64-libotr:
+ treeherder:
+ symbol: TL(libotr-aarch64)
+ tier: 2
+ run:
+ arguments: ['linux-aarch64']
+ fetches:
+ toolchain:
+ - sysroot-aarch64-linux-gnu
+ - linux64-clang
+ - linux64-binutils
+
+macosx64-x64-libotr:
+ treeherder:
+ symbol: TM(libotr)
+ worker:
+ env:
+ MACOS_SDK_DIR: "MacOSX13.3.sdk"
+ MACOS_TARGET_SDK: "10.12"
+ run:
+ arguments: ['macosx64']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cctools-port
+ - linux64-clang
+ # Uses the sdk for builds, not the -toolchain sdk
+ - macosx64-sdk
+
+macosx64-aarch64-libotr:
+ treeherder:
+ symbol: TM(libotr-aarch64)
+ worker:
+ env:
+ MACOS_SDK_DIR: "MacOSX13.3.sdk"
+ MACOS_TARGET_SDK: "11.0"
+ run:
+ arguments: ['macosx64-aarch64']
+ fetches:
+ toolchain:
+ - linux64-binutils
+ - linux64-cctools-port
+ - linux64-clang
+ - macosx64-sdk
+
+win32-libotr:
+ worker:
+ docker-image: {in-tree: tb-debian-mingw}
+ treeherder:
+ symbol: TW32(libotr)
+ run:
+ arguments: ['win32']
+
+win64-libotr:
+ worker:
+ docker-image: {in-tree: tb-debian-mingw}
+ treeherder:
+ symbol: TW64(libotr)
+ run:
+ arguments: ['win64']
diff --git a/comm/taskcluster/ci/upload-symbols/kind.yml b/comm/taskcluster/ci/upload-symbols/kind.yml
new file mode 100644
index 0000000000..68a9d439e9
--- /dev/null
+++ b/comm/taskcluster/ci/upload-symbols/kind.yml
@@ -0,0 +1,48 @@
+# 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: gecko_taskgraph.loader.multi_dep:loader
+
+group-by: platform
+
+transforms:
+ - gecko_taskgraph.transforms.upload_symbols:transforms
+ - gecko_taskgraph.transforms.job:transforms
+ - gecko_taskgraph.transforms.task:transforms
+
+kind-dependencies:
+ - build
+ - toolchain
+
+primary-dependency: build
+
+only-for-build-platforms:
+ - linux64-shippable/opt
+ - linux-shippable/opt
+ - macosx64-x64-shippable/opt
+ - macosx64-aarch64-shippable/opt
+ - win32-shippable/opt
+ - win64-shippable/opt
+
+job-template:
+ description: Upload Symbols
+ worker-type: b-linux-gcp
+ use-system-python: false
+ worker:
+ docker-image: {in-tree: "debian11-base"}
+ max-run-time: 900
+ env:
+ # {level} gets replaced in the upload_symbols transform
+ SYMBOL_SECRET: "project/comm/thunderbird/releng/build/level-{level}/gecko-symbol-upload"
+ MAKECAB: /builds/worker/fetches/makecab/makecab
+ MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
+ run:
+ using: mach
+ mach: {artifact-reference: "python toolkit/crashreporter/tools/upload_symbols.py <build/public/cidata/target.crashreporter-symbols-full.tar.zst>"}
+ sparse-profile: upload-symbols
+ scopes:
+ - secrets:get:project/comm/thunderbird/releng/build/level-{level}/gecko-symbol-upload
+ fetches:
+ toolchain:
+ - linux64-makecab