From dae68906862f16f09aeba6982d8e278fd9e98e42 Mon Sep 17 00:00:00 2001 From: wkliao Date: Thu, 16 Apr 2026 11:54:55 -0500 Subject: [PATCH 1/2] Github actions: separate builds of netcdf4 and adios using matrix --- .github/workflows/netcdf4_adios.yml | 30 +++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/.github/workflows/netcdf4_adios.yml b/.github/workflows/netcdf4_adios.yml index 5dd2ecebe..1c21dafe0 100644 --- a/.github/workflows/netcdf4_adios.yml +++ b/.github/workflows/netcdf4_adios.yml @@ -39,6 +39,7 @@ jobs: fail-fast: false # This disables the default cancel-on-failure behavior matrix: debug_mode: [ debug, nodebug ] + externals: [ netcdf4, adios ] runs-on: ubuntu-latest timeout-minutes: 120 @@ -70,6 +71,7 @@ jobs: m4 --version - name: Build and install MPICH + id: build_mpich run: | # MPICH versions older than 4.2.2 do not support the MPI large # count feature. @@ -90,7 +92,9 @@ jobs: make -s LIBTOOLFLAGS=--silent V=1 -j 8 distclean >> qout 2>&1 - name: Build and install HDF5 - if: ${{ success() }} + id: build_hdf5 + # NetCDF4 requires HDF5 + if: steps.build_mpich.outcome == 'success' && matrix.externals == 'netcdf4' run: | set -x cd ${GITHUB_WORKSPACE} @@ -115,7 +119,8 @@ jobs: make -s distclean >> qout 2>&1 - name: Build and install NetCDF4 - if: ${{ success() }} + id: build_netcdf4 + if: steps.build_hdf5.outcome == 'success' && matrix.externals == 'netcdf4' run: | set -x cd ${GITHUB_WORKSPACE} @@ -141,7 +146,7 @@ jobs: make -s distclean >> qout 2>&1 - name: Build and install ADIOS - if: ${{ success() }} + if: steps.build_mpich.outcome == 'success' && matrix.externals == 'adios' run: | cd ${GITHUB_WORKSPACE} export PATH="${GITHUB_WORKSPACE}/MPICH/bin:${PATH}" @@ -157,7 +162,8 @@ jobs: make -j 8 install >> qout 2>&1 - name: Build PnetCDF - if: ${{ success() }} + id: build_pnetcdf + if: steps.build_mpich.outcome == 'success' run: | set -x cd ${GITHUB_WORKSPACE} @@ -176,12 +182,16 @@ jobs: else CONFIG_OPTS="--disable-debug" fi + if test ${{ matrix.externals }} == netcdf4 ; then + CONFIG_OPTS+=" --with-netcdf4=${GITHUB_WORKSPACE}/NetCDF" + fi + if test ${{ matrix.externals }} == adios ; then + CONFIG_OPTS+=" --with-adios=${GITHUB_WORKSPACE}/ADIOS" + fi ./configure --prefix=${GITHUB_WORKSPACE}/PnetCDF \ --enable-option-checking=fatal \ pnc_ac_debug=yes \ ${CONFIG_OPTS} \ - --with-netcdf4=${GITHUB_WORKSPACE}/NetCDF \ - --with-adios=${GITHUB_WORKSPACE}/ADIOS \ --with-mpi=${GITHUB_WORKSPACE}/MPICH \ TESTOUTDIR=${GITHUB_WORKSPACE}/pnetcdf_output make -s LIBTOOLFLAGS=--silent V=1 -j 8 tests @@ -192,7 +202,7 @@ jobs: cat ${GITHUB_WORKSPACE}/config.log - name: make check - if: ${{ success() }} + if: steps.build_pnetcdf.outcome == 'success' run: | cd ${GITHUB_WORKSPACE} make -s LIBTOOLFLAGS=--silent V=1 check @@ -211,19 +221,19 @@ jobs: done - name: make ptests - if: ${{ success() }} + if: steps.build_pnetcdf.outcome == 'success' run: | cd ${GITHUB_WORKSPACE} make -s LIBTOOLFLAGS=--silent V=1 ptests - name: make distcheck - if: ${{ success() }} + if: steps.build_pnetcdf.outcome == 'success' run: | cd ${GITHUB_WORKSPACE} make -j 8 distcheck DISTCHECK_CONFIGURE_FLAGS="--silent --with-mpi=${GITHUB_WORKSPACE}/MPICH" - name: make install - if: ${{ success() }} + if: steps.build_pnetcdf.outcome == 'success' run: | set -x cd ${GITHUB_WORKSPACE} From 1d7066fea306b72074b9f2567f54c870418472fd Mon Sep 17 00:00:00 2001 From: wkliao Date: Thu, 16 Apr 2026 12:53:19 -0500 Subject: [PATCH 2/2] Github actions: disable ADIOS URL of ADIOS 1.13.1 appears to be no longer valid. https://users.nccs.gov/~pnorbert/adios-1.13.1.tar.gz --- .github/workflows/netcdf4_adios.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/netcdf4_adios.yml b/.github/workflows/netcdf4_adios.yml index 1c21dafe0..77fd2dea9 100644 --- a/.github/workflows/netcdf4_adios.yml +++ b/.github/workflows/netcdf4_adios.yml @@ -39,7 +39,9 @@ jobs: fail-fast: false # This disables the default cancel-on-failure behavior matrix: debug_mode: [ debug, nodebug ] - externals: [ netcdf4, adios ] + externals: [ netcdf4 ] + # disable testing ADIOS as its URL is no longer valid + # externals: [ netcdf4, adios ] runs-on: ubuntu-latest timeout-minutes: 120