Merge ci/fix-jobs: make both CI jobs actually run
CI / test-arm64 (push) Successful in 1m55s
CI / test (push) Successful in 4m8s

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
osobh
2026-09-21 20:37:51 -07:00
co-authored by Claude Opus 5
+25 -10
View File
@@ -9,15 +9,15 @@ jobs:
runs-on: ubuntu-latest
container: rust:latest
steps:
- uses: actions/checkout@v4
- name: Cache cargo registry/target
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
# Plain git rather than actions/checkout: that is a JavaScript action,
# and rust:latest has no `node`, so it failed with exit 127 before any
# code was built — on every push. actions/cache went for the same reason.
- name: Check out
run: |
git init -q .
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
for i in 1 2 3; do git fetch -q --depth 1 origin "${GITHUB_SHA}" && break; sleep 5; done
git checkout -q FETCH_HEAD
- name: Install rustfmt & clippy components
run: rustup component add rustfmt clippy
- name: Install thumbv7em-none-eabihf target
@@ -28,7 +28,9 @@ jobs:
# dependency a failure (CLAWHDF5_REQUIRE_INTEROP below).
run: |
apt-get update
apt-get install -y --no-install-recommends python3 python3-venv
# cmake builds libz-ng-sys (clawhdf5-format's default `fast-deflate`);
# rust:latest does not ship it.
apt-get install -y --no-install-recommends python3 python3-venv cmake
python3 -m venv /opt/interop
/opt/interop/bin/pip install --no-cache-dir h5py numpy netCDF4 xarray
echo "/opt/interop/bin" >> "$GITHUB_PATH"
@@ -73,6 +75,19 @@ jobs:
command -v rustup >/dev/null || curl -sSf --retry 5 https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain none
rustup toolchain install stable --profile minimal --component clippy
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: Build dependencies
# libz-ng-sys (clawhdf5-format's default `fast-deflate`) needs cmake.
# In the Docker runner the job is root and can install it; a host
# runner cannot, so say what is missing rather than fail inside a
# build script.
run: |
if command -v cmake >/dev/null; then cmake --version | head -1; exit 0; fi
if [ "$(id -u)" = 0 ]; then
apt-get update -qq && apt-get install -y -qq cmake
else
echo "::error::cmake is not installed on this runner host (needed by libz-ng-sys)"
exit 1
fi
- name: Confirm aarch64
run: |
test "$(uname -m)" = aarch64