feat(release): Windows arm64 build + installer (#187) - #188
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #187.
What
Adds a Windows arm64 build + installer to the release, so
winget/ direct download offer a native arm64 package alongside x64.win-arm64leg on the nativewindows-11-armrunner (free for public repos — GA Aug 2025), mirroring howlinux-arm64usesubuntu-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 ownwin-arm64channel → shipsKindel.WinPrint-win-arm64-Setup.exe.continue-on-error: ${{ matrix.experimental == true }}). If arm64 breaks, x64/macOS/Linux still publish — it can't block a release. Remove theexperimentalflag once it's proven on real hardware.win-arm64to theaot-publishmatrix so the arm64 AOT TUI compile is gated on every PR (not just at release).installers-regextowin-(x64|arm64)-Setup\.exe$so the auto-update manifest includes both arches.Validation
I can't test Windows (let alone arm64) locally, so:
aot-publish (win-arm64)) validates the arm64 AOT TUI build natively.release.yml— on a real tag, or aworkflow_dispatchfromdevelop/main(Azure OIDC federated creds only match those branches, not feature branches).Recommended before relying on it: after merge to develop, trigger
release.ymlviaworkflow_dispatchfrom 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