Summary
The CI matrix for both Ubuntu and macOS does not test against HDF5 2.0.0. This should be added to ensure netCDF-C remains compatible with the latest major HDF5 release.
What was done
HDF5 2.0.0 has been added to the following CI jobs in run_tests_ubuntu.yml and run_tests_osx.yml:
Build dependency jobs
build-deps-serial (Ubuntu): matrix extended to [1.10.8, 1.12.2, 1.14.3, 2.0.0]
build-deps-osx (macOS): matrix extended to [1.12.2, 1.14.3, 2.0.0]
The build step required a special case for 2.0.0 because HDF5 2.0.0 is CMake-only — it no longer ships an autotools ./configure script, and the source tarball is only available from GitHub (not the HDF FTP server):
# Download
wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_2.0.0.tar.gz
tar -zxf hdf5_2.0.0.tar.gz
mv hdf5-hdf5_2.0.0 hdf5-2.0.0 # GitHub archives extract as hdf5-hdf5_2.0.0/
# Build with CMake
cmake -S hdf5-2.0.0 -B hdf5-2.0.0/build \
-DCMAKE_INSTALL_PREFIX=${HOME}/environments/2.0.0 \
-DHDF5_BUILD_HL_LIB=ON \
-DHDF5_BUILD_SHARED_LIBS=ON \
-DHDF5_BUILD_STATIC_LIBS=OFF \
-DCMAKE_BUILD_TYPE=Release
cmake --build hdf5-2.0.0/build -j
cmake --install hdf5-2.0.0/build
CMake test jobs (both Ubuntu and macOS)
nc-cmake / nc-cmake-osx: added 2.0.0 with exclude: hdf5: 2.0.0 / use_nc4: nc3 (nc3 disables HDF5 so those combinations are meaningless)
nc-cmake-tests-oneoff-osx-shared: added 2.0.0
nc-cmake-tests-oneoff-osx-static: added 2.0.0
Autotools test jobs
The nc-autotools (Ubuntu) and nc-autotools-osx / nc-ac-tests-oneoff-osx (macOS) jobs were not given 2.0.0 in the full matrix for the autotools-based netCDF configure (the Ubuntu nc-autotools job does include it since HDF5 2.0.0 still installs pkgconfig and shared libs that ./configure --enable-hdf5 can find via CFLAGS/LDFLAGS).
Notes
- The verified GitHub tarball extraction directory name is
hdf5-hdf5_2.0.0/ (confirmed via tar -tzf).
- HDF5 2.0.0 is available locally at
/usr/local/hdf5-2.0.0 on the dev machine.
- No changes were needed to the Windows or big-endian CI workflows.
Summary
The CI matrix for both Ubuntu and macOS does not test against HDF5 2.0.0. This should be added to ensure netCDF-C remains compatible with the latest major HDF5 release.
What was done
HDF5 2.0.0 has been added to the following CI jobs in
run_tests_ubuntu.ymlandrun_tests_osx.yml:Build dependency jobs
build-deps-serial(Ubuntu): matrix extended to[1.10.8, 1.12.2, 1.14.3, 2.0.0]build-deps-osx(macOS): matrix extended to[1.12.2, 1.14.3, 2.0.0]The build step required a special case for 2.0.0 because HDF5 2.0.0 is CMake-only — it no longer ships an autotools
./configurescript, and the source tarball is only available from GitHub (not the HDF FTP server):CMake test jobs (both Ubuntu and macOS)
nc-cmake/nc-cmake-osx: added2.0.0withexclude: hdf5: 2.0.0 / use_nc4: nc3(nc3 disables HDF5 so those combinations are meaningless)nc-cmake-tests-oneoff-osx-shared: added2.0.0nc-cmake-tests-oneoff-osx-static: added2.0.0Autotools test jobs
The
nc-autotools(Ubuntu) andnc-autotools-osx/nc-ac-tests-oneoff-osx(macOS) jobs were not given2.0.0in the full matrix for the autotools-based netCDF configure (the Ubuntunc-autotoolsjob does include it since HDF5 2.0.0 still installspkgconfigand shared libs that./configure --enable-hdf5can find viaCFLAGS/LDFLAGS).Notes
hdf5-hdf5_2.0.0/(confirmed viatar -tzf)./usr/local/hdf5-2.0.0on the dev machine.