Expand release platforms to Linux and Windows ARM

Merged
TO
2mo ago
+244-46

Summary

Adds Linux aarch64 and Windows ARM64 GitHub Release archives, wires them into numan update --self, then extends Homebrew and winget so those channels consume the new assets on the next tagged release.

Changes

Release + self-update

  • Release matrix: ubuntu-24.04-arm → aarch64-unknown-linux-gnu; windows-11-arm → aarch64-pc-windows-msvc
  • release_asset_name match arms + tests for both triples
  • README / RELEASING / PACKAGING / CHANGELOG updates

Homebrew

  • Formula renderer requires aarch64-unknown-linux-gnu and emits on_linux / on_arm
  • --legacy-pre-linux-arm recovers pre-ARM releases via explicit workflow_dispatch only; automated workflow_run publish fails closed if Linux ARM is missing
  • Checked-in packaging/homebrew/numan.rb may lag until the next ARM-enabled tag (documented)
  • Companion tap prep: homebrew-numan#5

winget

  • Verify both Windows x64 and ARM64 zips before publish
  • Tighten installers-regex to Windows MSVC zips only
  • Historical sample manifests stay x64-only (no placeholder ARM digests)

Review status

Copilot’s overview is stale relative to later commits. Already addressed:

  • CHANGELOG “bottle URLs” → “archive support”
  • Historical winget ARM64 placeholders removed
  • Homebrew legacy recovery + README lag docs
  • Windows PowerShell TARGET.zip example
  • CodeRabbit: fail closed on missing Linux ARM for workflow_run (legacy only on workflow_dispatch)

After merge

Tag the next release and confirm five platform archives plus signed SHA256SUMS, then confirm Homebrew and winget publish jobs succeed against that tag.

Test plan

  • Homebrew formula unit tests
  • self_update asset-name tests / clippy / fmt
  • Review feedback addressed
Open in Web Open in Cursor