Skip to content

Commit 428db8d

Browse files
committed
Merging in main branch.
2 parents 2a23468 + c8f60fc commit 428db8d

25 files changed

+474
-184
lines changed

.github/workflows/run_tests_osx.yml

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
build-deps-osx:
1818

19-
runs-on: macos-12
19+
runs-on: macos-13
2020

2121
strategy:
2222
matrix:
@@ -45,14 +45,24 @@ jobs:
4545
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
4646
pushd hdf5-${{ matrix.hdf5 }}
4747
./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib
48-
make -j
49-
make install -j
48+
make -j 12
49+
make install -j 12
5050
popd
5151
52+
- name: Handle Error for libhdf5-${{ runner.os }}-${{ matrix.hdf5 }}
53+
shell: bash -l {0}
54+
run: |
55+
cat config.log
56+
echo "Checking filesystem limits"
57+
ulimit -a
58+
echo "Checking user process limits"
59+
sysctl -a | grep maxproc
60+
if: ${{ failure() }}
61+
5262
nc-autotools-osx:
5363

5464
needs: [ nc-cmake-tests-oneoff-osx-shared, nc-cmake-tests-oneoff-osx-static, nc-ac-tests-oneoff-osx ]
55-
runs-on: macos-12
65+
runs-on: macos-13
5666

5767
strategy:
5868
matrix:
@@ -158,7 +168,7 @@ jobs:
158168
nc-cmake-osx:
159169

160170
needs: [ nc-cmake-tests-oneoff-osx-shared, nc-cmake-tests-oneoff-osx-static, nc-ac-tests-oneoff-osx ]
161-
runs-on: macos-12
171+
runs-on: macos-13
162172

163173
strategy:
164174
matrix:
@@ -253,7 +263,7 @@ jobs:
253263
nc-ac-tests-oneoff-osx:
254264

255265
needs: build-deps-osx
256-
runs-on: macos-12
266+
runs-on: macos-13
257267

258268
strategy:
259269
matrix:
@@ -334,7 +344,7 @@ jobs:
334344
nc-cmake-tests-oneoff-osx-shared:
335345

336346
needs: build-deps-osx
337-
runs-on: macos-12
347+
runs-on: macos-13
338348

339349
strategy:
340350
matrix:
@@ -408,7 +418,7 @@ jobs:
408418
nc-cmake-tests-oneoff-osx-static:
409419

410420
needs: build-deps-osx
411-
runs-on: macos-12
421+
runs-on: macos-13
412422

413423
strategy:
414424
matrix:

.github/workflows/run_tests_ubuntu.yml

Lines changed: 53 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,13 @@ concurrency:
1414
cancel-in-progress: true
1515

1616
jobs:
17-
17+
1818
build-deps-serial:
1919

20-
# runs-on: ubuntu-latest
21-
2220
strategy:
2321
matrix:
2422
hdf5: [ 1.10.8, 1.12.2, 1.14.3 ]
25-
runs-on: [ ubuntu-latest ]
23+
runs-on: [ ubuntu-22.04 ]
2624

2725
runs-on: ${{ matrix.runs-on }}
2826

@@ -41,34 +39,42 @@ jobs:
4139
uses: actions/cache@v4
4240
with:
4341
path: ~/environments/${{ matrix.hdf5 }}
44-
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
42+
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
4543

4644

