From 50938369eee1b7fa68951f22b81e224ed74b9464 Mon Sep 17 00:00:00 2001 From: ark2042 Date: Wed, 17 Jun 2026 13:36:55 +0000 Subject: [PATCH] ci(release): publish linux-aarch64 artifacts 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. --- .github/workflows/release.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2e97415b..dcfadc55 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -66,6 +66,11 @@ jobs: platform-label: linux-x86_64 binary: rmux archive: tar.gz + - os: ubuntu-22.04-arm + target: aarch64-unknown-linux-gnu + platform-label: linux-aarch64 + binary: rmux + archive: tar.gz - os: macos-15-intel target: x86_64-apple-darwin platform-label: macos-x86_64 @@ -123,7 +128,7 @@ jobs: if [[ "$RUNNER_OS" != "Windows" ]]; then file "$bin" fi - if [[ "$TARGET" == "x86_64-unknown-linux-gnu" ]]; then + if [[ "$TARGET" == *-unknown-linux-gnu ]]; then max_glibc="$(strings "$bin" | grep -o 'GLIBC_[0-9.]*' | sort -V | tail -n 1 || true)" echo "max GLIBC symbol: ${max_glibc:-none}" if [[ -n "$max_glibc" ]] && [[ "$(printf '%s\n' "$max_glibc" "GLIBC_2.35" | sort -V | tail -n 1)" != "GLIBC_2.35" ]]; then @@ -148,7 +153,7 @@ jobs: grep -F "rmux $VERSION" version.txt - name: Install Linux package tooling - if: matrix.target == 'x86_64-unknown-linux-gnu' + if: runner.os == 'Linux' shell: bash run: | sudo apt-get update @@ -179,7 +184,7 @@ jobs: scripts/verify-package.sh "$archive" --checksums dist/SHA256SUMS.txt --run-binary --require-release-artifact - name: Create Linux distro packages - if: matrix.target == 'x86_64-unknown-linux-gnu' + if: runner.os == 'Linux' shell: bash run: | scripts/package-debian.sh \