diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/taskcluster/ci | |
parent | Initial commit. (diff) | |
download | thunderbird-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')
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 |