Skip to content

fix(arch): add support for Windows arm64 - #24

Open
advait-m wants to merge 1 commit into
matbour:mainfrom
warpdotdev:fix/windows-arm64
Open

fix(arch): add support for Windows arm64#24
advait-m wants to merge 1 commit into
matbour:mainfrom
warpdotdev:fix/windows-arm64

Conversation

@advait-m

@advait-m advait-m commented Aug 24, 2026

Copy link
Copy Markdown

Problem

On a native Windows arm64 runner, the action fails outright:

Installing sentry-cli version latest
Error: TypeError: Unsupported platform: win32/arm64

PLATFORM_MAPPINGS in src/get-download-link.ts has entries for win32-x32 and win32-x64, but none for win32-arm64, and the only fallback covers darwin:

if (!platform && process.platform === 'darwin') {
  // Fallback to universal build if there is match on MacOS architecture
  platform = 'Darwin-universal';
}

if (!platform) {
  throw new TypeError(`Unsupported platform: ${process.platform}/${process.arch}`);
}

This is increasingly easy to hit now that GitHub offers native Windows arm64 runners — anything that previously cross-compiled to arm64 on an x64 host (where process.arch was x64) breaks when moved onto a native arm64 host.

Fix

sentry-cli already publishes a Windows aarch64 binary next to the i686 and x86_64 ones, so this only needs the mapping entry:

'win32-arm64': 'Windows-aarch64',

This mirrors how linux-arm64 maps to Linux-aarch64.

Verified the asset exists and is the right architecture:

$ curl -sI https://downloads.sentry-cdn.com/sentry-cli/latest/sentry-cli-Windows-aarch64.exe | head -1
HTTP/2 200

$ file sentry-cli-Windows-aarch64.exe
sentry-cli-Windows-aarch64.exe: PE32+ executable (console) Aarch64, for MS Windows

Changes

  • src/get-download-link.ts — the mapping entry (the actual fix).
  • dist/main.js / dist/main.js.map — rebuilt with pnpm build, since the bundle is committed and is what action.yml runs. The only semantic change in the bundle is the new mapping entry.
  • README.md — added the win32 / arm64 (aarch64) row to the supported-architecture table.

I confirmed dist/ rebuilds byte-for-byte from unmodified main before making the change, so the bundle diff here is purely this fix and not build-environment drift.

pnpm lint and pnpm typecheck both pass.

I left CHANGELOG.md alone since entries there look like they're added per release rather than per PR — happy to add one if you'd prefer.
.

PLATFORM_MAPPINGS has no `win32-arm64` entry, and the only fallback is
the universal build on darwin. On a native Windows arm64 runner (for
example GitHub's `windows-11-arm` images) `process.arch` is `arm64`, so
the action fails with:

    Error: TypeError: Unsupported platform: win32/arm64

sentry-cli publishes `sentry-cli-Windows-aarch64.exe` alongside the
i686 and x86_64 builds, so map `win32-arm64` to `Windows-aarch64` the
same way `linux-arm64` maps to `Linux-aarch64`.

Co-Authored-By: Warp <agent@warp.dev>
advait-m added a commit to warpdotdev/warp that referenced this pull request Aug 24, 2026
Replaces the hand-rolled install script with a pinned reference to
warpdotdev/setup-sentry-cli, a fork of matbour/setup-sentry-cli carrying
the one-line platform mapping upstream is missing:

    'win32-arm64': 'Windows-aarch64',

That fix is submitted upstream as matbour/setup-sentry-cli#24. Pointing
at the fork keeps this call site configured exactly like the other eight,
so reverting is a one-line change to the `uses:` reference once upstream
releases the fix, rather than deleting a bespoke script.

Only the Windows call site moves to the fork. The other platforms work
fine on upstream, and leaving them there keeps currently-healthy release
legs off a fork they do not need.

Co-Authored-By: Warp <agent@warp.dev>
@advait-m
advait-m marked this pull request as ready for review August 24, 2026 14:36
@advait-m

Copy link
Copy Markdown
Author

@matbour tagging you for review - thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant