You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by hg...@apache.org on 2025/12/12 08:55:00 UTC
(iggy) branch master updated: fix(ci): detect architecture for sccache and nextest installation (#2475)
This is an automated email from the ASF dual-hosted git repository.
hgruszecki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git
The following commit(s) were added to refs/heads/master by this push:
new 1b472f377 fix(ci): detect architecture for sccache and nextest installation (#2475)
1b472f377 is described below
commit 1b472f37736ac3744db5897e85e7345e2793125e
Author: Hubert Gruszecki <h....@gmail.com>
AuthorDate: Fri Dec 12 09:54:55 2025 +0100
fix(ci): detect architecture for sccache and nextest installation (#2475)
Downloads were hardcoded to x86_64, causing "Exec format error"
on ARM64 runners.
---
.../actions/utils/setup-rust-with-cache/action.yml | 42 +++++++++++++++++-----
1 file changed, 33 insertions(+), 9 deletions(-)
diff --git a/.github/actions/utils/setup-rust-with-cache/action.yml b/.github/actions/utils/setup-rust-with-cache/action.yml
index bf2df2831..a1bc0904e 100644
--- a/.github/actions/utils/setup-rust-with-cache/action.yml
+++ b/.github/actions/utils/setup-rust-with-cache/action.yml
@@ -56,10 +56,10 @@ runs:
~/.cache/sccache
~/Library/Caches/sccache
~/.local/share/sccache
- key: sccache-${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
+ key: sccache-${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-${{ hashFiles('**/Cargo.lock', 'rust-toolchain.toml') }}
restore-keys: |
- sccache-${{ runner.os }}-${{ github.job }}-
- sccache-${{ runner.os }}-
+ sccache-${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-
+ sccache-${{ runner.os }}-${{ runner.arch }}-
- name: Install sccache
if: inputs.enabled == 'true'
@@ -68,11 +68,24 @@ runs:
if ! command -v sccache &> /dev/null; then
echo "Installing sccache..."
SCCACHE_VERSION="v0.8.2"
- SCCACHE_URL="https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz"
+
+ # Detect architecture
+ ARCH="$(uname -m)"
+ case "$ARCH" in
+ x86_64) SCCACHE_ARCH="x86_64-unknown-linux-musl" ;;
+ aarch64) SCCACHE_ARCH="aarch64-unknown-linux-musl" ;;
+ *)
+ echo "⚠️ Unsupported architecture: $ARCH, skipping sccache"
+ exit 0
+ ;;
+ esac
+
+ SCCACHE_URL="https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}.tar.gz"
+ echo "Downloading sccache for $SCCACHE_ARCH..."
curl -L "$SCCACHE_URL" | tar xz
- sudo mv sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl/sccache /usr/local/bin/
- rm -rf sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl
+ sudo mv "sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}/sccache" /usr/local/bin/
+ rm -rf "sccache-${SCCACHE_VERSION}-${SCCACHE_ARCH}"
fi
shell: bash
continue-on-error: true
@@ -82,9 +95,20 @@ runs:
# Check if cargo-nextest is already installed
if ! command -v cargo-nextest &> /dev/null; then
echo "Installing cargo-nextest..."
- # Use the install script for the fastest installation
- curl -LsSf https://get.nexte.st/latest/linux | tar xzf - -C ${CARGO_HOME:-~/.cargo}/bin
- echo "✅ cargo-nextest installed successfully"
+
+ # Detect architecture for nextest
+ ARCH="$(uname -m)"
+ case "$ARCH" in
+ x86_64) NEXTEST_PLATFORM="linux" ;;
+ aarch64) NEXTEST_PLATFORM="linux-arm" ;;
+ *)
+ echo "⚠️ Unsupported architecture: $ARCH, skipping nextest"
+ exit 0
+ ;;
+ esac
+
+ curl -LsSf "https://get.nexte.st/latest/${NEXTEST_PLATFORM}" | tar xzf - -C ${CARGO_HOME:-~/.cargo}/bin
+ echo "✅ cargo-nextest installed successfully for $ARCH"
else
echo "✅ cargo-nextest already installed"
fi