-
Notifications
You must be signed in to change notification settings - Fork 749
aarch64 support for cardano-node releases #6376
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Yes please! |
|
Thanks @disassembler for the quick & cooperative response when we presented this on the IOG SPO Discord channel earlier today. I can personally confirm that ARM binary assets for |
|
ARM64v8 Docker images would be nice, too. |
|
@disassembler thank you for this. As we discussed during the incident, lots of folks run node on ARM. Armada Alliance has been doing a great job at compiling and distributing those binaries, but as @rphair already pointed out, in this case it would have helped greatly to have the binaries already here. Here's to hoping it will happen at some point🍻 |
angerman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, please!
We should also merge #5628 alongside this.
|
This would be lovely! There quite a number of us running ARM nodes and it would enable us to respond much quicker during future incidents. |
aae0d71 to
bf69b13
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive aarch64-linux support to cardano-node releases, modernizing the build and release infrastructure to support multiple architectures. The changes include:
- GHC compiler bump from 9.6.6 to 9.6.7
- Addition of aarch64-linux to supported systems
- Updated GitHub Actions workflows to build and release multi-arch artifacts
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| nix/supported-systems.nix | Adds aarch64-linux to the list of supported build systems |
| nix/haskell.nix | Bumps GHC compiler version from 9.6.6 to 9.6.7 |
| nix/binary-release.nix | Updates platform naming from "win64" to "win" for consistency |
| flake.nix | Extends system checks to include aarch64-linux, adds musl cross-compilation logic for aarch64, and updates windows build configuration with unreachable code |
| flake.lock | Updates cardano-automation flake input and adds hackageNix dependency |
| .github/workflows/release-upload.yaml | Expands build matrix to include linux-amd64, linux-arm64, macos-amd64, macos-arm64, and win-amd64; updates artifact naming to align with OCI/goarch standards |
| .github/workflows/release-ghcr.yaml | Restructures workflow to build individual arch images and create multi-arch manifests for cardano-node, cardano-submit-api, and cardano-tracer |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
angerman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks sensible.
The only one I'm a bit cautious about is ucrtAarch64; I don't think we have good hardware to test this on (yet!).
0c8d3e9 to
c68a1a0
Compare
c68a1a0 to
62cecb0
Compare
👍 Also, I did go ahead and convert that Will keep an eye on it for adding it back in the future. |
aarch64 support for cardano-node releases
Description
This PR improves support for multiple arches in the following ways:
aarch64-linuxnix packages, including musl static and OCI tarball generation package variants9.6.6->9.6.7as well as thecardano-automationflake input foraarch64-linuxsupportrelease-ghcrGHA workflow to produce linux multi-arch manifest OCI and corresponding release images which auto-resolve on container pull to the appropriate arch (amd64 or arm64)release-uploadGHA workflow to produce new linux and darwinaarch64artifactsrelease-ghcraction hererelease-uploadaction hereChecklist