Bug 1552960 - Port parts of bug 1551738 (rev 7144d26d331ccd17dc9c5b3a79f424fc53a0f1dc) and add artifact manifests. rs=bustage-fix
authorJorg K <jorgk@jorgk.com>
Tue, 21 May 2019 00:19:31 +0200
changeset 35648 7566abd1aa2cd2e6cd147ffb784851d777b924e9
parent 35647 84d133c011e6dc2adac11c506bd4fc38b657da48
child 35649 9efee8d57a4c2cb70d746fb1239a808795d83c87
push id392
push userclokep@gmail.com
push dateMon, 02 Sep 2019 20:17:19 +0000
reviewersbustage-fix
bugs1552960, 1551738
Bug 1552960 - Port parts of bug 1551738 (rev 7144d26d331ccd17dc9c5b3a79f424fc53a0f1dc) and add artifact manifests. rs=bustage-fix
taskcluster/ci/beetmover-checksums/kind.yml
taskcluster/ci/beetmover-repackage/kind.yml
taskcluster/ci/beetmover-source/kind.yml
taskcluster/ci/release-beetmover-source-checksums/kind.yml
taskcluster/ci/release-generate-checksums-beetmover/kind.yml
taskcluster/ci/release-source/kind.yml
taskcluster/comm_taskgraph/manifests/release_checksums.yml
taskcluster/comm_taskgraph/manifests/source_checksums.yml
taskcluster/comm_taskgraph/manifests/source_files.yml
taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml
taskcluster/comm_taskgraph/manifests/thunderbird_candidates_checksums.yml
taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml
taskcluster/comm_taskgraph/manifests/thunderbird_nightly_checksums.yml
--- a/taskcluster/ci/beetmover-checksums/kind.yml
+++ b/taskcluster/ci/beetmover-checksums/kind.yml
@@ -15,8 +15,12 @@ kind-dependencies:
 only-for-attributes:
     - nightly
     - shippable
 
 job-template:
     shipping-phase: promote
     attributes:
         artifact_prefix: public
+        artifact_map:
+            by-release-type:
+                beta|release.*|esr.*: comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates_checksums.yml
+                default: comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly_checksums.yml
--- a/taskcluster/ci/beetmover-repackage/kind.yml
+++ b/taskcluster/ci/beetmover-repackage/kind.yml
@@ -35,8 +35,13 @@ only-for-build-platforms:
     - linux-shippable/opt
     - linux64-shippable/opt
     - macosx64-shippable/opt
     - win32-shippable/opt
     - win64-shippable/opt
 
 job-template:
     shipping-phase: promote
+    attributes:
+        artifact_map:
+            by-release-type:
+                beta|release.*|esr.*: comm/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml
+                default: comm/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml
--- a/taskcluster/ci/beetmover-source/kind.yml
+++ b/taskcluster/ci/beetmover-source/kind.yml
@@ -11,9 +11,9 @@ transforms:
     - taskgraph.transforms.task:transforms
 
 kind-dependencies:
     - release-source-signing
 
 job-template:
     shipping-phase: promote
     attributes:
-        artifact_map: taskcluster/taskgraph/manifests/source_files.yml
+        artifact_map: comm/taskcluster/comm_taskgraph/manifests/source_files.yml
--- a/taskcluster/ci/release-beetmover-source-checksums/kind.yml
+++ b/taskcluster/ci/release-beetmover-source-checksums/kind.yml
@@ -10,9 +10,9 @@ transforms:
     - taskgraph.transforms.task:transforms
 
 kind-dependencies:
     - release-source-checksums-signing
 
 job-template:
     shipping-phase: promote
     attributes:
-        artifact_map: taskcluster/taskgraph/manifests/source_checksums.yml
+        artifact_map: comm/taskcluster/comm_taskgraph/manifests/source_checksums.yml
--- a/taskcluster/ci/release-generate-checksums-beetmover/kind.yml
+++ b/taskcluster/ci/release-generate-checksums-beetmover/kind.yml
@@ -8,8 +8,10 @@ transforms:
     - taskgraph.transforms.release_generate_checksums_beetmover:transforms
     - 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
--- a/taskcluster/ci/release-source/kind.yml
+++ b/taskcluster/ci/release-source/kind.yml
@@ -1,18 +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: taskgraph.loader.transform:loader
 
-loader: taskgraph.loader.transform:loader
+kind-dependencies:
+    - toolchain
 
 transforms:
     - taskgraph.transforms.build:transforms
     - taskgraph.transforms.build_attrs:transforms
     - taskgraph.transforms.build_lints:transforms
+    - taskgraph.transforms.use_toolchains:transforms
     - taskgraph.transforms.job:transforms
     - taskgraph.transforms.task:transforms
 
 job-defaults:
     shipping-phase: promote
     treeherder:
         symbol: Src
     worker-type: b-linux