4745
- name: Build libhdf5-${{ matrix.hdf5 }}
4846
if: steps.cache-hdf5.outputs.cache-hit != 'true'
4947
run: |
5048
set -x
51-
5249
wget https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.bz2
5350
tar -jxf hdf-4.2.15.tar.bz2
5451
pushd hdf-4.2.15
5552
./configure --prefix=${HOME}/environments/${{ matrix.hdf5 }} --disable-static --enable-shared --disable-fortran --disable-netcdf --with-szlib --enable-hdf4-xdr
5653
make -j
5754
make install -j
5855
popd
59-
60-
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2
61-
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
56+
57+
if [ "${{ matrix.hdf5 }}" = "1.14.5" ]; then
58+
wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.5.tar.gz
59+
tar -zxf hdf5_1.14.5.tar.gz
60+
mv hdf5_1.14.5 hdf5-1.14.5
61+
else
62+
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2
63+
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
64+
fi
6265
pushd hdf5-${{ matrix.hdf5 }}
6366
./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib
6467
make -j
6568
make install -j
6669
popd
67-
70+
71+
- name: Check libhdf5-serial-${{ matrix.hdf5}}
72+
run: |
73+
ls ${HOME}/environments/**
6874
6975
build-deps-parallel:
7076

71-
runs-on: ubuntu-latest
77+
runs-on: ubuntu-22.04
7278

7379
strategy:
7480
matrix:
@@ -90,8 +96,7 @@ jobs:
9096
uses: actions/cache@v4
9197
with:
9298
path: ~/environments/${{ matrix.hdf5 }}
93-
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}
94-
99+
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
95100

96101
- name: Build libhdf5-${{ matrix.hdf5 }}-pnetcdf-1.12.3
97102
if: steps.cache-hdf5.outputs.cache-hit != 'true'
@@ -105,9 +110,15 @@ jobs:
105110
make -j
106111
make install -j
107112
popd
113+
if [ "${{ matrix.hdf5 }}" = "1.14.5" ]; then
114+
wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.5.tar.gz
115+
tar -zxf hdf5_1.14.5.tar.gz
116+
mv hdf5_1.14.5 hdf5-1.14.5
117+
else
118+
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2
119+
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
120+
fi
108121
109-
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2
110-
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
111122
pushd hdf5-${{ matrix.hdf5 }}
112123
CC=mpicc ./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib --enable-parallel
113124
make -j
@@ -120,6 +131,12 @@ jobs:
120131
make -j
121132
make install -j
122133
popd
134+
135+
- name: Check libhdf5-parallel-${{ matrix.hdf5}}
136+
run: |
137+
ls ${HOME}/environments/**
138+
echo ""
139+
mpicc -v
123140
124141
#####
125142
# One-Off Autotools-based tests.
@@ -131,11 +148,10 @@ jobs:
131148

132149
needs: build-deps-serial
133150

134-
135151
strategy:
136152
matrix:
137153
hdf5: [ 1.14.3 ]
138-
runs-on: [ ubuntu-latest ]
154+
runs-on: [ ubuntu-22.04 ]
139155

140156
runs-on: ${{ matrix.runs-on }}
141157
steps:
@@ -164,7 +180,7 @@ jobs:
164180
uses: actions/cache@v4
165181
with:
166182
path: ~/environments/${{ matrix.hdf5 }}
167-
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
183+
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
168184

169185
- name: Check Cache
170186
shell: bash -l {0}
@@ -229,11 +245,10 @@ jobs:
229245

230246
needs: build-deps-serial
231247

232-
233248
strategy:
234249
matrix:
235250
hdf5: [ 1.14.3 ]
236-
runs-on: [ ubuntu-latest ]
251+
runs-on: [ ubuntu-22.04 ]
237252

238253
runs-on: ${{ matrix.runs-on }}
239254
steps:
@@ -262,7 +277,7 @@ jobs:
262277
uses: actions/cache@v4
263278
with:
264279
path: ~/environments/${{ matrix.hdf5 }}
265-
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
280+
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
266281

267282
- name: Check Cache
268283
shell: bash -l {0}
@@ -327,7 +342,7 @@ jobs:
327342
nc-ac-tests-oneoff-parallel:
328343

329344
needs: build-deps-parallel
330-
runs-on: ubuntu-latest
345+
runs-on: ubuntu-22.04
331346

332347
strategy:
333348
matrix:
@@ -353,7 +368,7 @@ jobs:
353368
uses: actions/cache@v4
354369
with:
355370
path: ~/environments/${{ matrix.hdf5 }}
356-
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}
371+
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
357372

358373
- name: Check Cache
359374
shell: bash -l {0}
@@ -384,17 +399,17 @@ jobs:
384399

385400
- name: Build Library and Utilities
386401
shell: bash -l {0}
387-
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make -j
402+
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make -j 4
388403
if: ${{ success() }}
389404

390405
- name: Build Tests
391406
shell: bash -l {0}
392-
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make check TESTS="" -j
407+
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make check TESTS="" -j 4
393408
if: ${{ success() }}
394409

395410
- name: Run Tests
396411
shell: bash -l {0}
397-
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make check -j
412+
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make check -j 4
398413
if: ${{ success() }}
399414

400415

@@ -407,7 +422,7 @@ jobs:
407422
nc-cmake-tests-oneoff-serial-shared:
408423

409424
needs: build-deps-serial
410-
runs-on: ubuntu-latest
425+
runs-on: ubuntu-22.04
411426

412427
strategy:
413428
matrix:
@@ -437,7 +452,7 @@ jobs:
437452
uses: actions/cache@v4
438453
with:
439454
path: ~/environments/${{ matrix.hdf5 }}
440-
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
455+
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
441456

442457
- name: Check Cache
443458
shell: bash -l {0}
@@ -471,14 +486,14 @@ jobs:
471486
shell: bash -l {0}
472487
run: |
473488
cd build
474-
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest --output-on-failure -j 12 .
489+
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest --output-on-failure -j 4 .
475490
if: ${{ success() }}
476491

477492
- name: Verbose Output if CTest Failure
478493
shell: bash -l {0}
479494
run: |
480495
cd build
481-
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 12 --rerun-failed --output-on-failure -VV
496+
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 4 --rerun-failed --output-on-failure -VV
482497
if: ${{ failure() }}
483498

484499
##
@@ -487,7 +502,7 @@ jobs:
487502
nc-cmake-tests-oneoff-serial-static:
488503

489504
needs: build-deps-serial
490-
runs-on: ubuntu-latest
505+
runs-on: ubuntu-22.04
491506

492507
strategy:
493508
matrix:
@@ -518,7 +533,7 @@ jobs:
518533
uses: actions/cache@v4
519534
with:
520535
path: ~/environments/${{ matrix.hdf5 }}
521-
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
536+
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
522537

523538
- name: Check Cache
524539
shell: bash -l {0}
@@ -569,7 +584,7 @@ jobs:
569584
nc-cmake-tests-oneoff-parallel:
570585

571586
needs: build-deps-parallel
572-
runs-on: ubuntu-latest
587+
runs-on: ubuntu-22.04
573588

574589
strategy:
575590
matrix:
@@ -599,7 +614,7 @@ jobs:
599614
uses: actions/cache@v4
600615
with:
601616
path: ~/environments/${{ matrix.hdf5 }}
602-
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}
617+
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
603618

604619
- name: Check Cache
605620
shell: bash -l {0}
@@ -654,7 +669,7 @@ jobs:
654669
use_nc4: [ nc3, nc4 ]
655670
use_dap: [ dap_off, dap_on ]
656671
use_nczarr: [ nczarr_off, nczarr_on ]
657-
runs-on: [ ubuntu-latest ]
672+
runs-on: [ ubuntu-22.04 ]
658673

659674
runs-on: ${{ matrix.runs-on }}
660675
steps:
@@ -717,7 +732,7 @@ jobs:
717732
uses: actions/cache@v4
718733
with:
719734
path: ~/environments/${{ matrix.hdf5 }}
720-
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
735+
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
721736

722737
- name: Check Cache
723738
shell: bash -l {0}
@@ -813,7 +828,7 @@ jobs:
813828
nc-cmake:
814829

815830
needs: [ nc-cmake-tests-oneoff-serial-shared, nc-cmake-tests-oneoff-serial-static, nc-ac-tests-oneoff-serial-shared, nc-ac-tests-oneoff-serial-static, nc-cmake-tests-oneoff-parallel, nc-ac-tests-oneoff-parallel ]
816-
runs-on: ubuntu-latest
831+
runs-on: ubuntu-22.04
817832

818833
strategy:
819834
matrix:
@@ -860,7 +875,7 @@ jobs:
860875
uses: actions/cache@v4
861876
with:
862877
path: ~/environments/${{ matrix.hdf5 }}
863-
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}
878+
key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-ubuntu-22.04
864879

865880
- name: Check Cache
866881
shell: bash -l {0}

RELEASE_NOTES.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,12 @@ This file contains a high-level description of this package's evolution. Release
1515
1616
## Release Notes
1717

18-
### Release Candidate 2 - TBD
18+
### Release Candidate 2 - December 6, 2024
1919

2020
> Note: To avoid a conflict between `_FillValue` and `libc++18`, we have introduced a new option, `--enable-legacy-macros` for autotools and `NETCDF_ENABLE_LEGACY_MACROS` for cmake. These are turned on by default currently but will be turned off eventually. Developers are encouraged to move away from the `FillValue` macro and replace it with the new `NC_FillValue` macro. See [Github #2858](https://github.com/Unidata/netcdf-c/issues/2858) for more information.
2121
22+
23+
* Add new `nc-config` flag, `--plugin-searchpath` to report a plugin search path which may be different from the plugin install directory. See [Github #3046](https://github.com/Unidata/netcdf-c/pull/3034) for more information.
2224
* Cleanup the blosc testing in nc_test4 and nczarr_test. See [Github #3046](https://github.com/Unidata/netcdf-c/pull/3046) for more information.
2325
* Provide better documentation for the .rc file mechanism and API. See [Github #2956](https://github.com/Unidata/netcdf-c/pull/2956) for more information.
2426
* Convert NCZarr V2 to store all netcdf-4 specific info as attributes. This improves interoperability with other Zarr implementations by no longer using non-standard keys. The price to be paid is that lazy attribute reading cannot be supported. See [Github #2836](https://github.com/Unidata/netcdf-c/pull/2936) for more information.

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-development"
2929
# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
3030
# for information regarding incrementing `-version-info`.
3131
# These values should match those in CMakeLists.txt
32-
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=22:0:0
32+
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=23:0:1
3333

3434
#####
3535
# Set some variables used to generate a libnetcdf.settings file,

0 commit comments

Comments
 (0)