ci: publish native ARM64 release images
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.