chore: Tier 4d — hoist tempfile/criterion/half/serde to workspace.dependencies
CI / test (push) Failing after 13s

Add [workspace.dependencies] to the root Cargo.toml for the four
duplicated-across-many-crates dependencies flagged by the earlier review:
tempfile (7 crates), criterion (6), half (4 — real version skew, clawhdf5-gpu
pinned 2.7 while others used bare 2), and serde (4). Update every consuming
crate to `dep = { workspace = true }`, preserving crate-local `optional =
true` where it already existed. half now resolves uniformly to 2.7.x
workspace-wide instead of two separate semver ranges.

Also fixed clawhdf5-filters/Cargo.toml's stale "rustyhdf5" description
while touching the file (same class of leftover rename as prior fixes).

Not touching rayon/byteorder/clap (no skew found, lower priority).
This commit is contained in:
Omar Sobh
2026-08-05 13:12:17 -07:00
parent 297ee5ec17
commit 534331ffbe
13 changed files with 28 additions and 22 deletions
+6
View File
@@ -25,3 +25,9 @@ version = "2.1.0"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
repository = "https://github.com/redclawsystems/clawhdf5" repository = "https://github.com/redclawsystems/clawhdf5"
[workspace.dependencies]
tempfile = "3"
criterion = { version = "0.5", features = ["html_reports"] }
half = "2.7"
serde = { version = "1", features = ["derive"] }
+1 -1
View File
@@ -15,7 +15,7 @@ float16 = ["dep:half"]
avx512 = [] avx512 = []
[dependencies] [dependencies]
half = { version = "2", optional = true } half = { workspace = true, optional = true }
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = [] features = []
+4 -4
View File
@@ -16,9 +16,9 @@ clawhdf5-io = { path = "../clawhdf5-io", version = "2.1.0", features = ["mmap"]
clawhdf5-accel = { path = "../clawhdf5-accel", version = "2.1.0" } clawhdf5-accel = { path = "../clawhdf5-accel", version = "2.1.0" }
clawhdf5-ann = { path = "../clawhdf5-ann", version = "2.1.0", optional = true } clawhdf5-ann = { path = "../clawhdf5-ann", version = "2.1.0", optional = true }
clawhdf5-gpu = { path = "../clawhdf5-gpu", version = "2.1.0", optional = true, default-features = false } clawhdf5-gpu = { path = "../clawhdf5-gpu", version = "2.1.0", optional = true, default-features = false }
serde = { version = "1", features = ["derive"] } serde = { workspace = true }
byteorder = "1" byteorder = "1"
half = { version = "2", optional = true } half = { workspace = true, optional = true }
rayon = { version = "1", optional = true } rayon = { version = "1", optional = true }
matrixmultiply = { version = "0.3", optional = true } matrixmultiply = { version = "0.3", optional = true }
cblas-sys = { version = "0.1", optional = true } cblas-sys = { version = "0.1", optional = true }
@@ -31,8 +31,8 @@ accelerate-src = { version = "0.3", optional = true }
openblas-src = { version = "0.10", optional = true, features = ["cblas"] } openblas-src = { version = "0.10", optional = true, features = ["cblas"] }
[dev-dependencies] [dev-dependencies]
tempfile = "3" tempfile = { workspace = true }
criterion = "0.5" criterion = { workspace = true }
rayon = "1" rayon = "1"
tokio = { version = "1", features = ["rt-multi-thread", "sync", "macros"] } tokio = { version = "1", features = ["rt-multi-thread", "sync", "macros"] }
+1 -1
View File
@@ -12,4 +12,4 @@ crate-type = ["cdylib"]
clawhdf5-agent = { path = "../clawhdf5-agent", default-features = false } clawhdf5-agent = { path = "../clawhdf5-agent", default-features = false }
[dev-dependencies] [dev-dependencies]
tempfile = "3" tempfile = { workspace = true }
+3 -3
View File
@@ -50,9 +50,9 @@ harness = false
clawhdf5-agent = { path = "../clawhdf5-agent" } clawhdf5-agent = { path = "../clawhdf5-agent" }
clawhdf5-io = { path = "../clawhdf5-io" } clawhdf5-io = { path = "../clawhdf5-io" }
mpi = { version = "0.8", optional = true } mpi = { version = "0.8", optional = true }
serde = { version = "1", features = ["derive"] } serde = { workspace = true }
serde_json = "1" serde_json = "1"
tempfile = "3" tempfile = { workspace = true }
# Optional: libhdf5 C wrapper for side-by-side comparison (requires system libhdf5). # Optional: libhdf5 C wrapper for side-by-side comparison (requires system libhdf5).
# Enable with: cargo bench -p clawhdf5-bench --features libhdf5-compare # Enable with: cargo bench -p clawhdf5-bench --features libhdf5-compare
# Uses hdf5-metno (fork of hdf5 crate) which supports HDF5 1.14.x. # Uses hdf5-metno (fork of hdf5 crate) which supports HDF5 1.14.x.
@@ -60,7 +60,7 @@ hdf5 = { version = "0.12", optional = true, package = "hdf5-metno" }
[dev-dependencies] [dev-dependencies]
clawhdf5 = { path = "../clawhdf5", features = ["zstd", "pcodec"] } clawhdf5 = { path = "../clawhdf5", features = ["zstd", "pcodec"] }
criterion = { version = "0.5", features = ["html_reports"] } criterion = { workspace = true }
[features] [features]
# When enabled, benchmarks add matching libhdf5 variants for side-by-side comparison. # When enabled, benchmarks add matching libhdf5 variants for side-by-side comparison.
+1 -1
View File
@@ -17,4 +17,4 @@ path = "src/main.rs"
clawhdf5-agent = { path = "../clawhdf5-agent", version = "2.1.0" } clawhdf5-agent = { path = "../clawhdf5-agent", version = "2.1.0" }
clap = { version = "4", features = ["derive", "env"] } clap = { version = "4", features = ["derive", "env"] }
serde_json = "1" serde_json = "1"
serde = { version = "1", features = ["derive"] } serde = { workspace = true }
+2 -2
View File
@@ -2,7 +2,7 @@
name = "clawhdf5-filters" name = "clawhdf5-filters"
version = "2.1.0" version = "2.1.0"
edition = "2024" edition = "2024"
description = "Filter and compression pipeline for rustyhdf5" description = "Filter and compression pipeline for clawhdf5"
license = "MIT" license = "MIT"
repository = "https://github.com/redclawsystems/clawhdf5" repository = "https://github.com/redclawsystems/clawhdf5"
readme = "README.md" readme = "README.md"
@@ -14,7 +14,7 @@ flate2 = { version = "1", default-features = false, features = ["rust_backend"]
miniz_oxide = "0.8" miniz_oxide = "0.8"
[dev-dependencies] [dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] } criterion = { workspace = true }
[[bench]] [[bench]]
name = "deflate_bench" name = "deflate_bench"
+1 -1
View File
@@ -24,7 +24,7 @@ pco = { version = "1.0", optional = true }
[dev-dependencies] [dev-dependencies]
serde_json = "1" serde_json = "1"
criterion = { version = "0.5", features = ["html_reports"] } criterion = { workspace = true }
clawhdf5-derive = { path = "../clawhdf5-derive", version = "2.1.0" } clawhdf5-derive = { path = "../clawhdf5-derive", version = "2.1.0" }
[[bench]] [[bench]]
+2 -2
View File
@@ -11,14 +11,14 @@ categories = ["science", "graphics"]
[dependencies] [dependencies]
wgpu = { version = "28", optional = true } wgpu = { version = "28", optional = true }
half = { version = "2.7", optional = true } half = { workspace = true, optional = true }
pollster = { version = "0.4", optional = true } pollster = { version = "0.4", optional = true }
bytemuck = { version = "1", features = ["derive"], optional = true } bytemuck = { version = "1", features = ["derive"], optional = true }
thiserror = "2" thiserror = "2"
log = "0.4" log = "0.4"
[dev-dependencies] [dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] } criterion = { workspace = true }
rand = "0.8" rand = "0.8"
approx = "0.5" approx = "0.5"
pollster = "0.4" pollster = "0.4"
+2 -2
View File
@@ -15,13 +15,13 @@ memmap2 = { version = "0.9", optional = true }
libc = { version = "0.2", optional = true } libc = { version = "0.2", optional = true }
tokio = { version = "1", features = ["fs", "io-util"], optional = true } tokio = { version = "1", features = ["fs", "io-util"], optional = true }
reqwest = { version = "0.12", features = ["json"], optional = true } reqwest = { version = "0.12", features = ["json"], optional = true }
serde = { version = "1", features = ["derive"], optional = true } serde = { workspace = true, optional = true }
serde_json = { version = "1", optional = true } serde_json = { version = "1", optional = true }
mpi = { version = "0.8", optional = true } mpi = { version = "0.8", optional = true }
[dev-dependencies] [dev-dependencies]
tokio = { version = "1", features = ["full"] } tokio = { version = "1", features = ["full"] }
tempfile = "3" tempfile = { workspace = true }
[features] [features]
default = [] default = []
+2 -2
View File
@@ -19,7 +19,7 @@ clawhdf5-format = { path = "../clawhdf5-format", version = "2.1.0" }
clawhdf5 = { path = "../clawhdf5", version = "2.1.0" } clawhdf5 = { path = "../clawhdf5", version = "2.1.0" }
rusqlite = { version = "0.31", features = ["bundled"] } rusqlite = { version = "0.31", features = ["bundled"] }
clap = { version = "4", features = ["derive"] } clap = { version = "4", features = ["derive"] }
half = "2" half = { workspace = true }
[dev-dependencies] [dev-dependencies]
tempfile = "3" tempfile = { workspace = true }
+1 -1
View File
@@ -14,4 +14,4 @@ clawhdf5 = { path = "../clawhdf5", version = "2.1.0" }
clawhdf5-format = { path = "../clawhdf5-format", version = "2.1.0" } clawhdf5-format = { path = "../clawhdf5-format", version = "2.1.0" }
[dev-dependencies] [dev-dependencies]
tempfile = "3" tempfile = { workspace = true }
+2 -2
View File
@@ -15,8 +15,8 @@ clawhdf5-io = { path = "../clawhdf5-io", version = "2.1.0" }
rayon = { version = "1", optional = true } rayon = { version = "1", optional = true }
[dev-dependencies] [dev-dependencies]
tempfile = "3" tempfile = { workspace = true }
criterion = { version = "0.5", features = ["html_reports"] } criterion = { workspace = true }
clawhdf5-io = { path = "../clawhdf5-io", version = "2.1.0", features = ["mmap"] } clawhdf5-io = { path = "../clawhdf5-io", version = "2.1.0", features = ["mmap"] }
clawhdf5-format = { path = "../clawhdf5-format", version = "2.1.0", features = ["parallel", "fast-checksum"] } clawhdf5-format = { path = "../clawhdf5-format", version = "2.1.0", features = ["parallel", "fast-checksum"] }
clawhdf5-filters = { path = "../clawhdf5-filters", version = "2.1.0" } clawhdf5-filters = { path = "../clawhdf5-filters", version = "2.1.0" }