ci: publish native ARM64 release images

Merged
RE
2mo ago
+416-24

Closes #30

Adds native ARM64 Debian 13 and Ubuntu 24 package/image builds on GitHub ARM64 runners. Publishes those image aliases as explicit linux/amd64 + linux/arm64 GHCR manifests after the existing AMD64 TAP gate and native ARM64 runtime smoke checks.

The release artifacts use isolated staging tags, preventing accidental single-architecture public aliases before manifest assembly. Older distro tags intentionally remain AMD64-only.

Verified locally: release workflow contract, actionlint, GHCR/TLS configuration checks, staging-tag isolation, and whitespace checks. The actual ARM build/publish path requires GitHub native ARM64 runners and a release event.


Summary by cubic

Adds native ARM64 builds for Debian 13 and Ubuntu 24 to release images, closing #30. These distros now publish as multi-arch manifests for linux/amd64 and linux/arm64, while older distro tags remain AMD64-only.

Details

  • Release builds use per-architecture staging tags; stable aliases are created only after AMD64 TAP tests and ARM64 smoke tests pass.
  • Added an ARM64 smoke test job and a libdaemon bootstrap patch so the bundled build tooling recognizes aarch64.
  • Release assets and staging tags reference the release tag via a workflow environment variable instead of shell templates, keeping the tag value out of evaluated shell source.

Summary by CodeRabbit

  • New Features

    • Added native ARM64 packages for Debian 13 and Ubuntu 24.
    • Added multi-architecture container images for Debian 13 and Ubuntu 24, supporting AMD64 and ARM64.
    • Added ARM64 runtime smoke testing for releases.
  • Bug Fixes

    • Improved bundled libdaemon configuration support on ARM64.
  • Documentation

    • Updated release documentation to describe ARM64 packages and multi-architecture image tags.