Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.9.3-rc2 wellspring changes #3052

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
03c47d6
Preparing for release candidate 2.
WardF Nov 19, 2024
20427fe
The echon implementation is hanging in an infinite loop, so reverting…
WardF Nov 21, 2024
451cba5
Updated release notes.
WardF Nov 21, 2024
57149a4
Attempting a different portable approach
WardF Nov 22, 2024
519a773
Fix conflict.
WardF Nov 22, 2024
e8a1732
Merge branch 'main' into v4.9.3-rc2-wellspring.wif
WardF Nov 22, 2024
901c004
Update release notes.
WardF Dec 6, 2024
d975889
Bump to later macOS for github actions.
WardF Dec 17, 2024
c24188c
Modify number of processes used when compiling or running tests.
WardF Dec 17, 2024
3c69092
Revert one version for macos based Github Actions.
WardF Dec 17, 2024
3f3b30a
Correct a couple of missed unbounded compiling threads
WardF Dec 17, 2024
a27cbc0
Add a stanza for some error handling.
WardF Dec 17, 2024
b423d75
Additional process checking.
WardF Dec 17, 2024
a4cce3e
Reverted to current released macos version.
WardF Dec 17, 2024
b50be57
More the fool me for assuming nproc would be available on the runners.
WardF Dec 17, 2024
f81ce2b
Tweak parallel processors for ubuntu-based tests.
WardF Dec 18, 2024
f17163b
Testing a new scheme to allow downloading newer hdf5 without breaking…
WardF Dec 18, 2024
1eb356f
Bump hdf5 to 1.14.5
WardF Dec 18, 2024
eaa3534
Temporarily ignore errors.
WardF Dec 18, 2024
5d0840f
Correct for missing directory
WardF Dec 18, 2024
e97c08f
A more reasonable, simpler approach
WardF Dec 18, 2024
4a3724b
Allow error catching.
WardF Dec 18, 2024
e4bb2cc
Revert to hdf5 1.14.3
WardF Dec 18, 2024
a7552cd
Add more diagnostic info
WardF Dec 18, 2024
1f1b23b
Additional cache checking.
WardF Dec 18, 2024
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
26 changes: 18 additions & 8 deletions .github/workflows/run_tests_osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:

build-deps-osx:

runs-on: macos-12
runs-on: macos-13

strategy:
matrix:
Expand Down Expand Up @@ -45,14 +45,24 @@ jobs:
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
pushd hdf5-${{ matrix.hdf5 }}
./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib
make -j
make install -j
make -j 12
make install -j 12
popd

- name: Handle Error for libhdf5-${{ runner.os }}-${{ matrix.hdf5 }}
shell: bash -l {0}
run: |
cat config.log
echo "Checking filesystem limits"
ulimit -a
echo "Checking user process limits"
sysctl -a | grep maxproc
if: ${{ failure() }}

nc-autotools-osx:

needs: [ nc-cmake-tests-oneoff-osx-shared, nc-cmake-tests-oneoff-osx-static, nc-ac-tests-oneoff-osx ]
runs-on: macos-12
runs-on: macos-13

strategy:
matrix:
Expand Down Expand Up @@ -158,7 +168,7 @@ jobs:
nc-cmake-osx:

needs: [ nc-cmake-tests-oneoff-osx-shared, nc-cmake-tests-oneoff-osx-static, nc-ac-tests-oneoff-osx ]
runs-on: macos-12
runs-on: macos-13

strategy:
matrix:
Expand Down Expand Up @@ -253,7 +263,7 @@ jobs:
nc-ac-tests-oneoff-osx:

needs: build-deps-osx
runs-on: macos-12
runs-on: macos-13

strategy:
matrix:
Expand Down Expand Up @@ -334,7 +344,7 @@ jobs:
nc-cmake-tests-oneoff-osx-shared:

needs: build-deps-osx
runs-on: macos-12
runs-on: macos-13

strategy:
matrix:
Expand Down Expand Up @@ -408,7 +418,7 @@ jobs:
nc-cmake-tests-oneoff-osx-static:

needs: build-deps-osx
runs-on: macos-12
runs-on: macos-13

strategy:
matrix:
Expand Down
61 changes: 46 additions & 15 deletions .github/workflows/run_tests_ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,23 +45,31 @@ jobs:
if: steps.cache-hdf5.outputs.cache-hit != 'true'
run: |
set -x

