Skip to content

feat(release): Windows arm64 build + installer (#187) - #188

Merged
tig merged 1 commit into
developfrom
feat/win-arm64-187
Jun 27, 2026
Merged

feat(release): Windows arm64 build + installer (#187)#188
tig merged 1 commit into
developfrom
feat/win-arm64-187

Conversation

@tig

@tig tig commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Closes #187.

What

Adds a Windows arm64 build + installer to the release, so winget / direct download offer a native arm64 package alongside x64.

  • Release matrix: new win-arm64 leg on the native windows-11-arm runner (free for public repos — GA Aug 2025), mirroring how linux-arm64 uses ubuntu-24.04-arm. AOT TUI links natively; the MAUI/WinUI3 GUI builds against arm64 WindowsAppSDK packs. Reuses the existing Velopack pack + Azure Trusted Signing path with its own win-arm64 channel → ships Kindel.WinPrint-win-arm64-Setup.exe.
  • Non-blocking rollout: the leg is experimental (continue-on-error: ${{ matrix.experimental == true }}). If arm64 breaks, x64/macOS/Linux still publish — it can't block a release. Remove the experimental flag once it's proven on real hardware.
  • PR CI signal: added win-arm64 to the aot-publish matrix so the arm64 AOT TUI compile is gated on every PR (not just at release).
  • winget: widened installers-regex to win-(x64|arm64)-Setup\.exe$ so the auto-update manifest includes both arches.

Validation

I can't test Windows (let alone arm64) locally, so:

  • PR CI (aot-publish (win-arm64)) validates the arm64 AOT TUI build natively.
  • ⏳ The GUI + Velopack + Azure signing arm64 legs only run in release.yml — on a real tag, or a workflow_dispatch from develop/main (Azure OIDC federated creds only match those branches, not feature branches).

Recommended before relying on it: after merge to develop, trigger release.yml via workflow_dispatch from develop to dry-run the full matrix (incl. arm64 GUI/Velopack/sign). Because the leg is experimental, even a real release is safe — a broken arm64 leg just won't ship that arch.

Known risk: Velopack's win-arm64 packer is newer (velopack#85) — hence the experimental gating.

🤖 Generated with Claude Code

Add a win-arm64 leg to the release matrix on the native windows-11-arm runner
(free for public repos), mirroring linux-arm64/ubuntu-24.04-arm: AOT TUI links
natively and the MAUI/WinUI3 GUI builds against arm64 WindowsAppSDK packs. It
reuses the existing Velopack pack + Azure Trusted Signing path (own win-arm64
channel) and ships Kindel.WinPrint-win-arm64-Setup.exe.

Rolled out as an EXPERIMENTAL leg (continue-on-error) so that, until it's proven
on real arm64 hardware (Velopack's win-arm64 packer is newer — velopack#85), a
failure can't block the x64/macOS/Linux release publish. Also gate the win-arm64
AOT TUI build in PR CI (aot-publish) to catch regressions early, and widen the
winget installers-regex to win-(x64|arm64) so the manifest gets both arches.

Can't be validated locally (no Windows/arm64). PR CI validates the arm64 AOT TUI
compile; the GUI+Velopack+signing legs run on a release (or a workflow_dispatch
from develop, where the Azure OIDC federated creds match).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tig
tig merged commit de1d6a5 into develop Jun 27, 2026
14 checks passed
@tig
tig deleted the feat/win-arm64-187 branch June 27, 2026 16:36
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.

Need arm64 build and setup for Windows

1 participant