From adf4ae78bfa88396545bc21357675e6e6fb32a1f Mon Sep 17 00:00:00 2001 From: Ben Hearsum Date: Thu, 30 Sep 2021 13:35:17 +0000 Subject: [PATCH] Bug 1724466: RELENG-630: Add support for publishing MSIX packages to archive.mozilla.org. r=releng-reviewers,jmaher This is a lot of copy/paste, but there's a couple of notable things: * MSIX packages are multilocale. I chose to create a new `multi` folder for them rather than put them in the `en-US` folder. * Due to the above, the packages we ship come out of a new repackage job (`repackage-signing-shippable-l10n-msix`) Differential Revision: https://phabricator.services.mozilla.com/D125276 --- taskcluster/ci/beetmover-repackage/kind.yml | 1 + .../taskgraph/manifests/firefox_candidates.yml | 12 ++++++++++++ .../taskgraph/manifests/firefox_nightly.yml | 16 ++++++++++++++++ .../taskgraph/transforms/beetmover_repackage.py | 3 +++ 4 files changed, 32 insertions(+) diff --git a/taskcluster/ci/beetmover-repackage/kind.yml b/taskcluster/ci/beetmover-repackage/kind.yml index fe82db8c23b8..e249338d07b9 100644 --- a/taskcluster/ci/beetmover-repackage/kind.yml +++ b/taskcluster/ci/beetmover-repackage/kind.yml @@ -24,6 +24,7 @@ kind-dependencies: - partials - partials-signing - repackage-signing-msi + - repackage-signing-shippable-l10n-msix - mar-signing - mar-signing-l10n diff --git a/taskcluster/taskgraph/manifests/firefox_candidates.yml b/taskcluster/taskgraph/manifests/firefox_candidates.yml index faae06a207bb..7895fdd2af78 100644 --- a/taskcluster/taskgraph/manifests/firefox_candidates.yml +++ b/taskcluster/taskgraph/manifests/firefox_candidates.yml @@ -48,6 +48,7 @@ tasktype_map: repackage: repackage repackage-signing: repackage repackage-signing-msi: repackage + repackage-signing-shippable-l10n-msix: signing langpack-copy: scriptworker platform_names: path_platform: @@ -359,6 +360,17 @@ mapping: - win32-devedition pretty_name: Firefox Setup ${version}.msi checksums_path: ${path_platform}/${locale}/Firefox Setup ${version}.msi + target.installer.msix: + <<: *default + description: "Windows MSIX installer" + from: + - repackage-signing-shippable-l10n-msix + only_for_platforms: + - win64-shippable + - win32-shippable + locale_prefix: 'multi/' + pretty_name: Firefox Setup ${version}.msix + checksums_path: ${path_platform}/multi/Firefox Setup ${version}.msix target.complete.mar: <<: *default description: "Complete MAR to serve as updates" diff --git a/taskcluster/taskgraph/manifests/firefox_nightly.yml b/taskcluster/taskgraph/manifests/firefox_nightly.yml index af6299507139..0a57a4b1578e 100644 --- a/taskcluster/taskgraph/manifests/firefox_nightly.yml +++ b/taskcluster/taskgraph/manifests/firefox_nightly.yml @@ -44,6 +44,7 @@ tasktype_map: repackage: repackage repackage-signing: repackage repackage-signing-msi: repackage + repackage-signing-shippable-l10n-msix: signing langpack-copy: signing platform_names: filename_platform: @@ -427,6 +428,21 @@ mapping: default: - ${year}/${month}/${upload_date}-${branch}-l10n - latest-${branch}-l10n + target.installer.msix: + <<: *default + description: "Windows MSIX installer" + all_locales: true + from: + - repackage-signing-shippable-l10n-msix + only_for_platforms: + - win64-shippable + - win32-shippable + pretty_name: firefox-${version}.multi.${filename_platform}.installer.msix + checksums_path: firefox-${version}.multi.${filename_platform}.installer.msix + destinations: + - ${year}/${month}/${upload_date}-${branch} + - latest-${branch} + - latest-${branch}-l10n target.complete.mar: <<: *default description: "The main installer we ship our products baked within" diff --git a/taskcluster/taskgraph/transforms/beetmover_repackage.py b/taskcluster/taskgraph/transforms/beetmover_repackage.py index 8d350845829b..9c19e19afa0b 100644 --- a/taskcluster/taskgraph/transforms/beetmover_repackage.py +++ b/taskcluster/taskgraph/transforms/beetmover_repackage.py @@ -83,6 +83,7 @@ def make_task_description(config, jobs): repackage_name = "repackage" repackage_signing_name = "repackage-signing" msi_signing_name = "repackage-signing-msi" + msix_signing_name = "repackage-signing-shippable-l10n-msix" mar_signing_name = "mar-signing" if job.get("locale"): signing_name = "shippable-l10n-signing" @@ -100,6 +101,8 @@ def make_task_description(config, jobs): dependencies["partials-signing"] = upstream_deps["partials-signing"] if msi_signing_name in upstream_deps: dependencies[msi_signing_name] = upstream_deps[msi_signing_name] + if msix_signing_name in upstream_deps: + dependencies[msix_signing_name] = upstream_deps[msix_signing_name] if repackage_signing_name in upstream_deps: dependencies["repackage-signing"] = upstream_deps[repackage_signing_name]