Repository navigation
Publish the release image for arm64 as well as amd64 - #24
Merged
Merged
Conversation
The published image ran only on amd64, so it couldn't be installed on arm64 hosts such as a DGX Spark. Switchyard's own build already targets aarch64 (target-cpu=neoverse-n1) and every base image is multi-platform, so the Dockerfile needs no change. The release workflow now builds and smoke-tests each platform on its own native runner, with no emulation, pushes each by digest and joins them into one multi-platform tag. The smoke test also runs switchyard-server --version, so a binary that can't run on the runner's CPU fails the build.
A manual run of the release workflow builds and smoke-tests both platforms but threw the images away. Saving each as a one-day artifact lets a branch be tried on real hardware, such as an arm64 board, before it's released.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #23.
.github/workflows/release.ymlnow builds each platform on its own native runner (ubuntu-latestforlinux/amd64,ubuntu-24.04-armforlinux/arm64), so there's no emulation:switchyard-server --version, so a binary that can't run on the runner's CPU fails the build. On a release, the job pushes its image by digest.<version>,<major.minor>andlatest, as before.The Dockerfile is unchanged.
docs/install.mdlists both platforms and the CPUs they need (AVX2 on amd64, Neoverse N1 or newer on arm64, the same as Switchyard's own builds).docs/development.mddescribes the two-platform release.Tested
Manual run on this branch: https://github.com/bricke/YardMaster/actions/runs/37997792268
yardmaster dev-7c2f3cf…,switchyard-server 0.3.0)The push and merge steps run only on a published release, so they haven't run yet. The next release will be the first to exercise them.