From 177d47ed9756309402bca1f3fbb33bd73eca84e7 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Sun, 13 Jul 2025 20:14:40 +0900 Subject: [PATCH 1/2] test running on Windows 11 ARM --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9ba65ec..d653140 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,8 +30,8 @@ jobs: needs: [build] strategy: matrix: - os: [ubuntu, macos, windows] - runs-on: ${{ matrix.os }}-latest + os: [ubuntu-latest, macos-latest, windows-latest, windows-11-arm] + runs-on: ${{ matrix.os }} steps: - uses: actions/download-artifact@v4 with: From a51f0a1e632f8e1cb467abac5f2d8d686889256d Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Sun, 13 Jul 2025 20:17:32 +0900 Subject: [PATCH 2/2] Support DownloadURL for Windows 11 ARM64 --- __test__/DownloadURL.test.ts | 5 +++++ src/DownloadURL.ts | 2 ++ 2 files changed, 7 insertions(+) diff --git a/__test__/DownloadURL.test.ts b/__test__/DownloadURL.test.ts index fb93c8e..72ed42a 100644 --- a/__test__/DownloadURL.test.ts +++ b/__test__/DownloadURL.test.ts @@ -107,6 +107,11 @@ describe("LatestDownloadURL", () => { { os: OS.WINDOWS, arch: Arch.AMD64 }, "https://download.mozilla.org/?product=firefox-esr-latest&os=win64&lang=en-US", ], + [ + LatestVersion.LATEST_ESR, + { os: OS.WINDOWS, arch: Arch.ARM64 }, + "https://download.mozilla.org/?product=firefox-esr-latest&os=win64-aarch64&lang=en-US", + ], ])("platform %s %s", (version, { os, arch }, expected) => { test(`returns URL ${expected}`, () => { const sut = new LatestDownloadURL(version, { os, arch }, "en-US"); diff --git a/src/DownloadURL.ts b/src/DownloadURL.ts index 00787c8..b0cce8c 100644 --- a/src/DownloadURL.ts +++ b/src/DownloadURL.ts @@ -124,6 +124,8 @@ export class LatestDownloadURL implements DownloadURL { return "win"; } else if (os === OS.WINDOWS && arch === Arch.AMD64) { return "win64"; + } else if (os === OS.WINDOWS && arch === Arch.ARM64) { + return "win64-aarch64"; } throw new UnsupportedPlatformError({ os, arch }, this.version); }