From eca8233d3e8c2a3588d6a79a660a8b5d4f1288fc Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 6 Feb 2025 10:27:17 -0700 Subject: [PATCH 01/13] Update default cache values. --- nf_test4/ftst_vars.F | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nf_test4/ftst_vars.F b/nf_test4/ftst_vars.F index f8d6aa25..993f6da4 100644 --- a/nf_test4/ftst_vars.F +++ b/nf_test4/ftst_vars.F @@ -38,7 +38,7 @@ program ftst_vars integer DEFAULT_CACHE_SIZE, DEFAULT_CACHE_NELEMS_OLD integer DEFAULT_CACHE_NELEMS_NEW integer DEFAULT_CACHE_PREEMPTION - parameter (DEFAULT_CACHE_SIZE = 16777216) + parameter (DEFAULT_CACHE_SIZE = 67108864) parameter (DEFAULT_CACHE_NELEMS_OLD = 4133) parameter (DEFAULT_CACHE_NELEMS_NEW = 1000) parameter (DEFAULT_CACHE_PREEMPTION = 75) From e6271cef007dbeee1fb18a067271344677fb4458 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 6 Feb 2025 10:51:31 -0700 Subject: [PATCH 02/13] Add 4.9.3+ requirement to this version. --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 3b26bd32..eacde2ee 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,10 @@ The netCDF Fortran libraries contain both F77 and F90 APIs. For documentation se * https://docs.unidata.ucar.edu/netcdf-fortran/current/ +Requirements +------------- +* NetCDF-C v4.9.3+ + Getting NetCDF -------------- From 86560a9053802eb1c44e76f8d1504b640b6823cb Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 6 Feb 2025 11:07:20 -0700 Subject: [PATCH 03/13] Update github action test matrix. --- .github/workflows/run_tests_linux.yml | 10 +++++----- .github/workflows/run_tests_macos.yml | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/run_tests_linux.yml b/.github/workflows/run_tests_linux.yml index e56e9e3a..b42b7e1d 100644 --- a/.github/workflows/run_tests_linux.yml +++ b/.github/workflows/run_tests_linux.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.7.4, v4.8.1, v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: @@ -75,7 +75,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.7.4, v4.8.1, v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: @@ -134,7 +134,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.7.4, v4.8.1, v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: @@ -231,7 +231,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.7.4, v4.8.1, v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: @@ -329,7 +329,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.7.4, v4.8.1, v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: diff --git a/.github/workflows/run_tests_macos.yml b/.github/workflows/run_tests_macos.yml index 81a5cb63..c8f1608f 100644 --- a/.github/workflows/run_tests_macos.yml +++ b/.github/workflows/run_tests_macos.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: @@ -79,7 +79,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: @@ -165,7 +165,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.0, main ] + netcdf: [ v4.9.3-prep.wif, main ] steps: From 6987942a17ecde3b51ec20d1579408486c9d1fce Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 6 Feb 2025 14:10:15 -0700 Subject: [PATCH 04/13] Modify cache name. --- .github/workflows/run_tests_linux.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_tests_linux.yml b/.github/workflows/run_tests_linux.yml index b42b7e1d..765a44c4 100644 --- a/.github/workflows/run_tests_linux.yml +++ b/.github/workflows/run_tests_linux.yml @@ -101,7 +101,7 @@ jobs: uses: actions/cache@v4 with: path: ~/environments/${{ matrix.hdf5 }}-${{ matrix.netcdf }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-par + key: hdf5-nc-${{ runner.os }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-par - name: Build libhdf5-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-par @@ -261,7 +261,7 @@ jobs: uses: actions/cache@v4 with: path: ~/environments/${{ matrix.hdf5 }}-${{ matrix.netcdf }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-par + key: hdf5-nc-${{ runner.os }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-par - name: Check Cache shell: bash -l {0} From 619d69957c1907584d1572eb2af7cfa1df034753 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 25 Feb 2025 17:31:15 -0700 Subject: [PATCH 05/13] Clean up linux github action. --- .github/workflows/run_tests_linux.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/run_tests_linux.yml b/.github/workflows/run_tests_linux.yml index 765a44c4..28bc65d9 100644 --- a/.github/workflows/run_tests_linux.yml +++ b/.github/workflows/run_tests_linux.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3-prep.wif, main ] + netcdf: [ v4.9.3, main ] steps: @@ -75,7 +75,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3-prep.wif, main ] + netcdf: [ v4.9.3, main ] steps: @@ -134,7 +134,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3-prep.wif, main ] + netcdf: [ v4.9.3, main ] steps: @@ -231,7 +231,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3-prep.wif, main ] + netcdf: [ v4.9.3, main ] steps: @@ -329,7 +329,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3-prep.wif, main ] + netcdf: [ v4.9.3, main ] steps: From ebb56436598a37d473a6d79a995da95de36bedb3 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 18 Mar 2025 16:57:10 -0600 Subject: [PATCH 06/13] Checking to see if there is some error in the 'main' logic --- .github/workflows/run_tests_linux.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/run_tests_linux.yml b/.github/workflows/run_tests_linux.yml index 28bc65d9..8263f4f3 100644 --- a/.github/workflows/run_tests_linux.yml +++ b/.github/workflows/run_tests_linux.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3, main ] + netcdf: [ v4.9.3 ] steps: @@ -75,7 +75,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3, main ] + netcdf: [ v4.9.3 ] steps: @@ -134,7 +134,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3, main ] + netcdf: [ v4.9.3 ] steps: @@ -231,7 +231,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3, main ] + netcdf: [ v4.9.3 ] steps: @@ -329,7 +329,7 @@ jobs: strategy: matrix: hdf5: [ 1.12.2 ] - netcdf: [ v4.9.3, main ] + netcdf: [ v4.9.3 ] steps: From 00de8dea82c50672d9e05789c4461b883dab90b0 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 18 Mar 2025 17:05:28 -0600 Subject: [PATCH 07/13] Add a stanza to view the test-suite.logs if there is a failure. --- .github/workflows/run_tests_linux.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/run_tests_linux.yml b/.github/workflows/run_tests_linux.yml index 8263f4f3..72e5ad12 100644 --- a/.github/workflows/run_tests_linux.yml +++ b/.github/workflows/run_tests_linux.yml @@ -317,6 +317,11 @@ jobs: run: CC=${CC} CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j if: ${{ success() }} + - name: View Failure Logs + shell: bash -l {0} + run: find . -name "test-suite.log" -exec cat {} \; + if: ${{ failure() }} + #- name: Make Distcheck # shell: bash -l {0} # run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make distcheck -j From c2beeaba9030be4c4e7563a369a193d01951a106 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 18 Mar 2025 17:14:12 -0600 Subject: [PATCH 08/13] Add some diagnostic info --- .github/workflows/run_tests_linux.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_tests_linux.yml b/.github/workflows/run_tests_linux.yml index 72e5ad12..179f38de 100644 --- a/.github/workflows/run_tests_linux.yml +++ b/.github/workflows/run_tests_linux.yml @@ -314,12 +314,14 @@ jobs: - name: Run Tests shell: bash -l {0} - run: CC=${CC} CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j + run: CC=${CC} CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j 4 if: ${{ success() }} - name: View Failure Logs shell: bash -l {0} - run: find . -name "test-suite.log" -exec cat {} \; + run: | + echo -e "\n\n\to NPROC: $(nproc)\n\n" + find . -name "test-suite.log" -exec cat {} \; if: ${{ failure() }} #- name: Make Distcheck From b72a3949ee2885c42e7a3bc1fd301591359c78b9 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 20 Mar 2025 15:22:37 -0600 Subject: [PATCH 09/13] Added github action to use docker-based github test action. --- .github/run_tests_docker.yml | 66 ++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/run_tests_docker.yml diff --git a/.github/run_tests_docker.yml b/.github/run_tests_docker.yml new file mode 100644 index 00000000..d8f5f660 --- /dev/null +++ b/.github/run_tests_docker.yml @@ -0,0 +1,66 @@ +### +# Use the docker container to run tests in a parameterized way. +### + +name: Run Docker-based regression tests + +on: [pull_request,workflow_dispatch] + +concurrency: + group: ${{ github.workflow}}-${{ github.head_ref }} + cancel-in-progress: true + +permissions: {} + +jobs: + netcdf-tests-serial: + name: Docker-Based NetCDF-C, Fortran Regression Testing (Serial) + runs-on: ubuntu-latest + strategy: + matrix: + c-branch: [ 'v4.9.3' ] + c-compiler: [ 'gcc', 'clang' ] + h5ver: [ '1.14.3' ] + build-system: [ 'both' ] + + steps: + - uses: actions/checkout@v4 + - name: Pull and Run netCDF Regression Tests + uses: WardF/netcdf-test-action@v1 + with: + run-c: 'FALSE' + repo-type: 'fortran' + hdf5-version: '${{ matrix.h5ver }}' + c-compiler: '${{ matrix.c-compiler }}' + c-branch: '${{ matrix.c-branch }}' + run-fortran: 'TRUE' + build-system: '${{ matrix.build-system }}' + + netcdf-tests-parallel: + + needs: netcdf-tests-serial + + name: Docker-Based NetCDF-C, Fortran Regression Testing (parallel) + runs-on: ubuntu-latest + strategy: + matrix: + build-system: [ 'both' ] + h5ver: [ '1.14.3' ] + c-branch: [ 'v4.9.3' ] + c-compiler: [ 'mpicc' ] + mpich-version: [ '4.3.0' ] + + + steps: + - uses: actions/checkout@v4 + - name: Pull and Run netCDF Regression Tests + uses: WardF/netcdf-test-action@v1 + with: + repo-type: 'fortran' + build-system: '${{ matrix.build-system }}' + hdf5-version: '${{ matrix.h5ver }}' + run-c: 'FALSE' + c-compiler: '${{ matrix.c-compiler }}' + mpich-version: '${{ mpich-version }}' + c-branch: '${{ matrix.c-branch }}' + run-fortran: 'TRUE' From 34bddadbe9d4e5988ca70576f3995f017e6f988b Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 20 Mar 2025 15:25:42 -0600 Subject: [PATCH 10/13] Clarify naming --- .github/run_tests_docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/run_tests_docker.yml b/.github/run_tests_docker.yml index d8f5f660..1f3a168f 100644 --- a/.github/run_tests_docker.yml +++ b/.github/run_tests_docker.yml @@ -2,7 +2,7 @@ # Use the docker container to run tests in a parameterized way. ### -name: Run Docker-based regression tests +name: Run Docker-based regression testing on: [pull_request,workflow_dispatch] From 70d35651dcd0247a99ca4a85add9206e1b11895a Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 20 Mar 2025 15:42:25 -0600 Subject: [PATCH 11/13] Fix typo. --- .github/run_tests_docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/run_tests_docker.yml b/.github/run_tests_docker.yml index 1f3a168f..7881cf39 100644 --- a/.github/run_tests_docker.yml +++ b/.github/run_tests_docker.yml @@ -61,6 +61,6 @@ jobs: hdf5-version: '${{ matrix.h5ver }}' run-c: 'FALSE' c-compiler: '${{ matrix.c-compiler }}' - mpich-version: '${{ mpich-version }}' + mpich-version: '${{ matrix.mpich-version }}' c-branch: '${{ matrix.c-branch }}' run-fortran: 'TRUE' From 4d21740c3e39da456e45a151c3c2b2f4b7630c64 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 20 Mar 2025 16:31:56 -0600 Subject: [PATCH 12/13] Update docker configuration to work with the local version instead of pulling down a hard-coded version of netcdf-fortran --- .github/workflows/run_tests_docker.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/run_tests_docker.yml b/.github/workflows/run_tests_docker.yml index 42aa5270..90f8d65f 100644 --- a/.github/workflows/run_tests_docker.yml +++ b/.github/workflows/run_tests_docker.yml @@ -18,9 +18,9 @@ jobs: runs-on: ubuntu-latest strategy: matrix: + repo-type: [ 'fortran' ] c-branch: [ 'v4.9.2' ] h5ver: [ '1.12.1', '1.14.6' ] - fortran-branch: [ 'v4.6.1' ] c-compiler: [ 'gcc', 'clang' ] buildsystem: [ 'both' ] @@ -29,14 +29,14 @@ jobs: - name: Pull and Run netCDF Regression Tests uses: WardF/netcdf-test-action@v1 with: - run-c: 'TRUE' + repo-type: '${{ matrix.repo-type }}' + run-c: 'FALSE' build-system: '${{ matrix.buildsystem }}' hdf5-version: '${{ matrix.h5ver }}' ctest-repeat: 3 c-compiler: '${{ matrix.c-compiler }}' c-branch: '${{ matrix.c-branch }}' run-fortran: 'TRUE' - fortran-branch: '${{ matrix.fortran-branch }}' netcdf-tests-parallel: @@ -46,9 +46,9 @@ jobs: runs-on: ubuntu-latest strategy: matrix: + repo-type: [ 'fortran' ] c-branch: [ 'v4.9.2' ] h5ver: [ '1.14.6' ] - fortran-branch: [ 'v4.6.1' ] c-compiler: [ 'mpicc' ] mpich-version: [ '4.3.0' ] buildsystem: [ 'cmake', 'autotools' ] @@ -58,7 +58,8 @@ jobs: - name: Pull and Run netCDF Regression Tests uses: WardF/netcdf-test-action@v1 with: - run-c: 'TRUE' + repo-type: '${{ matrix.repo-type }}' + run-c: 'FALSE' build-system: '${{ matrix.buildsystem }}' hdf5-version: '${{ matrix.h5ver }}' ctest-repeat: 3 @@ -66,4 +67,4 @@ jobs: c-branch: '${{ matrix.c-branch }}' mpich-version: '${{ matrix.mpich-version }}' run-fortran: 'TRUE' - fortran-branch: '${{ matrix.fortran-branch }}' + From 65cd08ac7a9d76dffd91b6e07b8145553b63dcc6 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 20 Mar 2025 16:36:16 -0600 Subject: [PATCH 13/13] v4.9.2 failed as expected. Let's see if v4.9.3 works. --- .github/workflows/run_tests_docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_tests_docker.yml b/.github/workflows/run_tests_docker.yml index 90f8d65f..da574306 100644 --- a/.github/workflows/run_tests_docker.yml +++ b/.github/workflows/run_tests_docker.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: repo-type: [ 'fortran' ] - c-branch: [ 'v4.9.2' ] + c-branch: [ 'v4.9.3' ] h5ver: [ '1.12.1', '1.14.6' ] c-compiler: [ 'gcc', 'clang' ] buildsystem: [ 'both' ] @@ -47,7 +47,7 @@ jobs: strategy: matrix: repo-type: [ 'fortran' ] - c-branch: [ 'v4.9.2' ] + c-branch: [ 'v4.9.3' ] h5ver: [ '1.14.6' ] c-compiler: [ 'mpicc' ] mpich-version: [ '4.3.0' ]