Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
283 commits
Select commit Hold shift + click to select a range
7cac1b4
Update hdf5/src/globals.rs
philbucher Sep 1, 2025
5440caf
Fix H5FD_WINDOWS initialization on Windows
philbucher Sep 1, 2025
6cd321d
Merge pull request #96 from philbucher/refactor-lazy-static
magnusuMET Sep 1, 2025
725422d
Bump crate-ci/typos from 1.35.5 to 1.35.7
dependabot[bot] Sep 2, 2025
d77a829
Merge pull request #97 from metno/dependabot/github_actions/crate-ci/…
dependabot[bot] Sep 2, 2025
b8dd462
Upgrade upper bound of ndarray
mulimoen Oct 16, 2025
2662373
CI: Fix dep override
mulimoen Oct 16, 2025
a7a7ddd
Skip unneccesary docs.rs feature flag
mulimoen Oct 16, 2025
7bb2bbc
Pin docs build
mulimoen Oct 16, 2025
25f4410
Merge pull request #104 from metno/bump_ndarray
mulimoen Oct 16, 2025
b2fb140
Bump crate-ci/typos from 1.35.7 to 1.38.1
dependabot[bot] Oct 16, 2025
4fedfcc
Merge pull request #102 from metno/dependabot/github_actions/crate-ci…
dependabot[bot] Oct 16, 2025
d0d2a29
Release new hdf5 version
mulimoen Oct 16, 2025
6937438
add links to examples in the README
CramBL Oct 25, 2025
b67782f
add simple example of continuously writing to a chunked 1D dataset, a…
CramBL Oct 25, 2025
7c07c8b
add new example to ci.yml and define a FEATURES variable to avoid dup…
CramBL Oct 25, 2025
e9922e9
add doc comment
CramBL Oct 25, 2025
8859f90
implement debug/display for Datatype and improve error message on fai…
CramBL Oct 25, 2025
fb652f4
add new example to ci.yml and define a FEATURES variable to avoid dup…
CramBL Oct 25, 2025
f7a6777
add pretty_assertions to workspace dev-dependencies
CramBL Oct 26, 2025
b3b17f5
ensure the H5Type derive macro also works inside the hdf5 crate
CramBL Oct 26, 2025
bea491b
improve error message for failed conversions
CramBL Oct 26, 2025
ebd27db
Implement proper way of getting name of HDF5 attribute
CramBL Oct 26, 2025
855bdf7
supply acpl_id to h5Acreate2 to conform to API
CramBL Oct 26, 2025
3851eb5
import types instead of fully qualifying
CramBL Oct 26, 2025
2272096
add ObjectCopy property list
CramBL Nov 2, 2025
65f155a
add support for object copying (H5Ocopy) via copy_to and copy_to_with…
CramBL Nov 2, 2025
a5c39a6
ci: dont document dependencies
philbucher Nov 19, 2025
25d595c
use derive for Default
philbucher Nov 19, 2025
d04e7f0
Merge pull request #116 from philbucher/clippy-derive-default
mulimoen Nov 19, 2025
e22350d
Merge pull request #115 from philbucher/dont-doc-deps
mulimoen Nov 19, 2025
e794e6c
SWMR functionality
magnusuMET Apr 29, 2025
a8c3907
Add backwards compatibility
magnusuMET Apr 29, 2025
8cbc639
Fix MSRV
mulimoen Nov 19, 2025
8cda124
Merge pull request #79 from magnusuMET/SWMR
mulimoen Nov 19, 2025
196b793
deps: update libloading requirement from 0.8 to 0.9
dependabot[bot] Nov 19, 2025
194142f
Bump crate-ci/typos from 1.38.1 to 1.39.2
dependabot[bot] Nov 19, 2025
f158e9b
Merge pull request #114 from metno/dependabot/github_actions/crate-ci…
mulimoen Nov 19, 2025
9690237
Merge pull request #111 from metno/dependabot/cargo/libloading-0.9
mulimoen Nov 19, 2025
3ee8f7b
Downgrade libloading (MSRV)
mulimoen Nov 19, 2025
0b0360e
Merge pull request #118 from metno/downgrade-libloading
mulimoen Nov 19, 2025
f24e1f0
Merge branch 'main' into fix-attr-name
CramBL Nov 20, 2025
4a82bc8
changelog
CramBL Nov 20, 2025
30eb808
Merge branch 'main' into fix-attr-name
CramBL Nov 20, 2025
bc3f379
Revert "enable threadsafe feature for static build"
CramBL Nov 20, 2025
fd5a1e6
Merge branch 'main' into add-h5ocopy
CramBL Nov 20, 2025
1788dab
Merge branch 'main' into more-examples
CramBL Nov 20, 2025
6a229ce
review comments - simplify
CramBL Nov 20, 2025
5fbd0e2
Update CHANGELOG.md
CramBL Nov 20, 2025
9d3b85a
gate example behind necessary feature version
CramBL Nov 20, 2025
009673d
Merge pull request #109 from CramBL/add-h5ocopy
mulimoen Nov 20, 2025
3870ab3
Downgrade correct indexmap
mulimoen Nov 20, 2025
11e3259
Add cmake flags for static msvc runtime
Nov 12, 2025
5942195
Set cmake variables based on the env
Nov 13, 2025
63498e3
Set CMAKE_POLICY_DEFAULT_CMP0091 to NEW
mulimoen Nov 20, 2025
603c83c
Merge pull request #108 from CramBL/fix-attr-name
mulimoen Nov 20, 2025
5e935b6
Merge pull request #105 from CramBL/more-examples
mulimoen Nov 20, 2025
0680799
Merge branch 'main' into better-errors
CramBL Nov 20, 2025
61dc387
fix bad concurrency group name
CramBL Nov 20, 2025
b1236ed
avoid using lint reasons to stick to the current MSRV
CramBL Nov 20, 2025
7ba222d
Merge pull request #119 from satarsa/static_msvc
mulimoen Nov 20, 2025
2463d46
remove pretty_assertions from workspace dependencies
CramBL Nov 20, 2025
75e2ab5
Ensure the CI workflow workflow gets cancelled if a newer commit has …
CramBL Nov 20, 2025
231d7f7
Merge pull request #107 from CramBL/better-errors
mulimoen Nov 20, 2025
9edbe82
Add to changelog
mulimoen Nov 23, 2025
2ee9a73
Merge pull request #120 from mulimoen/changelog
mulimoen Nov 23, 2025
fdc3287
Bump actions/checkout from 5 to 6
dependabot[bot] Nov 24, 2025
650bd29
Merge pull request #122 from metno/dependabot/github_actions/actions/…
dependabot[bot] Nov 24, 2025
33e0f5e
Initial ZFP filters in place with dcpl testing working.
Nov 26, 2025
e7e3492
zfp interface methods are implemented. lossless isn't quite right
Nov 26, 2025
cf9617e
Fixed the interface with reversible so it now runs the compression fi…
Nov 27, 2025
6dc4e12
Remove unused ZfpMode import from dataset_create.rs
Nov 27, 2025
da2a1cf
fixed typo obscuring the `zfp_available()` method for testing the fea…
Nov 27, 2025
fe99182
removed unused test function assert_unchecked() left over from testing.
Nov 28, 2025
2b23f52
ran cargo fmt
Nov 28, 2025
6ec697f
test build commit
Nov 28, 2025
44fd1fb
test build commit removed old comment
Nov 28, 2025
aa35732
moved builder logic from impl Dataset to impl DatasetInner and wrappe…
Nov 29, 2025
cae3363
Incremented version number and updated the change log
Nov 29, 2025
b81cf00
Removed call to nbytes in filter_zfp_compress. The ZFP library does n…
Nov 29, 2025
c63d87d
fixed breaking typo for nightly lint
Dec 1, 2025
040d3e9
Bump crate-ci/typos from 1.39.2 to 1.40.0
dependabot[bot] Dec 1, 2025
537e55c
added an export mode. renamed some varibles and fixed the header otup…
Dec 3, 2025
eb317eb
typo fixes
Dec 3, 2025
34d0fc2
removed a conversion I don't think I need
Dec 3, 2025
a808b37
debugging work
Dec 3, 2025
e888e23
more debug statements
Dec 3, 2025
fb0b309
more debug
Dec 3, 2025
c5a6087
more debug
Dec 3, 2025
4676265
got the bugs cleand up somewhat so now at least the code works. Still…
Dec 3, 2025
b197fd0
working ish
Dec 4, 2025
868d4ea
this is now outputting the headers that h5py can decompose
Dec 4, 2025
a388e7a
Code appears to be working. Now to clean up before writing tests
Dec 5, 2025
826eef8
Added docstrings to all new functions
Dec 5, 2025
d9e5772
added more tests
Dec 5, 2025
e059221
Merge pull request #129 from metno/dependabot/github_actions/crate-ci…
mulimoen Dec 5, 2025
00fc4b8
fixed version requirements, cleaned up tests and fixed a feature flag
Dec 8, 2025
f217b61
removed an import
Dec 9, 2025
ba0f24e
ran cargo fmt
Dec 9, 2025
026521e
spell check
Dec 9, 2025
696fdb8
Add minimal docs for public items
rytheo Jun 24, 2023
a34e779
Merge pull request #130 from rytheo/metno-docs
mulimoen Dec 13, 2025
701da86
Exclude development scripts from published package
weiznich Dec 16, 2025
872b427
Merge pull request #132 from GiGainfosystems/exclude_scripts
mulimoen Dec 16, 2025
e3aac67
Update macos-13 to 14 in CI
mulimoen Dec 16, 2025
4cfe980
Switch macos to newer hdf5
mulimoen Dec 16, 2025
83d91b3
Merge pull request #133 from metno/update-macos-runners
mulimoen Dec 16, 2025
2a44fc6
Merge branch 'main' into add_zfp
Dec 19, 2025
6d19859
Bump crate-ci/typos from 1.40.0 to 1.40.1
dependabot[bot] Dec 29, 2025
e689076
Merge pull request #135 from metno/dependabot/github_actions/crate-ci…
mulimoen Dec 29, 2025
099bd1d
Fixing small nits
mulimoen Jan 19, 2026
b43dfd0
Fix indexmap override
mulimoen Jan 19, 2026
a338fda
Merge pull request #124 from frankblubaugh/add_zfp
mulimoen Jan 19, 2026
db2c1b2
feat: HDF5 2.0.0
activexray Nov 30, 2025
4d66fb5
cargo fmt
mulimoen Dec 16, 2025
08e50eb
Fix brew builds
mulimoen Dec 16, 2025
6451938
Fix feature gate for mpio
mulimoen Dec 16, 2025
ef3a0d6
Fix MPIO driver
mulimoen Dec 16, 2025
9730522
Add changelog
mulimoen Dec 17, 2025
b84ce42
Fix compatability with previous versions
mulimoen Dec 22, 2025
4f91a36
Bump crate-ci/typos from 1.40.1 to 1.42.1
dependabot[bot] Jan 19, 2026
fa002f5
Merge pull request #134 from metno/hdf5_v2
mulimoen Jan 19, 2026
bd54c54
Set versions for packages
mulimoen Jan 19, 2026
1fc12e7
Merge pull request #139 from metno/release-next
mulimoen Jan 19, 2026
930dd42
Set path to license file
mulimoen Jan 19, 2026
131222e
Fix issue #140
mulimoen Jan 20, 2026
991b6ee
Merge pull request #138 from metno/dependabot/github_actions/crate-ci…
mulimoen Jan 20, 2026
6f14338
Merge pull request #143 from metno/fix-issue-140
mulimoen Jan 20, 2026
b28bbec
Release new version of hdf5
mulimoen Jan 20, 2026
bebb297
Release new version of hdf5-sys
mulimoen Jan 20, 2026
c520899
Bump crate-ci/typos from 1.42.1 to 1.42.2
dependabot[bot] Jan 26, 2026
528bfa7
Merge pull request #145 from metno/dependabot/github_actions/crate-ci…
mulimoen Jan 26, 2026
241932c
Fix build failure when enabling both `hl` & `threadsafe`
42triangles Feb 9, 2026
d27fbbe
Merge pull request #148 from 42triangles/main
mulimoen Feb 9, 2026
1ecd172
Update changelog
mulimoen Feb 9, 2026
fa2dfd4
Bump brew hdf5 version
mulimoen Feb 9, 2026
4c04c1d
Fix MPIO driver in hdf5 2.0
mulimoen Feb 9, 2026
010e24f
Find brew hdf5@2.0
mulimoen Feb 9, 2026
293c67d
Fix cfg typo
mulimoen Feb 9, 2026
4466da1
Set new version of hdf5 crate
mulimoen Feb 9, 2026
23948b2
Fix include name
mulimoen Feb 9, 2026
a99c025
Merge pull request #149 from metno/bump-hdf5-src
mulimoen Feb 9, 2026
8fa1712
Bump crate-ci/typos from 1.42.2 to 1.43.4
dependabot[bot] Feb 9, 2026
5de8793
Add some checks for non-compressible compressions
mulimoen Feb 10, 2026
820765e
Check typesize for blosc
mulimoen Feb 10, 2026
aa52850
Move crashing example to tests
mulimoen Feb 10, 2026
6bc2bd9
Quit early if szip not available
mulimoen Feb 10, 2026
5992a43
Add to changelog
mulimoen Feb 10, 2026
d99070a
Merge pull request #153 from metno/fix-check-comp-size
mulimoen Feb 10, 2026
32b91a5
Release new version of hdf5
mulimoen Feb 10, 2026
3971da7
Bump rand
mulimoen Feb 10, 2026
509643e
Increase MSRV
mulimoen Feb 10, 2026
c4d8d8a
Merge pull request #154 from metno/bump-rand
mulimoen Feb 10, 2026
5994e6f
Merge pull request #150 from metno/dependabot/github_actions/crate-ci…
mulimoen Feb 10, 2026
4c09edf
Bump crate-ci/typos from 1.43.4 to 1.44.0
dependabot[bot] Mar 2, 2026
37f1d20
deps: update winreg requirement from 0.55 to 0.56
dependabot[bot] Mar 16, 2026
ae610e4
Merge pull request #161 from metno/dependabot/cargo/winreg-0.56
mulimoen Mar 23, 2026
e2bef95
Merge pull request #159 from metno/dependabot/github_actions/crate-ci…
mulimoen Mar 23, 2026
f1feb89
Update package caches
mulimoen Mar 23, 2026
6ebfecc
Add support for hdf5 2.1.0
mulimoen Mar 23, 2026
0d9e9cb
Use hdf5 2.1.0
mulimoen Mar 23, 2026
71c0163
Add to changelog
mulimoen Mar 23, 2026
ee77af5
Add homebrew version detection
mulimoen Mar 23, 2026
574c628
Merge pull request #164 from metno/feat_hdf5_2_1_0
mulimoen Mar 23, 2026
840f1a1
Bump crate-ci/typos from 1.44.0 to 1.46.0
dependabot[bot] May 4, 2026
fccb636
Merge pull request #170 from metno/dependabot/github_actions/crate-ci…
mulimoen May 5, 2026
54ab1fe
Bump crate-ci/typos from 1.46.0 to 1.47.0
dependabot[bot] Jun 3, 2026
8eec6db
Bump brew hdf5 version
mulimoen Jun 4, 2026
abc9260
Merge pull request #177 from metno/fix-ci
mulimoen Jun 4, 2026
2eb27e9
Merge pull request #174 from metno/dependabot/github_actions/crate-ci…
mulimoen Jun 4, 2026
41fbfa3
Bump conda-incubator/setup-miniconda from 3 to 4
dependabot[bot] Jun 4, 2026
0815f79
Add support for file locking
mulimoen Jun 4, 2026
79be4a7
Merge pull request #176 from metno/file-locking
mulimoen Jun 4, 2026
d1c63fb
Merge pull request #169 from metno/dependabot/github_actions/conda-in…
mulimoen Jun 4, 2026
aa409e0
Release new version of hdf5
mulimoen Jun 4, 2026
2718e1b
Fix RUSTSEC-2024-0436: replace paste (unmaintained) with pastey
CramBL Jun 7, 2026
1390581
Bump crate-ci/typos from 1.47.0 to 1.47.2
dependabot[bot] Jun 8, 2026
41a0c29
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 22, 2026
4ce24c6
chore: Replace proc-marcro-error2 with syn::Error.
jetuk Jun 24, 2026
a8908ec
Merge pull request #182 from metno/dependabot/github_actions/actions/…
mulimoen Jun 24, 2026
62fefe8
Merge pull request #180 from metno/dependabot/github_actions/crate-ci…
mulimoen Jun 24, 2026
db4f624
Merge pull request #179 from CramBL/fix/replace-unmaintained-paste
mulimoen Jun 24, 2026
45f6197
Add T: 'static bounds to tests derives
mulimoen Jun 24, 2026
d64cfb8
Merge pull request #183 from jetuk/rm-proc-marco-error2
mulimoen Jun 24, 2026
b257e4a
Use edition 2024
mulimoen Feb 10, 2026
8abf02c
Merge pull request #155 from metno/edition_2024
mulimoen Jun 24, 2026
62e708d
Update changelog
mulimoen Jun 25, 2026
903927b
Bump versions
mulimoen Jun 25, 2026
15683e2
Bump versions
mulimoen Jun 25, 2026
4e4e227
Add enum conversion regression tests
CramBL Jun 26, 2026
bcfcaaa
Reject incompatible enum conversions
CramBL Jun 26, 2026
7c575aa
Avoid enum checks for reference types
CramBL Jun 26, 2026
04efcd3
Add tests for enum checks behaviour with attributes and references
CramBL Jun 26, 2026
e0fe405
Add test for compound enum superset
mulimoen Jun 26, 2026
28cb9f0
Add to changelog
mulimoen Jul 1, 2026
40987c6
Merge pull request #184 from CramBL/fix-enum-load
mulimoen Jul 1, 2026
1421c0a
Add GroupCreate property list wrapper
CramBL Jul 1, 2026
56f17d2
Add GroupBuilder for configurable group creation
CramBL Jul 1, 2026
69ec344
Make obj_track_times group tests version-independent
CramBL Jul 1, 2026
507969e
Fix flaky test_incref_decref_drop under parallel tests
CramBL Jul 1, 2026
b7d61ed
changelog entry for group create property list
CramBL Jul 2, 2026
d2d5b7f
Merge pull request #187 from CramBL/group-create-plist
mulimoen Jul 2, 2026
d106ed2
Release new version of hdf5
mulimoen Jul 2, 2026
d53f1c0
Bump crate-ci/typos from 1.47.2 to 1.48.0
dependabot[bot] Jul 6, 2026
a7264ae
feat(containers): add read_into_raw for reading into existing buffers
Benncs Jul 7, 2026
33cd55a
feat(containers): implement add read_into_raw for Container
Benncs Jul 7, 2026
3983f3d
Merge pull request #189 from metno/dependabot/github_actions/crate-ci…
mulimoen Jul 8, 2026
40d201e
feat(containers): restrict usage of read_into_raw for Copy types
Benncs Jul 8, 2026
7e967a3
test(dataset): add tests for read_into_raw new implementation
Benncs Jul 8, 2026
e4b2486
chore: cargo fmt and clippy
Benncs Jul 8, 2026
a72e2d8
Add structured HDF5 error codes and error-path tests
CramBL Jul 16, 2026
e645cd3
fixup! Add structured HDF5 error codes and error-path tests
CramBL Jul 16, 2026
00a2567
fix lints
CramBL Jul 16, 2026
112fb6f
fixup! Add structured HDF5 error codes and error-path tests
CramBL Jul 16, 2026
00cb65e
fixup! Add structured HDF5 error codes and error-path tests
CramBL Jul 16, 2026
0f71eab
fixup! Add structured HDF5 error codes and error-path tests
CramBL Jul 16, 2026
7242fb7
Restrict UCX to TCP in conda MPICH CI to avoid flaky MPI_Init
CramBL Jul 16, 2026
e1030a7
fix big-endian float type
alexhroom Jul 24, 2026
4afcbd4
Merge pull request #194 from alexhroom/patch-1
mulimoen Jul 24, 2026
98a9c15
Add to changelog
mulimoen Jul 24, 2026
840187a
Fix useless_borrows_in_formatting
mulimoen Jul 24, 2026
a418a74
Merge pull request #195 from metno/clippy
mulimoen Jul 24, 2026
eb048dc
deps: update syn requirement from 2.0 to 3.0
dependabot[bot] Jul 20, 2026
b92c4bd
Fix missing arg in TypePath
mulimoen Jul 24, 2026
325207b
Merge pull request #190 from Benncs/feat/read-into-buffer
mulimoen Jul 24, 2026
78d5c73
Merge pull request #193 from metno/dependabot/cargo/syn-3.0
mulimoen Jul 24, 2026
d819ca0
Add to changelog
mulimoen Jul 24, 2026
f6bfe20
Merge branch 'main' into error-codes
mulimoen Jul 24, 2026
c8b49aa
Implement DoubleEndedIterator for erro codes
mulimoen Jul 24, 2026
1b950d6
Merge pull request #192 from CramBL/error-codes
mulimoen Jul 24, 2026
c84a1bd
Fix append masking the real error on an unreadable file
CramBL Jul 24, 2026
0cd3043
Merge pull request #196 from CramBL/fix-append-error-masking
mulimoen Jul 25, 2026
f9041d0
Release new versions of crates
mulimoen Jul 25, 2026
ccf4bde
Add regex for entire 2.x.y series
mulimoen Aug 4, 2026
0716543
CI: Remove hdf5 1.10 from brew test matrix
mulimoen Aug 4, 2026
dd58597
Merge pull request #199 from metno/support-hdf5-2.2.0-series
mulimoen Aug 4, 2026
7545685
Update bundled hdf5 to 2.2.0
mulimoen Aug 4, 2026
bc58a52
Ignore docs for bundled hdf5
mulimoen Aug 4, 2026
9cb00dc
Merge pull request #200 from metno/bundle-hdf5-2.2.0
mulimoen Aug 4, 2026
10e8bb9
Release new versions of src/sys
mulimoen Aug 4, 2026
110f162
Bump crate-ci/typos from 1.48.0 to 1.49.0
dependabot[bot] Aug 10, 2026
72cd76c
Document backport
mulimoen Aug 10, 2026
d0f6d31
Merge pull request #204 from metno/backport-hdf5-sys-v0.11.4
mulimoen Aug 10, 2026
1d39c43
Build hdf5-src library at fixed path
mulimoen Aug 11, 2026
f0ebd81
Merge pull request #205 from metno/static-libdir
mulimoen Aug 11, 2026
f1d77ed
Release new versions of src
mulimoen Aug 11, 2026
5170baa
Add line and file_name to ErrorFrame
mulimoen Aug 12, 2026
fd60e04
Merge pull request #201 from metno/dependabot/github_actions/crate-ci…
mulimoen Aug 12, 2026
4e9d501
Merge pull request #207 from metno/error-frame-expand
mulimoen Aug 12, 2026
25418ae
Release new versions of hdf5
mulimoen Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 43 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ on:
schedule:
- cron: '0 18 * * *'

