Problem
The release workflow (release.yml) only builds binaries for 386 and amd64 architectures. Apple Silicon Macs (M1/M2/M3/M4) use arm64, so there is no native binary for them. Users on Apple Silicon must run the amd64 binary through Rosetta 2.
The Docker job already builds linux/arm64, but the Go binary matrix and Homebrew formula do not include darwin/arm64.
Current matrix
| OS |
Arch |
| linux |
386, amd64 |
| windows |
386, amd64 |
| darwin |
amd64 |
Proposed changes
- Add
arm64 to the goarch matrix and exclude arm64 for windows (and optionally linux/386 if desired)
- Update the Homebrew formula to support both
darwin-amd64 and darwin-arm64 (requires a multi-arch Homebrew tap or on_arm/on_intel blocks)
- Optionally add
linux/arm64 binaries as well
Impact
Apple Silicon has been the default Mac architecture since late 2020. Native binaries avoid Rosetta overhead and are expected by most macOS users today.
Problem
The release workflow (
release.yml) only builds binaries for386andamd64architectures. Apple Silicon Macs (M1/M2/M3/M4) usearm64, so there is no native binary for them. Users on Apple Silicon must run theamd64binary through Rosetta 2.The Docker job already builds
linux/arm64, but the Go binary matrix and Homebrew formula do not includedarwin/arm64.Current matrix
Proposed changes
arm64to thegoarchmatrix and excludearm64forwindows(and optionallylinux/386if desired)darwin-amd64anddarwin-arm64(requires a multi-arch Homebrew tap oron_arm/on_intelblocks)linux/arm64binaries as wellImpact
Apple Silicon has been the default Mac architecture since late 2020. Native binaries avoid Rosetta overhead and are expected by most macOS users today.