Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
383 commits
Select commit Hold shift + click to select a range
d717f79
Update information in README
mulimoen Apr 7, 2021
7c737df
Merge pull request #145 from mulimoen/feature/ArrayReplace
mulimoen Apr 7, 2021
1b8436a
attribute support
pmarks Apr 8, 2021
57a398b
clippy fixes
pmarks Apr 8, 2021
b65f0c1
fmt and add test for attribute names
pmarks Apr 8, 2021
832ffa3
Replace num-integer in src/error.rs
mulimoen Apr 7, 2021
251c709
Remove num-traits and num-integer dependencies
mulimoen Apr 7, 2021
db5e73d
Add section on MSRV in changelog
mulimoen Apr 8, 2021
df4b27e
Remove error code for size_t
mulimoen Apr 8, 2021
125e008
Skip impl of H5ErrorCode for hid_t on hdf5<1.10
mulimoen Apr 8, 2021
a5729c7
Fixing review nits
mulimoen Apr 8, 2021
6c1ca84
Merge pull request #146 from mulimoen/feature/remove_num
mulimoen Apr 8, 2021
0d44c87
address some review comments
pmarks Apr 10, 2021
06c8024
note about unused args to H5Acreate2
pmarks Apr 10, 2021
f69eb75
s/attribute_names/attr_names/
pmarks Apr 10, 2021
8267537
s/attribute_/attr_/
pmarks Apr 10, 2021
8e519ce
add CHANGELOG entry for attributes
pmarks May 19, 2021
24beeaa
Merge pull request #65 from pmarks/pmarks/attrs
mulimoen May 20, 2021
7eaba8c
Add hdf5-1.10.6 VFS functions
mulimoen Feb 20, 2021
854354a
Add bindings specific to hdf5-1.10.7
mulimoen Feb 20, 2021
db0efa3
Update hdf5-src to 1.10.7
mulimoen May 20, 2021
8506cf3
CI: Revert macos special casing on static build
mulimoen May 20, 2021
ae86d5f
Add changelog entries
mulimoen May 20, 2021
d43e867
Opt out of libz default features
mulimoen May 20, 2021
c77e5c9
Don't build hdf5-c utils
mulimoen May 23, 2021
3d6fec7
Merge pull request #154 from mulimoen/feature/hdf5-c-1-10-7
mulimoen May 23, 2021
52d2588
added safe wrapper and test for external link
balintbalazs Apr 28, 2020
7653caf
fixed failing test
balintbalazs May 26, 2021
52259b6
Make unlink behaviour explicit
mulimoen May 28, 2021
c996368
updated changelog
balintbalazs Jun 5, 2021
28fac6c
added link to HDF5 site in 'link_external' docs
balintbalazs Jun 5, 2021
615a8d3
Clarify changelog
mulimoen Jun 5, 2021
ec6aead
Change argument names of link functions
mulimoen Jun 5, 2021
40654f1
Merge pull request #93 from balintbalazs/external-links
mulimoen Jun 9, 2021
f96bd11
Clippy lint fixes
mulimoen Jun 18, 2021
45da8d0
Prevent hdf5 calling atexit() closing handles
mulimoen Jun 18, 2021
4fdfdf1
Add to changelog
mulimoen Jun 27, 2021
ca5eb20
Merge pull request #160 from mulimoen/bugfix/dont_atexit
mulimoen Jun 27, 2021
50eb4cc
Add error stack wrapper
mulimoen Jul 4, 2021
2daadc0
Don't expand an error stack by default
mulimoen Jul 4, 2021
ac46b65
Silence errors by default
mulimoen Jul 4, 2021
10228fb
Add changes to CHANGELOG
mulimoen Jul 4, 2021
ca91bdc
Rename error stack
mulimoen Jul 4, 2021
0a07b31
Make error items public
mulimoen Jul 4, 2021
7ee4a73
Document h5Eget_msg bug
mulimoen Jul 4, 2021
8b38169
Fix clippy lint
mulimoen Jul 4, 2021
51ffd9d
impl Deref over Index
mulimoen Jul 4, 2021
4aa918f
Reintroduce silence_errors
mulimoen Jul 4, 2021
ae15350
Merge pull request #161 from mulimoen/feature/error
mulimoen Jul 5, 2021
9fbe667
Don't unload hdf5 in build script
mulimoen Jul 11, 2021
3b6dfa4
Merge pull request #163 from mulimoen/bugfix/CI-macos
aldanor Jul 12, 2021
cdf97c3
Remove semicolon following rust-lang/rust/79813
mulimoen Aug 16, 2021
d998a63
Remove immediate dereference
mulimoen Aug 16, 2021
dd87a02
Clippy lints
mulimoen Aug 16, 2021
3822061
Merge pull request #166 from mulimoen/bugfix/semicolon_macro
mulimoen Aug 17, 2021
d4724fe
Ubuntu 16.04 is no longer available
mulimoen Sep 22, 2021
9445078
Merge pull request #169 from mulimoen/ci/deprecated_ubuntu
mulimoen Sep 26, 2021
f463980
Add deprecated functions and structs
mulimoen Aug 18, 2020
5a78268
Allow deprecated set_comment (with warning)
mulimoen Aug 18, 2020
9dc87f7
Homogenise casing and parentheses
mulimoen Jul 5, 2021
ca21001
Use lowercase for all deprecation notes
mulimoen Oct 6, 2021
3ccbe03
Merge pull request #117 from mulimoen/feature/versioned_functionality
mulimoen Oct 6, 2021
ca10fab
Add more iterators on Group
mulimoen Jun 2, 2021
baab13f
Prefer rename of hdf5-sys items
mulimoen Oct 6, 2021
edb8ff1
Add common traits to {Traversal,Iteration}Order
aldanor Oct 7, 2021
573a417
Add LinkType/LinkInfo, update iter_visit signature
aldanor Oct 7, 2021
075efb3
Clean up iter_visit function signature
aldanor Oct 7, 2021
6bbea30
hdf5_sys: add PartialEq/Eq to H5O_token_t
aldanor Oct 11, 2021
cfa7788
Add Location{Type,Info,Token} + conversion traits
aldanor Oct 11, 2021
9992600
Re-export new location types in the crate
aldanor Oct 11, 2021
d5082bd
Add Location:{get_info_by_name,open_by_token} etc
aldanor Oct 11, 2021
afa5b95
Group iter: use new loc methods, &str for names
aldanor Oct 11, 2021
514abbc
Impl Default for IterationOrder/TraversalOrder
aldanor Oct 11, 2021
89b3e45
Add Group::iter_visit_default
aldanor Oct 11, 2021
9de1b20
Rename TraversalOrder::Lexicographic -> 'Name'
aldanor Oct 11, 2021
537077d
(Remove a few unneeded imports)
aldanor Oct 11, 2021
2115383
Re-export Link{Info,Type}, make fields pub
aldanor Oct 11, 2021
ce48e1d
Group::Iter_visit: replace unwraps with expects
aldanor Oct 11, 2021
4ba1386
Group::Iter_visit: also check for null name ptr
aldanor Oct 11, 2021
b5a760e
(Remove now-redundant todo comment)
aldanor Oct 11, 2021
ae75ef0
Merge pull request #11 from aldanor/feature/iteration-2
mulimoen Oct 11, 2021
e5e56a7
Clippy lint
mulimoen Oct 11, 2021
7103de9
Fix early return
mulimoen Oct 11, 2021
312fac4
Adjust import of H5Oget_info
mulimoen Oct 11, 2021
2f7cc24
Document additions in CHANGELOG
mulimoen Oct 11, 2021
05477f0
Add tests for Location Info
mulimoen Oct 11, 2021
46c24e2
Merge pull request #157 from mulimoen/feature/iteration
aldanor Oct 13, 2021
6da044c
Allow TryInto for selection
mulimoen Apr 7, 2021
0ac9766
Use const generics for From<Arr> for Selection
mulimoen Apr 8, 2021
80328ba
Manually implementing From for SliceOrIndex
mulimoen Apr 9, 2021
73e8949
Adjust tests to use TryInto
mulimoen Apr 9, 2021
4d44714
Rework SliceOrIndex to fit with valid selections
mulimoen Apr 16, 2021
9c19467
Document modules in hdf5-sys
mulimoen Aug 9, 2020
934d294
Document the Hyperslab
mulimoen Apr 20, 2021
252136f
Clippy lint
mulimoen Aug 17, 2021
b762e22
Merge pull request #147 from mulimoen/feature/try_into_selection
aldanor Oct 13, 2021
739f50d
Remove Registry
mulimoen Feb 17, 2021
22ee768
Ensure drops don't close unrelated objects
mulimoen Feb 17, 2021
31c5e62
Document file close degree
mulimoen Feb 19, 2021
8e327e2
Add address sanitizer to CI
mulimoen Mar 19, 2021
4642da1
Fix memory leak
mulimoen Mar 19, 2021
55b084c
Add entry to CHANGELOG
mulimoen Apr 7, 2021
bc19ab2
Fix memory leak of DynValue
mulimoen Apr 7, 2021
4695193
Add cast to OwnedDynValue
mulimoen Apr 10, 2021
fde768e
Clippy lint
mulimoen Aug 17, 2021
9703771
Add entry to changelog
mulimoen Oct 6, 2021
3050354
Remove unnecessary prefix
mulimoen Oct 13, 2021
2e5f897
Import ManuallyDrop in function
mulimoen Oct 13, 2021
573f596
Import std::mem
mulimoen Oct 13, 2021
92b9ebb
Implicit casting with as _
mulimoen Oct 13, 2021
095aa37
Clarify behaviour in README for closing a File
mulimoen Oct 13, 2021
2a13aeb
Minor changes following review
mulimoen Oct 13, 2021
13adc75
Add try_borrow for Handle
mulimoen Oct 13, 2021
105b53f
Add entries to CHANGELOG
mulimoen Oct 13, 2021
061848c
Remove manual incref
mulimoen Oct 13, 2021
acf6c33
Merge pull request #139 from mulimoen/bugfix/handles
mulimoen Oct 13, 2021
0786a31
Fix deadlock on init
mulimoen Oct 16, 2021
1302eb9
Always apt update on wine
mulimoen Oct 16, 2021
d7f56f8
Add to changelog
mulimoen Oct 16, 2021
0b21bcb
Merge pull request #175 from mulimoen/bugfix/deadlock-init
mulimoen Oct 16, 2021
b181bb7
Fix filters
mulimoen Oct 20, 2021
b0874b6
Update blosc-src to fix pthreads import error
mulimoen Oct 20, 2021
672802a
Do not test filters on win-gnu
mulimoen Oct 20, 2021
68a0656
Merge pull request #177 from mulimoen/bugfix/filters
aldanor Oct 21, 2021
e9d74ba
Bump winreg to 0.10, pretty_assertions to 1.0
aldanor Oct 13, 2021
f635d4a
(Clean up attribute tests)
aldanor Oct 17, 2021
14b5544
Clean up get_id_type
aldanor Oct 17, 2021
3d32b78
Rename cast() -> cast_unchecked()
aldanor Oct 21, 2021
0241b22
Add Handle.id_type(), dont re-export get_id_type()
aldanor Oct 21, 2021
5822cef
Add ObjectClass::cast() - not unsafe, checked
aldanor Oct 21, 2021
c7a0db9
Rename refcount() -> get_refcount()
aldanor Oct 21, 2021
ea36ef6
Don't re-export is_valid_user_id()
aldanor Oct 21, 2021
05eebfc
(Handle cleanup, use id directly)
aldanor Oct 21, 2021
2522bed
Object - implement safe as_*() downcast methods
aldanor Oct 21, 2021
6a5d0bd
Further location-info updates and improvements
aldanor Oct 21, 2021
c64f754
Update location-info tests
aldanor Oct 21, 2021
5095e7f
Further cleanup, remove all funcs from handle.rs
aldanor Oct 21, 2021
52aba45
FileAccess plist: simplify set/get of low version
aldanor Oct 22, 2021
1463a68
Fix up location info tests for all lib versions
aldanor Oct 22, 2021
a40134d
(Clippy fixes)
aldanor Oct 22, 2021
7107624
(Remove accidental method versioning in FA plist)
aldanor Oct 22, 2021
7a07f26
Add tests for loc_type_by_name()
aldanor Oct 22, 2021
f5518e0
Make location-info compile for hdf5 < 1.10.3
aldanor Oct 22, 2021
c76cbd7
Rename: remove `get_` from location info methods
aldanor Oct 22, 2021
281cf53
Update changelog
aldanor Oct 22, 2021
294d006
Update location-info tests for clarity on fails
aldanor Oct 22, 2021
0bd2575
Another attempt to fix loc info timestamps tests
aldanor Oct 22, 2021
70fa37c
Allow unused variables in two internal functions
aldanor Oct 22, 2021
94cd946
Update `LocationInfo` docstring
aldanor Oct 22, 2021
31401db
Simplify Handle::try_borrow(), add a comment
aldanor Oct 22, 2021
cad6b72
Merge pull request #173 from aldanor/feature/loc-more
aldanor Oct 22, 2021
c3d53c6
Update the example to showcase some new features
aldanor Oct 22, 2021
b952e19
Make blosc filter feature-gated in example
mulimoen Oct 23, 2021
f0ba9db
Run example in CI
mulimoen Oct 23, 2021
521015e
Fix blosc filter on incompressible buffer
mulimoen Oct 23, 2021
afc3a55
Add blosc_*() methods to dataset builder(s)
aldanor Oct 22, 2021
861cef5
Simplify the example (use blosc_zstd)
aldanor Oct 22, 2021
6f4f6ba
Refactor dataset builder impls using paste macros
aldanor Oct 23, 2021
0d83492
Relax location info timestamp tests
aldanor Oct 23, 2021
3bfe46c
Updated the example in the README as well
aldanor Oct 23, 2021
ad8abd5
Added tokei badge to the readme
aldanor Oct 23, 2021
aa6fbb5
Update the changelog (re: readme)
aldanor Oct 23, 2021
2048764
Rewrite the example to fit better in the readme
aldanor Oct 23, 2021
71da959
Merge pull request #178 from aldanor/feature/update-example
aldanor Oct 23, 2021
a72efc1
Bump dev req of hdf5 in hdf5-derive to 0.8
aldanor Oct 23, 2021
86f7a78
Clean up the entire changelog for consistency
aldanor Oct 23, 2021
ef015f2
Release 0.8.0
aldanor Oct 23, 2021
ab10c96
Merge pull request #179 from aldanor/release/0.8
aldanor Oct 23, 2021
334da51
hdf5-derive dev req of hdf5 must be 1 version less
aldanor Oct 23, 2021
05b968b
Add example for chunking of data
mulimoen Oct 23, 2021
a232b6a
Apply suggestions from code review
mulimoen Oct 23, 2021
2791ae0
Improve changelog message
mulimoen Oct 23, 2021
5b7ab7a
Merge pull request #180 from mulimoen/feature/chunking
mulimoen Oct 24, 2021
42268f1
Enable doc_cfg on doc.rs builds
aldanor Oct 24, 2021
b810b31
Replace hdf5_1_2_3 cfg flags with feature="1.2.3"
aldanor Oct 24, 2021
ef7ee8c
Add cfg to document item availability
mulimoen Oct 24, 2021
2d6dc4c
Add docs.rs like CI task
mulimoen Oct 24, 2021
e6b966c
Add doc(cfg) for 1.12 item
mulimoen Oct 26, 2021
2e71218
Remove h5_ prefix on internal features
mulimoen Oct 26, 2021
75a4aa5
Add documentation regarding meta-features
mulimoen Oct 26, 2021
1bbede2
Add features inside macro expansion to show in doc
mulimoen Oct 28, 2021
79caf1d
hdf5-sys: h5_have_* -> feature = "have-*"
aldanor Nov 12, 2021
a3faa4c
hdf5 crate: cfg(have_*) -> feature="have-*"
aldanor Nov 12, 2021
c8431ca
Clean up impl_builder!() macros a little bit
aldanor Nov 12, 2021
4ccf8bb
Enable doc cfg for hdf5-sys
mulimoen Nov 12, 2021
994f33a
Merge pull request #181 from aldanor/feature/doc-cfg
aldanor Nov 12, 2021
4c55d3d
Add new functions from 1.12.1
mulimoen Nov 12, 2021
3f9abb6
Add official support for hdf5 1.12.1
mulimoen Nov 12, 2021
9f31dd0
Add 1.12.1 to CI
mulimoen Nov 12, 2021
d679e0c
Add support for 1.10.8
mulimoen Nov 12, 2021
81873ad
Merge pull request #184 from mulimoen/feature/hdf5-1_12_1
mulimoen Nov 13, 2021
9933d58
Tests: allow with_tmp_*() to return any type
aldanor Nov 13, 2021
897e971
Add brief blosc/lzf dataset filter tests
aldanor Nov 13, 2021
62a08ff
Add tests for filter pipelines
aldanor Nov 13, 2021
68c5739
Add another filter pipeline test (with dataset)
aldanor Nov 13, 2021
2e41db1
Filter::extract_pipeline: don't fall back to user
aldanor Nov 13, 2021
66e7d9f
Fix filters parsing (cdata size may grow)
aldanor Nov 14, 2021
2008409
Fix a bug in set_local_blosc() - config was zeroed
aldanor Nov 14, 2021
0b059a2
Filters tests: check for deflate/szip availability
aldanor Nov 14, 2021
9af5d68
Rename filters::gzip_available->deflate_available
aldanor Nov 14, 2021
fa93e30
Update the changelog (filters/blosc fixes)
aldanor Nov 14, 2021
0843626
Hide H5Z_filter_t from Filter::get_info() signature
aldanor Nov 19, 2021
a573e72
Bugfix in Filter::get_info() availability check
aldanor Nov 19, 2021
7aaf3b0
In validate_filters(), check filter availability
aldanor Nov 19, 2021
56c90b1
Update and extend filter pipeline tests
aldanor Nov 19, 2021
81c8b3b
Improve error messages while registering filters
aldanor Nov 19, 2021
c6be789
(Revert 0843626)
aldanor Nov 19, 2021
fbce026
Public re-export of H5Z_filter_t in filters mod
aldanor Nov 19, 2021
aefc45f
Add back gzip_available() but mark as deprecated
aldanor Nov 19, 2021
8195fce
Merge pull request #185 from aldanor/feature/blosc-lzf-fix
aldanor Nov 19, 2021
ed97be6
Support #[repr(packed)] in #[derive(H5Type)]
aldanor Nov 19, 2021
56d5be1
Update hdf5-derive tests re: #[repr(packed)
aldanor Nov 19, 2021
5c6255e
Support #[repr(transparent)] in #[derive(H5Type)]
aldanor Nov 19, 2021
bfa3090
Update hdf5-derive tests re: #[repr(transparent)]
aldanor Nov 19, 2021
8877f38
Update the changelog re: packed/transparent reprs
aldanor Nov 19, 2021
8348074
Merge pull request #188 from aldanor/feature/more-derive-reprs
aldanor Nov 19, 2021
a274ceb
Changelog: mention the shift to using cfg features
aldanor Nov 20, 2021
c33c8bd
Release 0.8.1
aldanor Nov 20, 2021
9f98ab9
Merge pull request #189 from aldanor/feature/pre-0.8.1
aldanor Nov 21, 2021
e684786
Simplify feature expansion in macro
mulimoen Nov 24, 2021
99742eb
Fix feature gate for H5Pget_fapl_direct
mulimoen Nov 24, 2021
a1ff5b3
Add changelog entry
mulimoen Nov 24, 2021
c3bd296
Merge pull request #190 from mulimoen/simplify-macro
mulimoen Nov 24, 2021
ee299da
Fix latest round of clippy lints (#191)
mulimoen Jan 26, 2022
1ed9b78
Support hdf5 version 1.13 (#192)
mulimoen Jan 27, 2022
628fb35
Use proc-macro-error
mulimoen Jan 26, 2022
2bc7d60
Add changelog entry
mulimoen Jan 27, 2022
2d0a5c1
Merge pull request #196 from mulimoen/feature/proc-macro-error
mulimoen Jan 27, 2022
86274d3
Move catch-all in match after variants
mulimoen Jan 28, 2022
27a59c2
Merge pull request #197 from mulimoen/bugfix/h5vl_macro
mulimoen Jan 28, 2022
de9bba6
Add hdf5 helper attribute with rename functionality
ajtribick Feb 18, 2022
2559e0a
Support field renaming on tuple structs and enums
ajtribick Feb 19, 2022
268cd29
Merge pull request #203 from ajtribick/field-renaming
mulimoen Mar 31, 2022
e2f9b81
Add ByteReader implementing io::Read and io::Seek
Rikorose Feb 1, 2022
a3d645f
Test ByteReader's io::Read,Seek
Rikorose Feb 1, 2022
7aaa543
Add ByteReader changelog and improve docs
Rikorose Feb 1, 2022
26092d9
ByteReader comments
Rikorose Feb 1, 2022
660cd04
Improve docs
Rikorose Feb 2, 2022
c511666
Apply suggestions from code review
Rikorose Feb 2, 2022
db4be9d
Make ByteReader Clone
Rikorose Apr 25, 2022
d71b03e
Merge pull request #198 from Rikorose/feat_io_read
mulimoen Apr 25, 2022
99986c7
simple optional path to download HDF5 from conda and statically link
pmarks Feb 3, 2021
8a8ad1b
fmt & add CI of conda download path
pmarks Feb 3, 2021
60e2819
Widen version range for attohttpc.
adam-azarchs Aug 26, 2021
a349845
Verify checksums for downloaded conda archives.
adam-azarchs Aug 26, 2021
f04251a
Add cargo:rerun-if- directives for conda feature.
adam-azarchs Oct 20, 2021
ce60728
Expose const_generics feature (#3)
luiz10x Oct 7, 2021
b82155d
add download links for arm64 conda packages
pmarks Nov 3, 2021
538b49f
use correct sha256sums for aarch64
pmarks Nov 3, 2021
476eb4d
Revert "Expose const_generics feature (#3)"
pmarks Nov 15, 2021
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
125 changes: 115 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ name: CI

on:
push:
branches:
- master
pull_request:
branches:
- master
Expand Down Expand Up @@ -33,7 +35,19 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: ${{matrix.command}}
args: "${{matrix.command == 'fmt' && '--all -- --check' || '-- -D warnings'}}"
args: "${{matrix.command == 'fmt' && '--all -- --check' || '--workspace --exclude hdf5-src -- -D warnings -D clippy::cargo'}}"

doc: # This task should mirror the procedure on docs.rs
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with: {submodules: true}
- name: Install Rust (${{matrix.rust}})
uses: actions-rs/toolchain@v1
with: {toolchain: nightly, profile: minimal, override: true}
- name: Document workspace
run: env RUSTDOCFLAGS="--cfg docsrs" cargo doc --features hdf5-sys/static,hdf5-sys/zlib,blosc,lzf

brew:
name: brew
Expand Down Expand Up @@ -80,9 +94,11 @@ jobs:
- {os: macos, version: 1.10.5, mpi: openmpi, channel: conda-forge, rust: beta}
- {os: ubuntu, version: 1.10.6, channel: anaconda, rust: stable}
- {os: ubuntu, version: 1.10.6, mpi: mpich, channel: conda-forge, rust: nightly}
# - {os: ubuntu, version: 1.10.8, channel: conda-forge, rust: stable}
- {os: ubuntu, version: 1.12.0, mpi: openmpi, channel: conda-forge, rust: stable}
- {os: macos, version: 1.12.0, channel: conda-forge, rust: stable}
- {os: windows, version: 1.12.0, channel: conda-forge, rust: stable}
- {os: ubuntu, version: 1.12.1, channel: conda-forge, rust: stable}
defaults:
run:
shell: bash -l {0}
Expand All @@ -94,7 +110,7 @@ jobs:
uses: actions-rs/toolchain@v1
with: {toolchain: '${{matrix.rust}}', profile: minimal, override: true}
- name: Install conda
uses: goanpeca/setup-miniconda@v1
uses: conda-incubator/setup-miniconda@v2
with: {auto-update-conda: false, activate-environment: testenv}
- name: Install HDF5 (${{matrix.version}}${{matrix.mpi && '-' || ''}}${{matrix.mpi}})
run: |
Expand Down Expand Up @@ -129,6 +145,39 @@ jobs:
with: {toolchain: '${{matrix.rust}}', profile: minimal, override: true}
- name: Build and test all crates
run: cargo test --workspace -v --features hdf5-sys/static,hdf5-sys/zlib --exclude hdf5-derive
- name: Build and test with filters
run: cargo test --workspace -v --features hdf5-sys/static,hdf5-sys/zlib,lzf,blosc --exclude hdf5-derive
if: matrix.rust != 'stable-gnu'
- name: Run examples
run: |
cargo r --example simple --features hdf5-sys/static,hdf5-sys/zlib,lzf,blosc
cargo r --example chunking --features hdf5-sys/static,hdf5-sys/zlib,lzf,blosc
if: matrix.rust != 'stable-gnu'

conda_dl:
name: static
runs-on: ${{matrix.os}}-latest
strategy:
fail-fast: false
matrix:
include:
- {os: ubuntu, rust: stable}
- {os: windows, rust: stable-msvc}
- {os: windows, rust: stable-gnu}
- {os: macos, rust: stable}
steps:
- name: Checkout repository
uses: actions/checkout@v2
with: {submodules: true}
- name: Change to older toolchain
if: matrix.os == 'macos'
run: sudo xcode-select -s "/Applications/Xcode_11.7.app"
- name: Install Rust (${{matrix.rust}})
uses: actions-rs/toolchain@v1
with: {toolchain: '${{matrix.rust}}', profile: minimal, override: true}
- name: Build and test all crates
run: cargo test --workspace -v --features conda --exclude hdf5-derive


apt:
name: apt
Expand All @@ -137,7 +186,6 @@ jobs:
fail-fast: false
matrix:
include:
- {ubuntu: 16.04, mpi: serial, rust: nightly}
- {ubuntu: 18.04, mpi: mpich, rust: beta}
- {ubuntu: 20.04, mpi: openmpi, rust: stable}
steps:
Expand All @@ -157,6 +205,12 @@ jobs:
run: |
[ "${{matrix.mpi}}" != "serial" ] && FEATURES=mpio
cargo test -vv --features="$FEATURES"
- name: Test crate for locking on synchronisation
run: |
[ "${{matrix.mpi}}" != "serial" ] && FEATURES=mpio
cargo test -vv --features="$FEATURES" -- lock_part
cargo test -vv --features="$FEATURES" -- lock_part
cargo test -vv --features="$FEATURES" -- lock_part

msi:
name: msi
Expand All @@ -165,7 +219,7 @@ jobs:
fail-fast: false
matrix:
rust: [stable]
version: [1.8, '1.10']
version: ["1.8", "1.10", "1.12", "1.13"]
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -176,18 +230,26 @@ jobs:
- name: Configure environment
shell: bash
run: |
if [ "${{matrix.version}}" == "1.8" ]; then
if [[ "${{matrix.version}}" == "1.8" ]]; then
VERSION=1.8.21
DL_PATH=hdf5-1.8.21-Std-win7_64-vs14.zip
echo ::set-env name=MSI_PATH::hdf\\HDF5-1.8.21-win64.msi
else
echo "MSI_PATH=hdf\\HDF5-1.8.21-win64.msi" >> $GITHUB_ENV
elif [[ "${{matrix.version}}" == "1.10" ]]; then
VERSION=1.10.0
DL_PATH=windows/extra/hdf5-1.10.0-win64-VS2015-shared.zip
echo ::set-env name=MSI_PATH::hdf5\\HDF5-1.10.0-win64.msi
echo "MSI_PATH=hdf5\\HDF5-1.10.0-win64.msi" >> $GITHUB_ENV
elif [[ "${{matrix.version}}" == "1.12" ]]; then
VERSION=1.12.0
DL_PATH=hdf5-1.12.0-Std-win10_64-vs16.zip
echo "MSI_PATH=hdf\\HDF5-1.12.0-win64.msi" >> $GITHUB_ENV
else
VERSION=1.13.0
DL_PATH=windows/hdf5-1.13.0-Std-win10_64-vs16.zip
echo "MSI_PATH=hdf\\HDF5-1.13.0-win64.msi" >> $GITHUB_ENV
fi
BASE_URL=https://support.hdfgroup.org/ftp/HDF5/prev-releases
echo ::set-env name=DL_URL::$BASE_URL/hdf5-${{matrix.version}}/hdf5-$VERSION/bin/$DL_PATH
echo ::add-path::C:\\Program Files\\HDF_Group\\HDF5\\$VERSION\\bin
echo "DL_URL=$BASE_URL/hdf5-${{matrix.version}}/hdf5-$VERSION/bin/$DL_PATH" >> $GITHUB_ENV
echo "C:\\Program Files\\HDF_Group\\HDF5\\$VERSION\\bin" >> $GITHUB_PATH
- name: Install HDF5 (${{matrix.version}})
shell: pwsh
run: |
Expand All @@ -196,3 +258,46 @@ jobs:
msiexec /i ${{env.MSI_PATH}} /quiet /qn /norestart
- name: Build and test all crates
run: cargo test -vv

msrv:
name: Minimal Supported Rust Version
runs-on: ubuntu-18.04
strategy:
fail-fast: false
steps:
- name: Checkout repository
uses: actions/checkout@v2
with: {submodules: true}
- name: Install Rust
uses: actions-rs/toolchain@v1
with: {toolchain: 1.51, profile: minimal, override: true}
- name: Build and test all crates
run:
cargo test --workspace -vv --features=hdf5-sys/static --exclude=hdf5-derive

wine:
name: wine
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with: {submodules: true}
- name: Install Rust
uses: actions-rs/toolchain@v1
with: {toolchain: stable, target: x86_64-pc-windows-gnu, profile: minimal, override: true}
- name: Install dependencies
run: sudo apt-get update && sudo apt install wine64 mingw-w64
- name: Build and test
run: env CARGO_TARGET_X86_64_PC_WINDOWS_GNU_RUNNER=wine64 cargo test --features hdf5-sys/static --target x86_64-pc-windows-gnu -- --skip test_compile_fail
addr_san:
name: Address sanitizer
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with: {submodules: true}
- name: Install Rust
uses: actions-rs/toolchain@v1
with: {toolchain: nightly, profile: minimal, override: true}
- name: Run test with sanitizer
run: env RUSTFLAGS="-Z sanitizer=address" cargo test --features hdf5-sys/static --target x86_64-unknown-linux-gnu --workspace --exclude hdf5-derive
Loading