# Ensure this workflow gets cancelled if a newer commit has been pushed on the same branch (unless it's the default branch)
concurrency:
group: ${{ github.workflow }}-@{{ github.ref }}
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
Expand All @@ -23,9 +24,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Check spelling
uses: crate-ci/typos@7bc041cbb7ca9167c9e0e4ccbb26f48eb0f9d4e0 # v1.30.2
uses: crate-ci/typos@8a48f81b6c64dcfea44b3633223084c4be58ac5f # v1.49.0

lint:
name: lint
Expand All @@ -38,7 +39,7 @@ jobs:
- {command: clippy, rust: stable}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
with: {toolchain: '${{matrix.rust}}', components: 'rustfmt, clippy'}
Expand All @@ -51,15 +52,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with: {toolchain: nightly}
with: {toolchain: "nightly-2025-09-01"}
- name: Document workspace
env:
RUSTDOCFLAGS: "--cfg docsrs"
run: cargo doc --features static,zlib,blosc-all,lzf,f16,complex
run: cargo doc --features static,zlib,blosc-all,lzf,f16,complex --no-deps

brew:
name: brew
Expand All @@ -68,12 +69,12 @@ jobs:
fail-fast: false
matrix:
include:
- {version: hdf5@1.10}
- {version: hdf5@1.14}
- {version: hdf5@2.1}
- {version: hdf5}
- {version: hdf5-mpi, mpi: true}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand All @@ -94,22 +95,19 @@ jobs:
include:
- {os: ubuntu-latest, version: 1.8.16, channel: conda-forge, rust: stable}
- {os: windows-latest, version: 1.8.17, channel: conda-forge, rust: stable}
- {os: macos-13, version: 1.8.18, channel: anaconda, rust: stable}
- {os: ubuntu-latest, version: 1.8.20, channel: anaconda, rust: beta}
- {os: ubuntu-latest, version: 1.10.1, channel: anaconda, rust: nightly}
- {os: windows-latest, version: 1.10.2, channel: anaconda, rust: beta}
- {os: ubuntu-latest, version: 1.10.3, channel: conda-forge, rust: nightly}
- {os: windows-latest, version: 1.10.4, channel: anaconda, rust: nightly}
- {os: ubuntu-latest, version: 1.10.4, mpi: openmpi, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.10.5, channel: conda-forge, rust: beta}
- {os: macos-13, version: 1.10.5, mpi: openmpi, channel: conda-forge, rust: beta}
- {os: ubuntu-latest, version: 1.10.6, channel: anaconda, rust: stable}
- {os: ubuntu-latest, version: 1.10.6, mpi: mpich, channel: conda-forge, rust: nightly}
# - {os: ubuntu, version: 1.10.8, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.12.0, mpi: openmpi, channel: conda-forge, rust: stable}
- {os: macos-latest, version: 1.12.0, channel: conda-forge, rust: stable}
- {os: windows-latest, version: 1.12.0, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.12.1, channel: conda-forge, rust: stable}
- {os: macos-14, version: 1.12.1, mpi: openmpi, channel: conda-forge, rust: beta}
- {os: macos-latest, version: 1.14.0, channel: conda-forge, rust: stable}
- {os: windows-latest, version: 1.14.0, channel: conda-forge, rust: stable}
- {os: ubuntu-latest, version: 1.14.0, channel: conda-forge, rust: stable}
Expand All @@ -118,13 +116,13 @@ jobs:
shell: bash -l {0}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
with: {toolchain: '${{matrix.rust}}'}
- name: Install conda
uses: conda-incubator/setup-miniconda@v3
uses: conda-incubator/setup-miniconda@v4
with: {auto-update-conda: false, activate-environment: testenv, miniconda-version: latest}
- name: Set conda for Arm64
if: runner.arch == 'arm64' && runner.os == 'macOS'
Expand All @@ -138,6 +136,12 @@ jobs:
export HDF5_DIR="$CONDA_PREFIX"
[ "${{matrix.mpi}}" != "" ] && FEATURES=mpio
[ "${{runner.os}}" != "Windows" ] && export RUSTFLAGS="-C link-args=-Wl,-rpath,$CONDA_PREFIX/lib"
# doctests are linked separately by rustdoc and need the rpath too
[ "${{runner.os}}" != "Windows" ] && export RUSTDOCFLAGS="-C link-args=-Wl,-rpath,$CONDA_PREFIX/lib"
# conda's MPICH uses UCX, which tries to open an RDMA transport on the runner's NIC
# and aborts MPI_Init when it is unsupported. Restrict UCX to TCP and shared memory,
# which is all a single-process test needs.
[ "${{matrix.mpi}}" == "mpich" ] && export UCX_TLS=tcp,self,sm
[ "${{matrix.mpi}}" == "mpich" ] && [ "${{runner.os}}" == "Linux" ] && export MPICH_CC=$(which gcc)
[ "${{matrix.mpi}}" == "openmpi" ] && [ "${{runner.os}}" == "Linux" ] && export OMPI_CC=$(which gcc)
cargo test -vv --features="$FEATURES"
Expand All @@ -155,7 +159,7 @@ jobs:
- {os: macos, rust: stable}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand All @@ -167,13 +171,16 @@ jobs:
if: matrix.rust != 'stable-gnu'
- name: Run examples
run: |
cargo r --example simple --features hdf5-sys/static,hdf5-sys/zlib,lzf,blosc-all
cargo r --example chunking --features hdf5-sys/static,hdf5-sys/zlib,lzf,blosc-all
cargo r --example simple --features ${{ env.FEATURES }}
cargo r --example chunking --features ${{ env.FEATURES }}
cargo r --example continuously_rw_1d --features ${{ env.FEATURES }}
if: matrix.rust != 'stable-gnu'
env:
FEATURES: hdf5-sys/static,hdf5-sys/zlib,lzf,blosc-all