wget https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.bz2
tar -jxf hdf-4.2.15.tar.bz2
pushd hdf-4.2.15
./configure --prefix=${HOME}/environments/${{ matrix.hdf5 }} --disable-static --enable-shared --disable-fortran --disable-netcdf --with-szlib --enable-hdf4-xdr
make -j
make install -j
popd

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
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2

if [ "${{ matrix.hdf5 }}" = "1.14.5" ]; then
wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.5.tar.gz
tar -zxf hdf5_1.14.5.tar.gz
mv hdf5_1.14.5 hdf5-1.14.5
else
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
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
fi
pushd hdf5-${{ matrix.hdf5 }}
./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib
make -j
make install -j
popd


- name: Check libhdf5-serial-${{ matrix.hdf5}}
run: |
ls ${HOME}/environments/**

build-deps-parallel:

Expand All @@ -87,7 +95,18 @@ jobs:
uses: actions/cache@v4
with:
path: ~/environments/${{ matrix.hdf5 }}
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}-mpicc


- name: Install mpicc manually
shell: bash -l {0}
run: |
sudo apt remove mpich -y && sudo apt autoremove -y
wget https://www.mpich.org/static/downloads/4.2.3/mpich-4.2.3.tar.gz
tar -zxf mpich-4.2.3.tar.gz
cd mpich-4.2.3
./configure --prefix=/usr
make -j 12 && sudo make install -j 12


- name: Build libhdf5-${{ matrix.hdf5 }}-pnetcdf-1.12.3
Expand All @@ -102,9 +121,15 @@ jobs:
make -j
make install -j
popd
if [ "${{ matrix.hdf5 }}" = "1.14.5" ]; then
wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.5.tar.gz
tar -zxf hdf5_1.14.5.tar.gz
mv hdf5_1.14.5 hdf5-1.14.5
else
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
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
fi

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
tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2
pushd hdf5-${{ matrix.hdf5 }}
CC=mpicc ./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib --enable-parallel
make -j
Expand All @@ -117,6 +142,12 @@ jobs:
make -j
make install -j
popd

- name: Check libhdf5-parallel-${{ matrix.hdf5}}
run: |
ls ${HOME}/environments/**
echo ""
mpicc -v

#####
# One-Off Autotools-based tests.
Expand Down Expand Up @@ -344,7 +375,7 @@ jobs:
uses: actions/cache@v4
with:
path: ~/environments/${{ matrix.hdf5 }}
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}-mpicc

- name: Check Cache
shell: bash -l {0}
Expand Down Expand Up @@ -375,17 +406,17 @@ jobs:

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

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

- name: Run Tests
shell: bash -l {0}
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make check -j
run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make check -j 4
if: ${{ success() }}


Expand Down Expand Up @@ -462,14 +493,14 @@ jobs:
shell: bash -l {0}
run: |
cd build
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest --output-on-failure -j 12 .
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest --output-on-failure -j 4 .
if: ${{ success() }}

- name: Verbose Output if CTest Failure
shell: bash -l {0}
run: |
cd build
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 12 --rerun-failed --output-on-failure -VV
LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 4 --rerun-failed --output-on-failure -VV
if: ${{ failure() }}

##
Expand Down Expand Up @@ -590,7 +621,7 @@ jobs:
uses: actions/cache@v4
with:
path: ~/environments/${{ matrix.hdf5 }}
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}
key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }}-mpicc

- name: Check Cache
shell: bash -l {0}
Expand Down
2 changes: 1 addition & 1 deletion RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ This file contains a high-level description of this package's evolution. Release

## Release Notes

### Release Candidate 2 - TBD
### Release Candidate 2 - December 6, 2024

> 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.

Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE="-development"
# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
# for information regarding incrementing `-version-info`.
# These values should match those in CMakeLists.txt
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=22:0:0
AC_SUBST([netCDF_SO_VERSION]) netCDF_SO_VERSION=23:0:1

#####
# Set some variables used to generate a libnetcdf.settings file,
Expand Down
2 changes: 1 addition & 1 deletion test_common.in
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ fi

# OS/X and windows apparently have no echo -n option, so fake it
echon() {
${execdir}/../ncdump/echon -n $@
echo $@ | tr -d '\n'
}

# Test for filter availability
Expand Down
Loading