ci: build the clawhdf5 read path for wasm32-unknown-unknown

The facade already builds for the browser target without mmap (and
with it: memmap2 compiles there and File::open just fails, as std::fs
does). Nothing needed gating; keep it that way with a ci-test.sh step,
and install the target in the CI container.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
osobh
2026-09-26 00:00:11 -05:00
co-authored by Claude Opus 5.5
parent e815eb922f
commit 74f9f50086
2 changed files with 11 additions and 0 deletions
+3
View File
@@ -22,6 +22,9 @@ jobs:
run: rustup component add rustfmt clippy run: rustup component add rustfmt clippy
- name: Install thumbv7em-none-eabihf target - name: Install thumbv7em-none-eabihf target
run: rustup target add thumbv7em-none-eabihf run: rustup target add thumbv7em-none-eabihf
- name: Install wasm32-unknown-unknown target
# ci-test.sh builds the reader and clawhdf5-wasm for the browser.
run: rustup target add wasm32-unknown-unknown
- name: Install Python interop dependencies - name: Install Python interop dependencies
# The interop suites used to skip silently when python3/h5py were # The interop suites used to skip silently when python3/h5py were
# missing, so they never ran in CI. Install them and make a missing # missing, so they never ran in CI. Install them and make a missing
+8
View File
@@ -106,6 +106,14 @@ no_c_in_default_build() {
} }
run_step "no C in the default build (core crates)" no_c_in_default_build run_step "no C in the default build (core crates)" no_c_in_default_build
# The reader in the browser: the facade's read path must build for
# wasm32-unknown-unknown (no mmap, no threads, no file system). Needs
# `rustup target add wasm32-unknown-unknown`.
run_step "wasm32 build (clawhdf5, no default features)" cargo build \
-p clawhdf5 \
--target wasm32-unknown-unknown \
--no-default-features
# The workspace declares a minimum Rust version (rust-version in Cargo.toml); # The workspace declares a minimum Rust version (rust-version in Cargo.toml);
# check that it really builds there, so the README badge and the manifests # check that it really builds there, so the README badge and the manifests
# cannot drift from the truth. Separate target dir: a different toolchain # cannot drift from the truth. Separate target dir: a different toolchain