Add Windows ARM64 build support (#834)

* feat(build): add Windows ARM64 build support

- .goreleaser.yml
- .github/workflows/release.yml
- winget/SteveYegge.beads.installer.yaml

Add Windows ARM64 (aarch64) build target to support modern Windows devices
like Surface Pro X and Snapdragon-based laptops.

Changes:
- Added bd-windows-arm64 build configuration with CGO cross-compiler
- Installed gcc-mingw-w64-aarch64 toolchain in CI release workflow
- Added ARM64 installer entry to WinGet manifest (placeholder SHA256)
- Updated release header to mention Windows ARM64 support

The npm package already supports ARM64 in its cpu array.

Fixes: #833

* fix(build): use CGO_ENABLED=0 for Windows ARM64

- Remove non-existent gcc-mingw-w64-aarch64 package from CI
- Use CGO_ENABLED=0 since ncruces/go-sqlite3 is WASM-based
- Remove unnecessary CC/CXX cross-compiler settings

Addresses review feedback from @steveyegge on PR #834.

* style: remove inconsistent inline comment from goreleaser config

Aligns with existing style where CGO_ENABLED entries have no inline comments.
This commit is contained in:
Ramiro Rivera
2026-01-02 04:46:02 +01:00
committed by GitHub
parent 65fb0c6d77
commit d6045ab297
2 changed files with 26 additions and 2 deletions

View File

@@ -99,6 +99,28 @@ builds:
# Requires WINDOWS_SIGNING_CERT_PFX_BASE64 and WINDOWS_SIGNING_CERT_PASSWORD secrets
- ./scripts/sign-windows.sh "{{ .Path }}"
- id: bd-windows-arm64
main: ./cmd/bd
binary: bd
env:
- CGO_ENABLED=0
goos:
- windows
goarch:
- arm64
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X main.Build={{.ShortCommit}}
- -X main.Commit={{.Commit}}
- -X main.Branch={{.Branch}}
- -buildmode=exe
hooks:
post:
# Sign Windows executable with Authenticode certificate
# Requires WINDOWS_SIGNING_CERT_PFX_BASE64 and WINDOWS_SIGNING_CERT_PASSWORD secrets
- ./scripts/sign-windows.sh "{{ .Path }}"
- id: bd-freebsd-amd64
main: ./cmd/bd
binary: bd
@@ -115,7 +137,6 @@ builds:
- -X main.Commit={{.Commit}}
- -X main.Branch={{.Branch}}
archives:
- id: bd-archive
format: tar.gz
@@ -164,7 +185,7 @@ release:
header: |
## beads v{{.Version}}
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), and Windows.
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), and FreeBSD.
### Installation

View File

@@ -10,5 +10,8 @@ Installers:
- Architecture: x64
InstallerUrl: https://github.com/steveyegge/beads/releases/download/v0.30.7/beads_0.30.7_windows_amd64.zip
InstallerSha256: 91A3D0799533DE8FA9AAB6415B8A57BDD542C59A21805FBF80A559A53F3CD02E
- Architecture: arm64
InstallerUrl: https://github.com/steveyegge/beads/releases/download/v0.30.7/beads_0.30.7_windows_arm64.zip
InstallerSha256: "0000000000000000000000000000000000000000000000000000000000000000"
ManifestType: installer
ManifestVersion: 1.6.0