ci(release): publish linux-aarch64 artifacts#43
Closed
ark2042 wants to merge 1 commit into
Closed
Conversation
Add an aarch64-unknown-linux-gnu entry to the release build matrix using the native ubuntu-22.04-arm runner (no cross-compilation), and extend the Linux-only steps to cover both linux targets: - GLIBC ceiling check now matches *-unknown-linux-gnu (ubuntu-22.04-arm ships glibc 2.35, same baseline as the x86_64 runner). - "Install Linux package tooling" and "Create Linux distro packages" now gate on runner.os == 'Linux' instead of the x86_64 target only. The packaging scripts already map aarch64-unknown-linux-gnu to arm64/aarch64 (deb_arch_for_target / rpm_arch_for_target), so this produces the full set of linux-aarch64 artifacts: tar.gz, .deb (arm64) and .rpm (aarch64). Verified natively on aarch64: cargo release build, tar.gz and arm64 .deb packaging via the existing scripts.
Contributor
|
Thanks for adding the Linux aarch64 release path. RMUX 0.7.0 now ships Linux Release: https://github.com/Helvesec/rmux/releases/tag/v0.7.0 Closing this PR since the release workflow work is now on |
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.
Summary
The release workflow currently ships
linux-x86_64,macos-x86_64,macos-aarch64andwindows-x86_64, but nolinux-aarch64artifact — even though the packaging scripts already know how to mapaarch64-unknown-linux-gnutoarm64/aarch64(deb_arch_for_target/rpm_arch_for_target). ARM Linux users (AWS Graviton, Ampere, Oracle Cloud ARM, Raspberry Pi, etc.) currently have to build from source.This wires aarch64-linux into the release matrix:
aarch64-unknown-linux-gnuon the nativeubuntu-22.04-armrunner (no cross-compilation, no QEMU).*-unknown-linux-gnu—ubuntu-22.04-armships glibc 2.35, the same baseline as the x86_64 runner, so the existingGLIBC_2.35cap holds.Install Linux package toolingandCreate Linux distro packagesnow gate onrunner.os == 'Linux'instead of the x86_64 target only, so arm64 gets the full set of artifacts.Result:
rmux-<ver>-linux-aarch64.tar.gz,rmux_<ver>_arm64.debandrmux-<ver>-*.aarch64.rpm.Test plan
Validated natively on an aarch64 Linux host (glibc 2.35):
cargo build --release(release profile) — clean build ofrmux+ workspace crates.scripts/package-unix.sh --target aarch64-unknown-linux-gnu→rmux-0.6.1-linux-aarch64.tar.gz(correct platform label).scripts/package-debian.sh --target aarch64-unknown-linux-gnu --skip-build --reuse-release-binary→rmux_0.6.1_arm64.deb(dpkg-deb -f … Architecture=arm64).tmux-compat-linux-check.py --scope extendedagainst the resulting binary vs system tmux: 30 passed, 0 findings..rpmnot built locally (rpm tooling not installed on the test host); the script is already arch-aware and the CI installsrpm/createrepo-c.ubuntu-22.04-arm(needs maintainer to dispatch the release workflow / approve Actions on the PR).YAML validated with
yaml.safe_load.