WIP: ci: native arm64 runner + multi-arch images and packages (#49) #56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci/arm64-runner-multiarch"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #49 (once the runner is live).
Adds the arm64 leg of CI as native builds on an Oracle Ampere Forgejo runner instead of the QEMU emulation that was dropped for being too slow.
What's in here
docker.yml:imagesplit intoimage-amd64(labeldocker) /image-arm64(labeldocker-arm64), each pushing an arch-suffixed tag over the tailnet registry; newmanifestjob stitches them into the public multi-arch tags (:vX.Y.Z/:latest/:edge);packagesloops both arches → 7 release assets (2 deb, 2 rpm, 2 tarballs, SHA256SUMS). Still exactly one compile per (tag, arch), binaries byte-identical to the images (#29 preserved).scripts/setup-arm64-runner.sh: idempotent bootstrap for the Oracle VM — Docker Engine,insecure-registriesfor100.64.0.13:3000, tailscale join, pinnedforgejo-runnerv12.12.0, registration (docker_host: automount), systemd unit.docs/arm64-runner-setup.md: full runbook — Oracle provisioning, registration token, bootstrap, verification, troubleshooting.nfpm.yamlarch parametrized (NVB_ARCH);build-packages.shauto-detects host arch; README/docker-usage/packaging updated.Feasibility (verified before writing)
ghcr.io/catthehacker/ubuntu:act-22.04is multi-arch (arm64/v8 ✅) — same job image as the amd64 runner.webrtc-sys-buildtagwebrtc-51ef663shipswebrtc-linux-arm64-release.zip✅ — no libwebrtc source build needed.rust:1-bookworm,debian:bookworm-slim) are multi-arch ✅.Do NOT merge until
docker-arm64.workflow_dispatchrun from this branch goes green end-to-end anddocker manifest inspect …:edgeshows both arches.🤖 Generated with Claude Code
Superseded — closing without merge. Everything this PR set out to do has since landed on master by other routes:
docker.yml:image/image-arm64on thelinux-arm64label /manifest), andpackagesloop +nfpm.yamlarch: ${NVB_ARCH}landed in70d5362(adapted from this PR's design to master's tag scheme: canonical tag +-arm64suffix instead of-amd64/-arm64).Thanks — the packages-loop design here was lifted nearly verbatim. #49 is closed.
Pull request closed