new file mode 100644
--- /dev/null
+++ b/taskcluster/comm_taskgraph/manifests/release_checksums.yml
@@ -0,0 +1,68 @@
+# 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/.
+---
+s3_bucket_paths:
+    by-platform:
+        thunderbird-release:
+            - pub/thunderbird/candidates
+default_locales:  # if given an empty locale, use these locales
+    - en-US
+tasktype_map:  # Map task reference to task type.
+    release-generate-checksums: build
+    release-generate-checksums-signing: signing
+
+# A default entry, which the mappings below extend and override.
+# Final 'destinations' will be the product of:
+# s3_bucket_paths + destinations + locale_prefix + pretty_name
+default: &default
+    from:
+        - release-generate-checksums-signing
+    all_locales: true
+    description: "TO_BE_OVERRIDDEN"
+    locale_prefix: ''
+    source_path_modifier: ''
+    destinations:  # locale_prefix is appended
+        - ${version}-candidates/build${build_number}
+
+# Configuration for individual files. Extends 'default', above.
+mapping:
+    SHA256SUMMARY:
+        <<: *default
+        description: "Merkle-tree for the release artifacts with sha 256 hashes"
+        from:
+            - release-generate-checksums
+        pretty_name: SHA256SUMMARY
+        checksums_path: SHA256SUMMARY
+    SHA512SUMMARY:
+        <<: *default
+        description: "Merkle-tree for the release artifacts with sha 512 hashes"
+        from:
+            - release-generate-checksums
+        pretty_name: SHA512SUMMARY
+        checksums_path: SHA512SUMMARY
+    KEY:
+        <<: *default
+        description: "Public side of the key that was used to sign the release artifacts"
+        pretty_name: KEY
+        checksums_path: KEY
+    SHA256SUMS:
+        <<: *default
+        description: "Aggregated checksums with main installers details per platform in sha512 hashes"
+        pretty_name: SHA256SUMS
+        checksums_path: SHA256SUMS
+    SHA256SUMS.asc:
+        <<: *default
+        description: "Detached signature for the checksums file"
+        pretty_name: SHA256SUMS.asc
+        checksums_path: SHA256SUMS.asc
+    SHA512SUMS:
+        <<: *default
+        description: "Aggregated checksums with main installers details per platform in sha256 hashes"
+        pretty_name: SHA512SUMS
+        checksums_path: SHA512SUMS
+    SHA512SUMS.asc:
+        <<: *default
+        description: "Detached signature for the checksums file"
+        pretty_name: SHA512SUMS.asc
+        checksums_path: SHA512SUMS.asc
new file mode 100644
--- /dev/null
+++ b/taskcluster/comm_taskgraph/manifests/source_checksums.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/.
+---
+s3_bucket_paths:
+    by-platform:
+        thunderbird-source:
+            - pub/thunderbird/candidates
+default_locales:  # if given an empty locale, use these locales
+    - en-US
+tasktype_map:  # Map task reference to task type.
+    release-source-checksums-signing: signing
+
+# A default entry, which the mappings below extend and override.
+# Final 'destinations' will be the product of:
+# s3_bucket_paths + destinations + locale_prefix + pretty_name
+default: &default
+    from:
+        - release-source-checksums-signing
+    all_locales: false
+    description: "TO_BE_OVERRIDDEN"
+    locale_prefix: ''
+    source_path_modifier: ''
+    destinations:  # locale_prefix is appended
+        - ${version}-candidates/build${build_number}/beetmover-checksums/source
+
+# Configuration for individual files. Extends 'default', above.
+mapping:
+    target-source.checksums:
+        <<: *default
+        description: "Checksums file for the source zip files"
+        pretty_name:
+            by-platform:
+                thunderbird-source: thunderbird-${version}.checksums.beet
+        checksums_path:
+            by-platform:
+                thunderbird-source: thunderbird-${version}.checksums.beet
+    target-source.checksums.asc:
+        <<: *default
+        description: "Detached signature for the checksums file"
+        pretty_name:
+            by-platform:
+                thunderbird-source: thunderbird-${version}.checksums.asc
+        checksums_path:
+            by-platform:
+                thunderbird-source: thunderbird-${version}.checksums.asc
new file mode 100644
--- /dev/null
+++ b/taskcluster/comm_taskgraph/manifests/source_files.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/.
+---
+s3_bucket_paths:
+    by-platform:
+        thunderbird-source:
+            - pub/thunderbird/candidates
+default_locales:  # if given an empty locale, use these locales
+    - en-US
+tasktype_map:  # Map task reference to task type.
+    release-source-signing: signing
+
+# A default entry, which the mappings below extend and override.
+# Final 'destinations' will be the product of:
+# s3_bucket_paths + destinations + locale_prefix + pretty_name
+default: &default
+    from:
+        - release-source-signing
+    all_locales: false
+    description: "TO_BE_OVERRIDDEN"
+    locale_prefix: ''
+    source_path_modifier: ''
+    destinations:  # locale_prefix is appended
+        - ${version}-candidates/build${build_number}/source
+
+# Configuration for individual files. Extends 'default', above.
+mapping:
+    source.tar.xz:
+        <<: *default
+        description: "Source file with the in-tree code archived"
+        pretty_name:
+            by-platform:
+                thunderbird-source: thunderbird-${version}.source.tar.xz
+        checksums_path:
+            by-platform:
+                thunderbird-source: source/thunderbird-${version}.source.tar.xz
+    source.tar.xz.asc:
+        <<: *default
+        description: "Detached signature for the source file"
+        pretty_name:
+            by-platform:
+                thunderbird-source: thunderbird-${version}.source.tar.xz.asc
+        checksums_path:
+            by-platform:
+                thunderbird-source: source/thunderbird-${version}.source.tar.xz.asc
new file mode 100644
--- /dev/null
+++ b/taskcluster/comm_taskgraph/manifests/thunderbird_candidates.yml
@@ -0,0 +1,368 @@
+# 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 contains exhaustive information about all the release artifacs that
+# are needed within a type of release.
+#
+# Structure
+# --------
+# `s3_bucket_paths`       -- prefix to be used per product to correctly access our S3 buckets
+# `default_locales`       -- list of locales to be used when composing upstream artifacts or the list of
+#                      destinations. If given an empty locale, it uses these locales instead.
+# `tasktype_map`          -- mapping between task reference and task type, particularly usefule when
+#                      composing the upstreamArtifacts for scriptworker.
+# `platform_names`        -- various platform mappings used in reckoning artifacts or other paths
+# `default`               -- a default entry, which the mappings extend and override in such a way that
+#                      final path full-destinations will be a concatenation of the following:
+#                      `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name`
+# `from`                  -- specifies the dependency(ies) from which to expect the particular artifact
+# `all_locales`           -- boolean argument to specify whether that particular artifact is to be expected
+#                      for all locales or just the default one
+# `description`           -- brief summary of what that artifact is
+# `locale_prefix`         -- prefix to be used in the final destination paths, whether that's for default locale or not
+# `source_path_modifier`  -- any parent dir that might be used in between artifact prefix and filename at source location
+#                            for example `public/build` vs `public/build/ach/`.
+# `destinations`          -- final list of directories where to push the artifacts in S3
+# `pretty_name`           -- the final name the artifact will have at destination
+# `checksums_path`        -- the name to identify one artifact within the checksums file
+# `not_for_platforms`     -- filtering option to avoid associating an artifact with a specific platform
+# `only_for_platforms`    -- filtering option to exclusively include the association of an artifact for a specific platform
+# `partials_only`         -- filtering option to avoid associating an artifact unless this flag is present
+# `update_balrog_manifest`-- flag needed downstream in beetmover jobs to reckon the balrog manifest
+# `from_buildid`          -- flag needed downstream in beetmover jobs to reckon the balrog manifest
+
+s3_bucket_paths:
+    - pub/thunderbird/candidates
+default_locales:
+    - en-US
+tasktype_map:
+    build: build
+    signing: signing
+    mar-signing: signing
+    partials-signing: signing
+    repackage: repackage
+    repackage-signing: repackage
+    repackage-signing-msi: repackage
+    release-sign-and-push-langpacks: scriptworker
+platform_names:
+    path_platform:
+        by-platform:
+            linux-shippable: 'linux-i686'
+            linux64-shippable: 'linux-x86_64'
+            linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
+            macosx64-shippable: 'mac'
+            win32-shippable: 'win32'
+            win64-shippable: 'win64'
+            win64-aarch64-shippable: 'win64-aarch64'
+            win64-asan-reporter-nightly: 'win64-asan-reporter'
+    tools_platform:
+        by-platform:
+            linux-shippable: 'linux'
+            linux64-shippable: 'linux64'
+            linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
+            macosx64-shippable: 'macosx64'
+            win32-shippable: 'win32'
+            win64-shippable: 'win64'
+            win64-aarch64-shippable: 'win64-aarch64'
+            win64-asan-reporter-nightly: 'win64-asan-reporter'
+    filename_platform:
+        by-platform:
+            linux-shippable: 'linux'
+            linux64-shippable: 'linux64'
+            linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
+            macosx64-shippable: 'macosx64'
+            win32-shippable: 'win32'
+            win64-shippable: 'win64'
+            win64-aarch64-shippable: 'win64_aarch64'
+            win64-asan-reporter-nightly: 'win64-asan-reporter'
+
+default: &default
+    from:
+        - build
+    all_locales: false
+    description: "TO_BE_OVERRIDDEN"
+    locale_prefix: '${locale}/'
+    source_path_modifier:
+        by-locale:
+            default: '${locale}'
+            en-US: ''
+    destinations:
+        - ${version}-candidates/build${build_number}/${path_platform}
+
+mapping:
+    buildhub.json:
+        <<: *default
+        all_locales: false
+        description: "Build related information to be consumed by Buildhub service"
+        pretty_name: buildhub.json
+        checksums_path: ${path_platform}/${locale}/buildhub.json
+    target.common.tests.tar.gz:
+        <<: *default
+        description: "Mixture of reftests, mochitests, UI and others, commonly bundled together in a test suite"
+        pretty_name: thunderbird-${version}.common.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.common.tests.tar.gz
+    target.cppunittest.tests.tar.gz:
+        <<: *default
+        description: "C++ unittests related in-tree test infrastructure"
+        pretty_name: thunderbird-${version}.cppunittest.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.cppunittest.tests.tar.gz
+    target.crashreporter-symbols.zip:
+        <<: *default
+        description: "Crashreporter symbols to be consumed by Socorro"
+        pretty_name: thunderbird-${version}.crashreporter-symbols.zip
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.crashreporter-symbols.zip
+    target.json:
+        <<: *default
+        description: "Various compile and moz_app flags baked together in a json file"
+        pretty_name: thunderbird-${version}.json
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.json
+    target.mochitest.tests.tar.gz:
+        <<: *default
+        description: "Results for running the mochitest testing framework via Javascript function calls"
+        pretty_name: thunderbird-${version}.mochitest.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.mochitest.tests.tar.gz
+    target.mozinfo.json:
+        <<: *default
+        description: "Various compile and moz_app flags baked together in a json file"
+        pretty_name: thunderbird-${version}.mozinfo.json
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.mozinfo.json
+    target.reftest.tests.tar.gz:
+        <<: *default
+        description: "Results for running the reftest testing framework via display of two Web pages comparison"
+        pretty_name: thunderbird-${version}.reftest.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.reftest.tests.tar.gz
+    target.talos.tests.tar.gz:
+        <<: *default
+        description: "Results for running the talos testing framework to measure performance"
+        pretty_name: thunderbird-${version}.talos.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.talos.tests.tar.gz
+    target.awsy.tests.tar.gz:
+        <<: *default
+        description: "Results for running the awsy testing framework to track memory usage"
+        pretty_name: thunderbird-${version}.awsy.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.awsy.tests.tar.gz
+    target.test_packages.json:
+        <<: *default
+        description: "File containing metadata about all other files and testing harnesses specifics"
+        pretty_name: thunderbird-${version}.test_packages.json
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.test_packages.json
+    target.txt:
+        <<: *default
+        description: "File containing buildid and revision"
+        pretty_name: thunderbird-${version}.txt
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.txt
+    target.web-platform.tests.tar.gz:
+        <<: *default
+        description: "Results for running the webplatform testing framework to cover standard Web platform features"
+        pretty_name: thunderbird-${version}.web-platform.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.web-platform.tests.tar.gz
+    target.xpcshell.tests.tar.gz:
+        <<: *default
+        description: "Results for running the xpcshell testing framework to enable XPConnect console application"
+        pretty_name: thunderbird-${version}.xpcshell.tests.tar.gz
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.xpcshell.tests.tar.gz
+    target_info.txt:
+        <<: *default
+        description: "File containing the buildID"
+        locale_prefix: ''
+        pretty_name: ${filename_platform}_info.txt
+        checksums_path: ${filename_platform}_info.txt
+        destinations:
+            - ${version}-candidates/build${build_number}
+    mozharness.zip:
+        <<: *default
+        description: "File containing the mozharness set of scripts and configuration used by various automation tools"
+        pretty_name: mozharness.zip
+        checksums_path: ${path_platform}/${locale}/mozharness.zip
+    target.jsshell.zip:
+        <<: *default
+        description: "Set of shells to allow test snippets of Javascript code without needing to reload the page"
+        locale_prefix: ''
+        pretty_name: jsshell-${path_platform}.zip
+        checksums_path: jsshell/jsshell-${path_platform}.zip
+        destinations:
+            - ${version}-candidates/build${build_number}/jsshell
+    target.langpack.xpi:
+        <<: *default
+        all_locales: true
+        description: "Localized repack that grabs a packaged en-US Thunderbird and repackages it as locale-specific Thunderbird"
+        locale_prefix: ''
+        source_path_modifier: '${locale}'
+        from:
+            - release-sign-and-push-langpacks
+        only_for_platforms:
+            - linux-shippable
+            - linux64-shippable
+            - macosx64-shippable
+            - win32-shippable
+            - win64-shippable
+        pretty_name: ${locale}.xpi
+        checksums_path: ${path_platform}/xpi/${locale}.xpi
+        destinations:
+            - ${version}-candidates/build${build_number}/${path_platform}/xpi
+    mar:
+        <<: *default
+        description: "Alongside `mbsdiff`, a tool used to generate partials"
+        locale_prefix: ''
+        source_path_modifier: 'host/bin'
+        pretty_name: ${tools_platform}/mar
+        checksums_path: mar-tools/${tools_platform}/mar
+        not_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+        destinations:
+            - ${version}-candidates/build${build_number}/mar-tools
+    mbsdiff:
+        <<: *default
+        description: "Alongside `mar`, a tool used to generate partials"
+        locale_prefix: ''
+        source_path_modifier: 'host/bin'
+        pretty_name: ${tools_platform}/mbsdiff
+        checksums_path: mar-tools/${tools_platform}/mbsdiff
+        not_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+        destinations:
+            - ${version}-candidates/build${build_number}/mar-tools
+    mar.exe:
+        <<: *default
+        description: "Alongside `mbsdiff.exe`, a tool used to generate partials for Windows platforms"
+        locale_prefix: ''
+        source_path_modifier: 'host/bin'
+        pretty_name: ${tools_platform}/mar.exe
+        checksums_path: mar-tools/${tools_platform}/mar.exe
+        only_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+        destinations:
+            - ${version}-candidates/build${build_number}/mar-tools
+    mbsdiff.exe:
+        <<: *default
+        locale_prefix: ''
+        description: "Alongside `mar.exe`, a tool used to generate partials for Windows platforms"
+        source_path_modifier: 'host/bin'
+        pretty_name: ${tools_platform}/mbsdiff.exe
+        checksums_path: mar-tools/${tools_platform}/mbsdiff.exe
+        only_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+        destinations:
+            - ${version}-candidates/build${build_number}/mar-tools
+    target.tar.bz2:
+        <<: *default
+        description: "Main installer for Linux platforms"
+        all_locales: true
+        from:
+            - signing
+        only_for_platforms:
+            - linux-shippable
+            - linux64-shippable
+        pretty_name: thunderbird-${version}.tar.bz2
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.tar.bz2
+    target.tar.bz2.asc:
+        <<: *default
+        description: "Detached signature for the checksums file"
+        all_locales: true
+        from:
+            - signing
+        only_for_platforms:
+            - linux-shippable
+            - linux64-shippable
+        pretty_name: thunderbird-${version}.tar.bz2.asc
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.tar.bz2.asc
+    target.dmg:
+        <<: *default
+        description: "Main package installer for Mac OS X platforms"
+        all_locales: true
+        from:
+            - repackage
+        only_for_platforms:
+            - macosx64-shippable
+        pretty_name: thunderbird ${version}.dmg
+        checksums_path: ${path_platform}/${locale}/thunderbird ${version}.dmg
+    target.zip:
+        <<: *default
+        description: "Main package installer for Windows platforms"
+        all_locales: true
+        from:
+            - signing
+        only_for_platforms:
+            - win64-shippable
+            - win32-shippable
+            - win64-aarch64-shippable
+        pretty_name: thunderbird-${version}.zip
+        checksums_path: ${path_platform}/${locale}/thunderbird-${version}.zip
+    target.installer.exe:
+        <<: *default
+        description: "Main installer for Windows platforms"
+        all_locales: true
+        from:
+            - repackage-signing
+        only_for_platforms:
+            - win64-shippable
+            - win32-shippable
+            - win64-aarch64-shippable
+        pretty_name: thunderbird Setup ${version}.exe
+        checksums_path: ${path_platform}/${locale}/thunderbird Setup ${version}.exe
+    target.stub-installer.exe:
+        <<: *default
+        description: "Stub installer for Win32 platforms"
+        all_locales: true
+        from:
+            - repackage-signing
+        only_for_platforms:
+            - win32-shippable
+        pretty_name: thunderbird Installer.exe
+        checksums_path: ${path_platform}/${locale}/thunderbird Installer.exe
+    target.installer.msi:
+        <<: *default
+        description: "Windows installer for MSI platform"
+        all_locales: true
+        from:
+            - repackage-signing-msi
+        only_for_platforms:
+            - win64-shippable
+            - win32-shippable
+        pretty_name: thunderbird Setup ${version}.msi
+        checksums_path: ${path_platform}/${locale}/thunderbird Setup ${version}.msi
+    target.complete.mar:
+        <<: *default
+        description: "Complete MAR to serve as updates"
+        all_locales: true
+        from:
+            - mar-signing
+        pretty_name: thunderbird-${version}.complete.mar
+        checksums_path: update/${path_platform}/${locale}/thunderbird-${version}.complete.mar
+        update_balrog_manifest: true
+        destinations:
+            - ${version}-candidates/build${build_number}/update/${path_platform}
+    target.bz2.complete.mar:
+        <<: *default
+        description: "Complete MAR with bz2 compression and SHA1 signing to serve as updates"
+        all_locales: true
+        from:
+            - mar-signing
+        pretty_name: thunderbird-${version}.bz2.complete.mar
+        checksums_path: update/${path_platform}/${locale}/thunderbird-${version}.bz2.complete.mar
+        update_balrog_manifest: true
+        balrog_format: bz2
+        destinations:
+            - ${version}-candidates/build${build_number}/update/${path_platform}
+    ${partial}:
+        <<: *default
+        description: "Partials MAR files to serve as updates"
+        all_locales: true
+        from:
+            - partials-signing
+        partials_only: true
+        pretty_name: thunderbird-${previous_version}-${version}.partial.mar
+        checksums_path: update/${path_platform}/${locale}/thunderbird-${previous_version}-${version}.partial.mar
+        update_balrog_manifest: true
+        from_buildid: ${from_buildid}
+        destinations:
+            - ${version}-candidates/build${build_number}/update/${path_platform}
new file mode 100644
--- /dev/null
+++ b/taskcluster/comm_taskgraph/manifests/thunderbird_candidates_checksums.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/.
+---
+# This file contains exhaustive information about all the release artifacs that
+# are needed within a type of release.
+#
+# Structure
+# --------
+# `s3_bucket_paths`       -- prefix to be used per product to correctly access our S3 buckets
+# `default_locales`       -- list of locales to be used when composing upstream artifacts or the list of
+#                      destinations. If given an empty locale, it uses these locales instead.
+# `tasktype_map`          -- mapping between task reference and task type, particularly usefule when
+#                      composing the upstreamArtifacts for scriptworker.
+# `platform_names`        -- various platform mappings used in reckoning artifacts or other paths
+# `default`               -- a default entry, which the mappings extend and override in such a way that
+#                      final path full-destinations will be a concatenation of the following:
+#                      `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name`
+# `from`                  -- specifies the dependency(ies) from which to expect the particular artifact
+# `all_locales`           -- boolean argument to specify whether that particular artifact is to be expected
+#                      for all locales or just the default one
+# `description`           -- brief summary of what that artifact is
+# `locale_prefix`         -- prefix to be used in the final destination paths, whether that's for default locale or not
+# `source_path_modifier`  -- any parent dir that might be used in between artifact prefix and filename at source location
+#                            for example `public/build` vs `public/build/ach/`.
+# `destinations`          -- final list of directories where to push the artifacts in S3
+# `pretty_name`           -- the final name the artifact will have at destination
+# `checksums_path`        -- the name to identify one artifact within the checksums file
+# `not_for_platforms`     -- filtering option to avoid associating an artifact with a specific platform
+# `only_for_platforms`    -- filtering option to exclusively include the association of an artifact for a specific platform
+# `partials_only`         -- filtering option to avoid associating an artifact unless this flag is present
+# `update_balrog_manifest`-- flag needed downstream in beetmover jobs to reckon the balrog manifest
+# `from_buildid`          -- flag needed downstream in beetmover jobs to reckon the balrog manifest
+
+s3_bucket_paths:
+    default: pub/thunderbird/candidates
+default_locales:
+    - en-US
+tasktype_map:
+    checksums-signing: signing
+    release-beetmover-signed-langpacks: signing
+platform_names:
+    path_platform:
+        by-platform:
+            linux-shippable: 'linux-i686'
+            linux64-shippable: 'linux-x86_64'
+            linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
+            macosx64-shippable: 'mac'
+            win32-shippable: 'win32'
+            win64-shippable: 'win64'
+            win64-aarch64-shippable: 'win64-aarch64'
+            win64-asan-reporter-nightly: 'win64-asan-reporter'
+            linux: 'linux-i686'
+            linux64: 'linux-x86_64'
+            macosx64: 'mac'
+            win32: 'win32'
+            win64: 'win64'
+
+default: &default
+    from:
+        - checksums-signing
+    all_locales: true
+    description: "TO_BE_OVERRIDDEN"
+    locale_prefix: '${locale}/'
+    source_path_modifier: ''
+    destinations:
+        - ${version}-candidates/build${build_number}/beetmover-checksums/${path_platform}
+
+mapping:
+    target.checksums:
+        <<: *default
+        description: "Checksums file containing size, hash, sha algorithm and filename"
+        pretty_name: thunderbird-${version}.checksums.beet
+        checksums_path: beetmover-checksums/${path_platform}/${locale}/thunderbird-${version}.checksums.beet
+    target.checksums.asc:
+        <<: *default
+        description: "Detached signature for the checksums file"
+        pretty_name: thunderbird-${version}.checksums.asc
+        checksums_path: beetmover-checksums/${path_platform}/${locale}/thunderbird-${version}.checksums.asc
+    target-langpack.checksums:
+        <<: *default
+        description: "Checksums file containing size, hash, sha algorithm and filename for the langpack"
+        locale_prefix: ''
+        from:
+            - release-beetmover-signed-langpacks
+        pretty_name: ${locale}.checksums.beet
+        checksums_path: beetmover-checksums/${path_platform}/xpi/${locale}.checksums.beet
+        destinations:
+            - ${version}-candidates/build${build_number}/beetmover-checksums/${path_platform}/xpi
new file mode 100644
--- /dev/null
+++ b/taskcluster/comm_taskgraph/manifests/thunderbird_nightly.yml
@@ -0,0 +1,440 @@
+# 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 contains exhaustive information about all the release artifacs that
+# are needed within a type of release.
+#
+# Structure
+# --------
+# `s3_bucket_paths`       -- prefix to be used per product to correctly access our S3 buckets
+# `default_locales`       -- list of locales to be used when composing upstream artifacts or the list of
+#                      destinations. If given an empty locale, it uses these locales instead.
+# `tasktype_map`          -- mapping between task reference and task type, particularly usefule when
+#                      composing the upstreamArtifacts for scriptworker.
+# `platform_names`        -- various platform mappings used in reckoning artifacts or other paths
+# `default`               -- a default entry, which the mappings extend and override in such a way that
+#                      final path full-destinations will be a concatenation of the following:
+#                      `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name`
+# `from`                  -- specifies the dependency(ies) from which to expect the particular artifact
+# `all_locales`           -- boolean argument to specify whether that particular artifact is to be expected
+#                      for all locales or just the default one
+# `description`           -- brief summary of what that artifact is
+# `locale_prefix`         -- prefix to be used in the final destination paths, whether that's for default locale or not
+# `source_path_modifier`  -- any parent dir that might be used in between artifact prefix and filename at source location
+#                            for example `public/build` vs `public/build/ach/`.
+# `destinations`          -- final list of directories where to push the artifacts in S3
+# `pretty_name`           -- the final name the artifact will have at destination
+# `checksums_path`        -- the name to identify one artifact within the checksums file
+# `not_for_platforms`     -- filtering option to avoid associating an artifact with a specific platform
+# `only_for_platforms`    -- filtering option to exclusively include the association of an artifact for a specific platform
+# `partials_only`         -- filtering option to avoid associating an artifact unless this flag is present
+# `update_balrog_manifest`-- flag needed downstream in beetmover jobs to reckon the balrog manifest
+# `from_buildid`          -- flag needed downstream in beetmover jobs to reckon the balrog manifest
+
+s3_bucket_paths:
+    - pub/thunderbird/nightly
+default_locales:
+    - en-US
+tasktype_map:
+    build: build
+    signing: signing
+    mar-signing: signing
+    partials-signing: signing
+    repackage: repackage
+    repackage-signing: repackage
+    repackage-signing-msi: repackage
+platform_names:
+    filename_platform:
+        by-platform:
+            linux-shippable: 'linux-i686'
+            linux64-shippable: 'linux-x86_64'
+            linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
+            macosx64-shippable: 'mac'
+            win32-shippable: 'win32'
+            win64-shippable: 'win64'
+            win64-aarch64-shippable: 'win64-aarch64'
+            win64-asan-reporter-nightly: 'win64-asan-reporter'
+    stage_platform:
+        by-platform:
+            linux-shippable: 'linux'
+            linux64-asan-reporter-nightly: 'linux64-asan-reporter'
+            linux64-shippable: 'linux64'
+            macosx64-shippable: 'macosx64'
+            win32-shippable: 'win32'
+            win64-shippable: 'win64'
+            win64-aarch64-shippable: 'win64-aarch64'
+            win64-asan-reporter-nightly: 'win64-asan-reporter'
+
+default: &default
+    from:
+        - build
+    all_locales: false
+    description: "TO_BE_OVERRIDDEN"
+    locale_prefix: ''
+    source_path_modifier:
+        by-locale:
+            default: '${locale}'
+            en-US: ''
+    destinations:
+        by-locale:
+            en-US:
+                - ${year}/${month}/${upload_date}-${branch}
+                - latest-${branch}
+            default:
+                - ${year}/${month}/${upload_date}-${branch}-l10n
+                - latest-${branch}-l10n
+
+mapping:
+    buildhub.json:
+        <<: *default
+        description: "Build related information to be consumed by Buildhub service"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.buildhub.json
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.buildhub.json
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    target.common.tests.tar.gz:
+        <<: *default
+        description: "Mixture of reftests, mochitests, UI and others, commonly bundled together in a test suite"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.common.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.common.tests.tar.gz
+    target.cppunittest.tests.tar.gz:
+        <<: *default
+        description: "C++ unittests related in-tree test infrastructure"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
+    target.crashreporter-symbols.zip:
+        <<: *default
+        description: "Crashreporter symbols to be consumed by Socorro"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
+        not_for_platforms:
+            - linux64-asan-reporter-nightly
+            - win64-asan-reporter-nightly
+    target.json:
+        <<: *default
+        description: "Various compile and moz_app flags baked together in a json file"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.json
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.json
+    target.mochitest.tests.tar.gz:
+        <<: *default
+        description: "Results for running the mochitest testing framework via Javascript function calls"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
+    target.mozinfo.json:
+        <<: *default
+        description: "Various compile and moz_app flags baked together in a json file"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.mozinfo.json
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.mozinfo.json
+    target.reftest.tests.tar.gz:
+        <<: *default
+        description: "Results for running the reftest testing framework via display of two Web pages comparison"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
+    target.talos.tests.tar.gz:
+        <<: *default
+        description: "Results for running the talos testing framework to measure performance"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
+    target.awsy.tests.tar.gz:
+        <<: *default
+        description: "Results for running the awsy testing framework to track memory usage"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
+    target.test_packages.json:
+        <<: *default
+        description: "File containing metadata about all other files and testing harnesses specifics"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.test_packages.json
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.test_packages.json
+    target.txt:
+        <<: *default
+        description: "File containing buildid and revision"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.txt
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.txt
+    target.web-platform.tests.tar.gz:
+        <<: *default
+        description: "Results for running the webplatform testing framework to cover standard Web platform features"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
+    target.xpcshell.tests.tar.gz:
+        <<: *default
+        description: "Results for running the xpcshell testing framework to enable XPConnect console application"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
+    target_info.txt:
+        <<: *default
+        description: "File containing the buildID"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}_info.txt
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}_info.txt
+    mozharness.zip:
+        <<: *default
+        description: "File containing the mozharness set of scripts and configuration used by various automation tools"
+        pretty_name: mozharness.zip
+        checksums_path: mozharness.zip
+    target.jsshell.zip:
+        <<: *default
+        description: "Set of shells to allow test snippets of Javascript code without needing to reload the page"
+        pretty_name: jsshell-${filename_platform}.zip
+        checksums_path: jsshell-${filename_platform}.zip
+        not_for_platforms:
+            - linux64-asan-reporter-nightly
+            - win64-asan-reporter-nightly
+    target.langpack.xpi:
+        <<: *default
+        all_locales: true
+        description: "Localized repack that grabs a packaged en-US Thunderbird and repackages it as locale-specific Thunderbird"
+        from:
+            - build
+        only_for_platforms:
+            - linux-shippable
+            - linux64-shippable
+            - macosx64-shippable
+            - win64-shippable
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+            - win64-asan-reporter-nightly
+            - linux64-asan-reporter-nightly
+        pretty_name: thunderbird-${version}.${locale}.langpack.xpi
+        checksums_path: thunderbird-${version}.${locale}.langpack.xpi
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n/${filename_platform}/xpi
+                    - latest-${branch}-l10n/${filename_platform}/xpi
+    mar:
+        <<: *default
+        description: "Alongside `mbsdiff`, a tool used to generate partials"
+        source_path_modifier: 'host/bin'
+        pretty_name: mar
+        checksums_path: mar
+        not_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+            - win64-asan-reporter-nightly
+        destinations:
+            - ${year}/${month}/${upload_date}-${branch}/mar-tools/${stage_platform}
+            - latest-${branch}/mar-tools/${stage_platform}
+    mbsdiff:
+        <<: *default
+        description: "Alongside `mar`, a tool used to generate partials"
+        source_path_modifier: 'host/bin'
+        pretty_name: mbsdiff
+        checksums_path: mbsdiff
+        not_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+            - win64-asan-reporter-nightly
+        destinations:
+            - ${year}/${month}/${upload_date}-${branch}/mar-tools/${stage_platform}
+            - latest-${branch}/mar-tools/${stage_platform}
+    mar.exe:
+        <<: *default
+        description: "Alongside `mbsdiff.exe`, a tool used to generate partials for Windows platforms"
+        source_path_modifier: 'host/bin'
+        pretty_name: mar.exe
+        checksums_path: mar.exe
+        only_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+            - win64-asan-reporter-nightly
+        destinations:
+            - ${year}/${month}/${upload_date}-${branch}/mar-tools/${stage_platform}
+            - latest-${branch}/mar-tools/${stage_platform}
+    mbsdiff.exe:
+        <<: *default
+        description: "Alongside `mar.exe`, a tool used to generate partials for Windows platforms"
+        source_path_modifier: 'host/bin'
+        pretty_name: mbsdiff.exe
+        checksums_path: mbsdiff.exe
+        only_for_platforms:
+            - win32-shippable
+            - win64-shippable
+            - win64-aarch64-shippable
+            - win64-asan-reporter-nightly
+        destinations:
+            - ${year}/${month}/${upload_date}-${branch}/mar-tools/${stage_platform}
+            - latest-${branch}/mar-tools/${stage_platform}
+    target.tar.bz2:
+        <<: *default
+        description: "Main installer for Linux platforms"
+        all_locales: true
+        from:
+            - signing
+        only_for_platforms:
+            - linux-shippable
+            - linux64-shippable
+            - linux64-asan-reporter-nightly
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.tar.bz2
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.tar.bz2
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    target.tar.bz2.asc:
+        <<: *default
+        description: "Detached signature for the checksums file"
+        all_locales: true
+        from:
+            - signing
+        only_for_platforms:
+            - linux-shippable
+            - linux64-shippable
+            - linux64-asan-reporter-nightly
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.tar.bz2.asc
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.tar.bz2.asc
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    target.dmg:
+        <<: *default
+        description: "Main package installer for Mac OS X platforms"
+        all_locales: true
+        from:
+            - repackage
+        only_for_platforms:
+            - macosx64-shippable
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.dmg
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.dmg
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    target.zip:
+        <<: *default
+        description: "Main package installer for Windows platforms"
+        all_locales: true
+        from:
+            - signing
+        only_for_platforms:
+            - win64-shippable
+            - win32-shippable
+            - win64-aarch64-shippable
+            - win64-asan-reporter-nightly
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.zip
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.zip
+    target.installer.exe:
+        <<: *default
+        description: "Main installer for Windows platforms"
+        all_locales: true
+        from:
+            - repackage-signing
+        only_for_platforms:
+            - win64-shippable
+            - win32-shippable
+            - win64-aarch64-shippable
+            - win64-asan-reporter-nightly
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.installer.exe
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.installer.exe
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    target.stub-installer.exe:
+        <<: *default
+        description: "Stub installer for Win32 platforms"
+        all_locales: true
+        from:
+            - repackage-signing
+        only_for_platforms:
+            - win32-shippable
+        pretty_name: thunderbird Installer.${locale}.exe
+        checksums_path: thunderbird Installer.${locale}.exe
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    target.installer.msi:
+        <<: *default
+        description: "Windows installer for MSI platform"
+        all_locales: true
+        from:
+            - repackage-signing-msi
+        only_for_platforms:
+            - win64-shippable
+            - win32-shippable
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.installer.msi
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.installer.msi
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    target.complete.mar:
+        <<: *default
+        description: "The main installer we ship our mobile products baked within"
+        all_locales: true
+        from:
+            - mar-signing
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.complete.mar
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.complete.mar
+        update_balrog_manifest: true
+        destinations:
+            by-locale:
+                en-US:
+                    - ${year}/${month}/${upload_date}-${branch}
+                    - latest-${branch}
+                    - latest-${branch}-l10n
+                default:
+                    - ${year}/${month}/${upload_date}-${branch}-l10n
+                    - latest-${branch}-l10n
+    ${partial}:
+        <<: *default
+        description: "Partials MAR files to serve as updates"
+        all_locales: true
+        from:
+            - partials-signing
+        partials_only: true
+        pretty_name: thunderbird-${branch}-${version}-${filename_platform}-${locale}-${from_buildid}-${buildid}.partial.mar
+        checksums_path: thunderbird-${branch}-${version}-${filename_platform}-${locale}-${from_buildid}-${buildid}.partial.mar
+        update_balrog_manifest: true
+        from_buildid: ${from_buildid}
+        destinations:
+            by-locale:
+                en-US:
+                    - partials/${year}/${month}/${upload_date}-${branch}
+                default:
+                    - partials/${year}/${month}/${upload_date}-${branch}-l10n
new file mode 100644
--- /dev/null
+++ b/taskcluster/comm_taskgraph/manifests/thunderbird_nightly_checksums.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/.
+---
+s3_bucket_paths:
+    default: pub/thunderbird/nightly
+default_locales:  # if given an empty locale, use these locales
+    - en-US
+tasktype_map:  # Map task reference to task type.
+    checksums-signing: signing
+platform_names:
+    filename_platform:
+        by-platform:
+            linux-shippable: 'linux-i686'
+            linux64-shippable: 'linux-x86_64'
+            linux64-asan-reporter-nightly: 'linux-x86_64-asan-reporter'
+            macosx64-shippable: 'mac'
+            win32-shippable: 'win32'
+            win64-shippable: 'win64'
+            win64-aarch64-shippable: 'win64-aarch64'
+            win64-asan-reporter-nightly: 'win64-asan-reporter'
+
+# A default entry, which the mappings below extend and override.
+# Final 'destinations' will be the product of:
+# s3_bucket_paths + destinations + locale_prefix + pretty_name
+default: &default
+    from:
+        - checksums-signing
+    all_locales: true
+    description: "TO_BE_OVERRIDDEN"
+    locale_prefix: ''
+    source_path_modifier: ''
+    destinations:  # locale_prefix is appended
+        by-locale:
+            en-US:
+                - ${year}/${month}/${upload_date}-${branch}
+                - latest-${branch}
+                - latest-${branch}-l10n
+            default:
+                - ${year}/${month}/${upload_date}-${branch}-l10n
+                - latest-${branch}-l10n
+
+# Configuration for individual files. Extends 'default', above.
+mapping:
+    target.checksums:
+        <<: *default
+        description: "Checksums file containing size, hash, sha algorithm and filename"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.checksums
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.checksums
+    target.checksums.asc:
+        <<: *default
+        description: "Detached signature for the checksums file"
+        pretty_name: thunderbird-${version}.${locale}.${filename_platform}.checksums.asc
+        checksums_path: thunderbird-${version}.${locale}.${filename_platform}.checksums.asc