ci: add aarch64 (arm64) Linux release build#556
Merged
Conversation
Build the aarch64-unknown-linux-gnu target natively on GitHub's free ubuntu-24.04-arm runner. The existing gtk4-rs container is amd64-only, so aarch64 runs without a container and installs GTK4/libadwaita via apt. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Collaborator
|
LGTM - Claude did a good job 🤣 But I am not into this workflow stuff - so another 👁️ by @RobertMueller2 would be good. |
Member
|
yeah, I'll have a look soonish. Should even be able to try the generated package on a chromebook ;) EDIT: which has a Bookworm Debian, which is too old (libc6 version). Need to figure out a different way to test the package. Or upgrade the Debian version, but not today. |
Member
|
lgtm, thanks! |
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.
What
Adds an aarch64 (arm64) Linux target to the
releaseworkflow, so each release also shipssatty-aarch64-unknown-linux-gnu.tar.gzalongside the existing x86_64 tarball.Why
There are currently no prebuilt aarch64 binaries. Users on arm64 Linux (Asahi/Apple Silicon Linux, Raspberry Pi, Pinebook Pro, arm64 servers/VMs, etc.) have to build from source, which is slow on these devices.
How
The existing build runs inside
ghcr.io/gtk-rs/gtk4-rs/gtk4:latest, which is amd64-only, so it can't simply be reused on an arm64 runner. Instead the aarch64 leg:ubuntu-24.04-armrunner (no cross-compilation),container: ${{ matrix.container }}; empty string = run on host),apt(libgtk-4-dev libadwaita-1-dev) instead of the Fedora container'syum.The x86_64 leg is unchanged. Diff is +16/-5.
Tested
Built green on a fork — both legs and the flatpak job succeed, and the aarch64 tarball is produced and attached to the release:
https://github.com/MAY4VFX/Satty/releases/tag/v0.99.0
The resulting binary runs correctly on a Pinebook Pro (RK3399, ARMv8.0) under Debian 13 / niri.
🤖 Generated with Claude Code