ci: lint all targets, run interop suites for real, compile benches
- clippy --all-targets plus a clawhdf5-format feature matrix (parallel, lz4, zstd, pcodec, fast-checksum); fix the accumulated lint backlog in test, bench and feature-gated code (no behaviour changes). - Install python3 + h5py/numpy/netCDF4/xarray in the CI container and set CLAWHDF5_REQUIRE_INTEROP=1, which makes a missing interop dependency a test failure. Every h5py/netCDF4 interop test used to skip silently in CI. Run the #[ignore]d writer_h5py_tests suite explicitly. - cargo bench --no-run so benches can't rot; fix bench.rs and memory_bench.rs, which no longer compiled against the current strategy/consolidation APIs. - Optional fuzz smoke run via CLAWHDF5_FUZZ_SECONDS. - CHANGELOG and docs/known-issues.md updated. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
706189c3ef
commit
bbe1baa208
@@ -180,15 +180,20 @@ print('ok')
|
||||
let output = match output {
|
||||
Ok(o) if o.status.success() => o,
|
||||
_ => {
|
||||
// CI sets CLAWHDF5_REQUIRE_INTEROP=1 so this can't silently skip.
|
||||
assert!(
|
||||
!std::env::var("CLAWHDF5_REQUIRE_INTEROP").is_ok_and(|v| v == "1"),
|
||||
"CLAWHDF5_REQUIRE_INTEROP=1 but python3 with h5py is not available"
|
||||
);
|
||||
eprintln!("skipping h5py_object_reference_roundtrip: python3+h5py not available");
|
||||
return;
|
||||
}
|
||||
};
|
||||
let stdout = String::from_utf8(output.stdout).unwrap();
|
||||
if !stdout.trim().contains("ok") {
|
||||
eprintln!("skipping h5py_object_reference_roundtrip: h5py script failed");
|
||||
return;
|
||||
}
|
||||
assert!(
|
||||
stdout.trim().contains("ok"),
|
||||
"h5py reference-file generator did not report ok: {stdout}"
|
||||
);
|
||||
|
||||
// Read the file and parse object references
|
||||
let file_data = std::fs::read(&path).unwrap();
|
||||
|
||||
Reference in New Issue
Block a user