apt:
name: apt
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
Expand All @@ -182,7 +189,7 @@ jobs:
- {mpi: openmpi, rust: stable}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand All @@ -192,6 +199,7 @@ jobs:
[ "${{matrix.mpi}}" == "mpich" ] && PACKAGES="libhdf5-mpich-dev mpich"
[ "${{matrix.mpi}}" == "openmpi" ] && PACKAGES="libhdf5-openmpi-dev openmpi-bin"
[ "${{matrix.mpi}}" == "serial" ] && PACKAGES="libhdf5-dev"
sudo apt-get update
sudo apt-get install $PACKAGES
- name: Build and test all crates
run: |
Expand All @@ -214,7 +222,7 @@ jobs:
version: ["1.8", "1.10", "1.12", "1.14"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -260,7 +268,7 @@ jobs:
# rust: [stable]
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# uses: actions/checkout@v7
# with: {submodules: true}
# - name: Install Rust (${{matrix.rust}})
# uses: dtolnay/rust-toolchain@stable
Expand All @@ -279,22 +287,22 @@ jobs:

msrv:
name: Minimal Supported Rust Version
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with: {toolchain: "1.80"}
with: {toolchain: "1.85.1"}
- name: Create lock-file
run:
cargo update
- name: Override deps
run:
cargo update half@2.5.0 --precise 2.4.1
# - name: Override deps
# run: |
# cargo update half@2.7.1 --precise 2.4.1
- name: Build and test all crates
run:
cargo test --locked --workspace -vv --features=hdf5-sys/static,hdf5-sys/zlib --exclude=hdf5-metno-derive
Expand All @@ -304,7 +312,7 @@ jobs:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# uses: actions/checkout@v7
# with: {submodules: true}
# - name: Install Rust
# uses: dtolnay/rust-toolchain@stable
Expand All @@ -321,12 +329,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with: {submodules: true}
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with: {toolchain: nightly, profile: minimal, override: true}
- name: Run test with sanitizer
env:
RUSTFLAGS: "-Z sanitizer=address"
# Doctests are linked by rustdoc separately, so without this they miss the sanitizer
# runtime and fail to link against the instrumented library
RUSTDOCFLAGS: "-Z sanitizer=address"
run: cargo test --features hdf5-sys/static --target x86_64-unknown-linux-gnu --workspace --exclude hdf5-metno-derive
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
submodules: true
- name: Install libhdf5
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ target/
*.ipynb*
.idea/
sweep.timestamp
.cargo/
.cargo/config.toml
5 changes: 5 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,8 @@ extend-exclude = [
extend-ignore-identifiers-re = [
"Dout",
]
# Intentional historical HDF5 misspellings, normalized in error.rs scrub()
extend-ignore-re = [
"accessability",
"accessibilty",
]
Loading