Merge ci/fix-jobs: make both CI jobs actually run
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
+25
-10
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user