From bce53cae086866bb82cc9354c4716ddb7bb8be5d Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:15:25 -0600 Subject: [PATCH 01/19] Add first script to try to embed cdash scripts into CI. --- .github/workflows/run_tests_cdash.yml | 358 ++++++++++++++++++++++++++ 1 file changed, 358 insertions(+) create mode 100644 .github/workflows/run_tests_cdash.yml diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml new file mode 100644 index 0000000000..ce79c421a8 --- /dev/null +++ b/.github/workflows/run_tests_cdash.yml @@ -0,0 +1,358 @@ +### +# Build hdf5 dependencies and cache them in a combined directory. +### + +name: Run Ubuntu/Linux netCDF Tests with CDash + +on: [pull_request, workflow_dispatch] + +jobs: + + build-deps-cdash: + + runs-on: ubuntu-latest + + strategy: + matrix: + hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] + + steps: + - uses: actions/checkout@v3 + + - name: Install System dependencies + shell: bash -l {0} + run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev doxygen openssl + + ### + # Installing libhdf5 + ### + - name: Cache libhdf5-${{ matrix.hdf5 }} + id: cache-hdf5 + uses: actions/cache@v3 + with: + path: ~/environments/${{ matrix.hdf5 }} + key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} + + + - name: Build libhdf5-${{ matrix.hdf5 }} + 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 + pushd hdf5-${{ matrix.hdf5 }} + ./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib + make -j + make install -j + popd + + + build-deps-parallel: + + runs-on: ubuntu-latest + + strategy: + matrix: + hdf5: [ 1.14.0 ] + + steps: + + - uses: actions/checkout@v3 + + - name: Install System dependencies + shell: bash -l {0} + run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev mpich libmpich-dev + + ### + # Installing libhdf5 + ### + - name: Cache libhdf5-parallel-${{ matrix.hdf5 }} + id: cache-hdf5 + uses: actions/cache@v3 + with: + path: ~/environments/${{ matrix.hdf5 }} + key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }} + + + - name: Build libhdf5-${{ matrix.hdf5 }}-pnetcdf-1.12.3 + 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 + CC=mpicc ./configure --prefix=${HOME}/environments/${{ matrix.hdf5 }} --disable-static --enable-shared --disable-fortran --disable-netcdf --with-szlib --enable-parallel --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 + pushd hdf5-${{ matrix.hdf5 }} + CC=mpicc ./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib --enable-parallel + make -j + make install -j + popd + wget https://parallel-netcdf.github.io/Release/pnetcdf-1.12.3.tar.gz + tar -zxf pnetcdf-1.12.3.tar.gz + pushd pnetcdf-1.12.3 + CC=mpicc ./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} + make -j + make install -j + popd + + + + needs: build-deps-parallel + runs-on: ubuntu-latest + + strategy: + matrix: + hdf5: [ 1.14.0 ] + steps: + + - uses: actions/checkout@v3 + + - name: Install System dependencies + shell: bash -l {0} + run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev mpich libmpich-dev + + ### + # Set Environmental Variables + ### + + - run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV + - run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV + - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV + + - name: Fetch HDF Cache + id: cache-hdf + uses: actions/cache@v3 + with: + path: ~/environments/${{ matrix.hdf5 }} + key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }} + + - name: Check Cache + shell: bash -l {0} + run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib + + + ### + # Configure and build + ### + + - name: Run autoconf + shell: bash -l {0} + run: autoreconf -if + + - name: Configure + shell: bash -l {0} + run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-parallel-tests --enable-pnetcdf + if: ${{ success() }} + + - name: Look at config.log if error + shell: bash -l {0} + run: cat config.log + if: ${{ failure() }} + + - name: Print Summary + shell: bash -l {0} + run: cat libnetcdf.settings + + - name: Build Library and Utilities + shell: bash -l {0} + run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make -j + 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 + 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 + if: ${{ success() }} + + + + + needs: [ nc-cmake-tests-oneoff-cdash, nc-ac-tests-oneoff-cdash, nc-cmake-tests-oneoff-parallel, nc-ac-tests-oneoff-parallel ] + runs-on: ubuntu-latest + + strategy: + matrix: + hdf5: [1.10.8, 1.12.2, 1.14.0 ] + use_nc4: [ nc3, nc4 ] + use_dap: [ dap_off, dap_on ] + use_nczarr: [ nczarr_off, nczarr_on ] + steps: + + - uses: actions/checkout@v3 + + - name: Install System dependencies + shell: bash -l {0} + run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev + + ### + # Set Environmental Variables + ### + + - run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV + - run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV + - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV + - run: | + echo "ENABLE_HDF5=--disable-hdf5" >> $GITHUB_ENV + if: matrix.use_nc4 == 'nc3' + - run: | + echo "ENABLE_HDF5=--enable-hdf5" >> $GITHUB_ENV + if: matrix.use_nc4 == 'nc4' + - run: echo "ENABLE_DAP=--disable-dap" >> $GITHUB_ENV + if: matrix.use_dap == 'dap_off' + - run: echo "ENABLE_DAP=--enable-dap" >> $GITHUB_ENV + if: matrix.use_dap == 'dap_on' + - run: echo "ENABLE_NCZARR=--disable-nczarr" >> $GITHUB_ENV + if: matrix.use_nczarr == 'nczarr_off' + - run: echo "ENABLE_NCZARR=--enable-nczarr" >> $GITHUB_ENV + if: matrix.use_nczarr == 'nczarr_on' + + ### + # Fetch Cache + ### + + - name: Fetch HDF Cache + id: cache-hdf + uses: actions/cache@v3 + with: + path: ~/environments/${{ matrix.hdf5 }} + key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} + + - name: Check Cache + shell: bash -l {0} + run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib + + ### + # Configure and build + ### + + - name: Run autoconf + shell: bash -l {0} + run: autoreconf -if + + - name: Configure + shell: bash -l {0} + run: | + current_directory="$(pwd)" + mkdir ../build + cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} "${current_directory}/configure" ${ENABLE_HDF5} ${ENABLE_DAP} ${ENABLE_NCZARR} + if: ${{ success() }} + + - name: Look at config.log if error + shell: bash -l {0} + run: cd ../build && cat config.log + if: ${{ failure() }} + + - name: Print Summary + shell: bash -l {0} + run: cd ../build && cat libnetcdf.settings + + - name: Build Library and Utilities + shell: bash -l {0} + run: | + cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j + if: ${{ success() }} + + - name: Build Tests + shell: bash -l {0} + run: | + cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j + if: ${{ success() }} + + - name: Run Tests + shell: bash -l {0} + run: | + cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j + if: ${{ success() }} + + nc-cmake: + + needs: build-deps-cdash + runs-on: ubuntu-latest + + strategy: + matrix: + hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] + use_nc4: [ nc3, nc4 ] + use_dap: [ dap_off, dap_on ] + use_nczarr: [ nczarr_off, nczarr_on ] + steps: + + - uses: actions/checkout@v3 + + - name: Install System dependencies + shell: bash -l {0} + run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev + + ### + # Set Environmental Variables + ### + + - run: echo "CMAKE_PREFIX_PATH=${HOME}/environments/${{ matrix.hdf5 }}/" >> $GITHUB_ENV + - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV + - run: | + echo "ENABLE_HDF5=OFF" >> $GITHUB_ENV + if: matrix.use_nc4 == 'nc3' + - run: | + echo "ENABLE_HDF5=ON" >> $GITHUB_ENV + if: matrix.use_nc4 == 'nc4' + - run: echo "ENABLE_DAP=OFF" >> $GITHUB_ENV + if: matrix.use_dap == 'dap_off' + - run: echo "ENABLE_DAP=ON" >> $GITHUB_ENV + if: matrix.use_dap == 'dap_on' + - run: echo "ENABLE_NCZARR=OFF" >> $GITHUB_ENV + if: matrix.use_nczarr == 'nczarr_off' + - run: echo "ENABLE_NCZARR=ON" >> $GITHUB_ENV + if: matrix.use_nczarr == 'nczarr_on' + - run: echo "CTEST_OUTPUT_ON_FAILURE=1" >> $GITHUB_ENV + + ### + # Fetch Cache + ### + + - name: Fetch HDF Cache + id: cache-hdf5 + uses: actions/cache@v3 + with: + path: ~/environments/${{ matrix.hdf5 }} + key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} + + - name: Check Cache + shell: bash -l {0} + run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib + + ### + # Run CTest Serial Script + ### + - name: Run ctest serial script + shell: bash -l {0} + run: | + mkdir build + cd build + LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -V -S ../ctest_scripts/ctest_serial.ctest + + - 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 + if: ${{ failure() }} From df5261ce0cb71d68788c7f31f99f2d087303c32b Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:17:13 -0600 Subject: [PATCH 02/19] Correct issue with file. --- .github/workflows/run_tests_cdash.yml | 230 +------------------------- 1 file changed, 1 insertion(+), 229 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index ce79c421a8..8b19810c0a 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -110,236 +110,8 @@ jobs: make -j make install -j popd - - - - needs: build-deps-parallel - runs-on: ubuntu-latest - - strategy: - matrix: - hdf5: [ 1.14.0 ] - steps: - - - uses: actions/checkout@v3 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev mpich libmpich-dev - - ### - # Set Environmental Variables - ### - - - run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV - - run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - - name: Fetch HDF Cache - id: cache-hdf - uses: actions/cache@v3 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-parallel-${{ runner.os }}-${{ matrix.hdf5 }} - - - name: Check Cache - shell: bash -l {0} - run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib - - - ### - # Configure and build - ### - - - name: Run autoconf - shell: bash -l {0} - run: autoreconf -if - - - name: Configure - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc ./configure --enable-hdf5 --enable-dap --disable-dap-remote-tests --enable-parallel-tests --enable-pnetcdf - if: ${{ success() }} - - - name: Look at config.log if error - shell: bash -l {0} - run: cat config.log - if: ${{ failure() }} - - - name: Print Summary - shell: bash -l {0} - run: cat libnetcdf.settings - - - name: Build Library and Utilities - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} CC=mpicc make -j - 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 - 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 - if: ${{ success() }} - - - - - needs: [ nc-cmake-tests-oneoff-cdash, nc-ac-tests-oneoff-cdash, nc-cmake-tests-oneoff-parallel, nc-ac-tests-oneoff-parallel ] - runs-on: ubuntu-latest - - strategy: - matrix: - hdf5: [1.10.8, 1.12.2, 1.14.0 ] - use_nc4: [ nc3, nc4 ] - use_dap: [ dap_off, dap_on ] - use_nczarr: [ nczarr_off, nczarr_on ] - steps: - - - uses: actions/checkout@v3 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev - - ### - # Set Environmental Variables - ### - - - run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV - - run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: | - echo "ENABLE_HDF5=--disable-hdf5" >> $GITHUB_ENV - if: matrix.use_nc4 == 'nc3' - - run: | - echo "ENABLE_HDF5=--enable-hdf5" >> $GITHUB_ENV - if: matrix.use_nc4 == 'nc4' - - run: echo "ENABLE_DAP=--disable-dap" >> $GITHUB_ENV - if: matrix.use_dap == 'dap_off' - - run: echo "ENABLE_DAP=--enable-dap" >> $GITHUB_ENV - if: matrix.use_dap == 'dap_on' - - run: echo "ENABLE_NCZARR=--disable-nczarr" >> $GITHUB_ENV - if: matrix.use_nczarr == 'nczarr_off' - - run: echo "ENABLE_NCZARR=--enable-nczarr" >> $GITHUB_ENV - if: matrix.use_nczarr == 'nczarr_on' - - ### - # Fetch Cache - ### - - - name: Fetch HDF Cache - id: cache-hdf - uses: actions/cache@v3 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} - - - name: Check Cache - shell: bash -l {0} - run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib - - ### - # Configure and build - ### - - - name: Run autoconf - shell: bash -l {0} - run: autoreconf -if - - - name: Configure - shell: bash -l {0} - run: | - current_directory="$(pwd)" - mkdir ../build - cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} "${current_directory}/configure" ${ENABLE_HDF5} ${ENABLE_DAP} ${ENABLE_NCZARR} - if: ${{ success() }} - - - name: Look at config.log if error - shell: bash -l {0} - run: cd ../build && cat config.log - if: ${{ failure() }} - - - name: Print Summary - shell: bash -l {0} - run: cd ../build && cat libnetcdf.settings - - - name: Build Library and Utilities - shell: bash -l {0} - run: | - cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j - if: ${{ success() }} - - - name: Build Tests - shell: bash -l {0} - run: | - cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j - if: ${{ success() }} - - - name: Run Tests - shell: bash -l {0} - run: | - cd ../build && CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j - if: ${{ success() }} - - nc-cmake: - - needs: build-deps-cdash - runs-on: ubuntu-latest - - strategy: - matrix: - hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] - use_nc4: [ nc3, nc4 ] - use_dap: [ dap_off, dap_on ] - use_nczarr: [ nczarr_off, nczarr_on ] - steps: - - - uses: actions/checkout@v3 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev - - ### - # Set Environmental Variables - ### - - - run: echo "CMAKE_PREFIX_PATH=${HOME}/environments/${{ matrix.hdf5 }}/" >> $GITHUB_ENV - - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: | - echo "ENABLE_HDF5=OFF" >> $GITHUB_ENV - if: matrix.use_nc4 == 'nc3' - - run: | - echo "ENABLE_HDF5=ON" >> $GITHUB_ENV - if: matrix.use_nc4 == 'nc4' - - run: echo "ENABLE_DAP=OFF" >> $GITHUB_ENV - if: matrix.use_dap == 'dap_off' - - run: echo "ENABLE_DAP=ON" >> $GITHUB_ENV - if: matrix.use_dap == 'dap_on' - - run: echo "ENABLE_NCZARR=OFF" >> $GITHUB_ENV - if: matrix.use_nczarr == 'nczarr_off' - - run: echo "ENABLE_NCZARR=ON" >> $GITHUB_ENV - if: matrix.use_nczarr == 'nczarr_on' - - run: echo "CTEST_OUTPUT_ON_FAILURE=1" >> $GITHUB_ENV - - ### - # Fetch Cache - ### - - - name: Fetch HDF Cache - id: cache-hdf5 - uses: actions/cache@v3 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} - - - name: Check Cache - shell: bash -l {0} - run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib + ### # Run CTest Serial Script ### From b41c33805aba64ce636f01e10b9db135105b2f00 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:18:58 -0600 Subject: [PATCH 03/19] Update cdash script file. --- .github/workflows/run_tests_cdash.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 8b19810c0a..7d11008b8a 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -2,7 +2,7 @@ # Build hdf5 dependencies and cache them in a combined directory. ### -name: Run Ubuntu/Linux netCDF Tests with CDash +name: Run CDash Ubuntu/Linux netCDF Tests on: [pull_request, workflow_dispatch] @@ -111,7 +111,7 @@ jobs: make install -j popd - + ### # Run CTest Serial Script ### From 7d9baced0eafc5429778a3160bec5118c82c2632 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:28:51 -0600 Subject: [PATCH 04/19] Correct issue with test file. --- .github/workflows/run_tests_cdash.yml | 54 +++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 7d11008b8a..7da75455a4 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -115,6 +115,60 @@ jobs: ### # Run CTest Serial Script ### + nc-ctest-serial: + needs: build-deps-cdash + runs-on: ubuntu-latest + environment: CDashCI + + strategy: + matrix: + hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] + use_nc4: [ nc3, nc4 ] + use_dap: [ dap_off, dap_on ] + use_nczarr: [ nczarr_off, nczarr_on ] + steps: + - uses: actions/checkout@v3 + + - name: Install System dependencies + shell: bash -l {0} + run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev + + ### + # Set Environmental Variables + ### + + - run: echo "CMAKE_PREFIX_PATH=${HOME}/environments/${{ matrix.hdf5 }}/" >> $GITHUB_ENV + - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV + - run: | + echo "ENABLE_HDF5=OFF" >> $GITHUB_ENV + if: matrix.use_nc4 == 'nc3' + - run: | + echo "ENABLE_HDF5=ON" >> $GITHUB_ENV + if: matrix.use_nc4 == 'nc4' + - run: echo "ENABLE_DAP=OFF" >> $GITHUB_ENV + if: matrix.use_dap == 'dap_off' + - run: echo "ENABLE_DAP=ON" >> $GITHUB_ENV + if: matrix.use_dap == 'dap_on' + - run: echo "ENABLE_NCZARR=OFF" >> $GITHUB_ENV + if: matrix.use_nczarr == 'nczarr_off' + - run: echo "ENABLE_NCZARR=ON" >> $GITHUB_ENV + if: matrix.use_nczarr == 'nczarr_on' + - run: echo "CTEST_OUTPUT_ON_FAILURE=1" >> $GITHUB_ENV + + ### + # Fetch Cache + ### + + - name: Fetch HDF Cache + id: cache-hdf5 + uses: actions/cache@v3 + with: + path: ~/environments/${{ matrix.hdf5 }} + key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} + + - name: Check Cache + shell: bash -l {0} + run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib - name: Run ctest serial script shell: bash -l {0} run: | From 7a28aefa5264d6c5d0725ee53ec7a0a8b065e74b Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:32:31 -0600 Subject: [PATCH 05/19] Reduce cdash/ctest-based script matrix. --- .github/workflows/run_tests_cdash.yml | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 7da75455a4..5e922803cf 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -123,9 +123,6 @@ jobs: strategy: matrix: hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] - use_nc4: [ nc3, nc4 ] - use_dap: [ dap_off, dap_on ] - use_nczarr: [ nczarr_off, nczarr_on ] steps: - uses: actions/checkout@v3 @@ -139,20 +136,6 @@ jobs: - run: echo "CMAKE_PREFIX_PATH=${HOME}/environments/${{ matrix.hdf5 }}/" >> $GITHUB_ENV - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: | - echo "ENABLE_HDF5=OFF" >> $GITHUB_ENV - if: matrix.use_nc4 == 'nc3' - - run: | - echo "ENABLE_HDF5=ON" >> $GITHUB_ENV - if: matrix.use_nc4 == 'nc4' - - run: echo "ENABLE_DAP=OFF" >> $GITHUB_ENV - if: matrix.use_dap == 'dap_off' - - run: echo "ENABLE_DAP=ON" >> $GITHUB_ENV - if: matrix.use_dap == 'dap_on' - - run: echo "ENABLE_NCZARR=OFF" >> $GITHUB_ENV - if: matrix.use_nczarr == 'nczarr_off' - - run: echo "ENABLE_NCZARR=ON" >> $GITHUB_ENV - if: matrix.use_nczarr == 'nczarr_on' - run: echo "CTEST_OUTPUT_ON_FAILURE=1" >> $GITHUB_ENV ### @@ -174,7 +157,7 @@ jobs: run: | mkdir build cd build - LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -V -S ../ctest_scripts/ctest_serial.ctest + LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 12 -V -S ../ctest_scripts/ctest_serial.ctest - name: Verbose Output if CTest Failure shell: bash -l {0} From 7ab20391d2b10dc7bb9c596b7ce02d47713ee321 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:39:11 -0600 Subject: [PATCH 06/19] Add coverage testing to a specific test. --- ctest_scripts/ctest_serial_coverage.ctest | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 ctest_scripts/ctest_serial_coverage.ctest diff --git a/ctest_scripts/ctest_serial_coverage.ctest b/ctest_scripts/ctest_serial_coverage.ctest new file mode 100644 index 0000000000..522ca0b8c8 --- /dev/null +++ b/ctest_scripts/ctest_serial_coverage.ctest @@ -0,0 +1,48 @@ +### +# Standard CTest Script for testing netCDF. +# Requires a CDash Token. +# +# Set the CDASH_TOKEN environmental variable. +# +### + +SET(CTEST_SOURCE_DIRECTORY "..") +SET(CTEST_BINARY_DIRECTORY ".") + +set(CDASH_TOKEN $ENV{CDASH_TOKEN}) +MESSAGE("Using cdash token: ${CDASH_TOKEN}") + + +SITE_NAME(local_site_name) +set(CTEST_SITE ${local_site_name}) + +set(CTEST_BUILD_CONFIGURATION "Profiling") +set(CTEST_CMAKE_GENERATOR "Unix Makefiles") +set(CTEST_BUILD_NAME "default") +set(CTEST_BUILD_CONFIGURATION "Profiling") +set(CTEST_DROP_METHOD "https") +set(CTEST_DROP_SITE_CDASH TRUE) +set(CTEST_PROJECT_NAME netcdf-c) + +find_program(CMAKE_COMMAND cmake) +find_program(CTEST_GIT_COMMAND NAMES git) +find_program(CTEST_COVERAGE_COMMAND NAMES gcov) +find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) + +set(CTEST_BUILD_OPTIONS "-DENABLE_COVERAGE_TESTS=TRUE -DENABLE_ERANGE_FILL=TRUE -DENABLE_LOGGING=TRUE -DENABLE_BYTERANGE=TRUE -DENABLE_LARGE_FILE_TESTS=FALSE") + + +set(CTEST_DROP_METHOD https) +set(CTEST_DROP_SITE "cdash.unidata.ucar.edu:443") +set(CTEST_DROP_LOCATION "/submit.php?project=netcdf-c") + +set(CTEST_CONFIGURE_COMMAND "${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${CTEST_BUILD_OPTIONS} ${CTEST_SOURCE_DIRECTORY}") + +ctest_start("Experimental") +ctest_configure() +ctest_build() +ctest_test() +ctest_coverage() +if (NOT "${CDASH_TOKEN}" STREQUAL "") + ctest_submit(HTTPHEADER "Authorization: Bearer ${CDASH_TOKEN}") +endif() From 794ff5adad6cd2233645b8393d83fbb85e1c2ce5 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:39:44 -0600 Subject: [PATCH 07/19] Turn off coverage testing in ctest_serial.ctest. --- ctest_scripts/ctest_serial.ctest | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ctest_scripts/ctest_serial.ctest b/ctest_scripts/ctest_serial.ctest index 522ca0b8c8..cdcb2912df 100644 --- a/ctest_scripts/ctest_serial.ctest +++ b/ctest_scripts/ctest_serial.ctest @@ -29,7 +29,7 @@ find_program(CTEST_GIT_COMMAND NAMES git) find_program(CTEST_COVERAGE_COMMAND NAMES gcov) find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) -set(CTEST_BUILD_OPTIONS "-DENABLE_COVERAGE_TESTS=TRUE -DENABLE_ERANGE_FILL=TRUE -DENABLE_LOGGING=TRUE -DENABLE_BYTERANGE=TRUE -DENABLE_LARGE_FILE_TESTS=FALSE") +set(CTEST_BUILD_OPTIONS "-DENABLE_COVERAGE_TESTS=FALSE -DENABLE_ERANGE_FILL=TRUE -DENABLE_LOGGING=TRUE -DENABLE_BYTERANGE=TRUE -DENABLE_LARGE_FILE_TESTS=FALSE") set(CTEST_DROP_METHOD https) @@ -42,7 +42,6 @@ ctest_start("Experimental") ctest_configure() ctest_build() ctest_test() -ctest_coverage() if (NOT "${CDASH_TOKEN}" STREQUAL "") ctest_submit(HTTPHEADER "Authorization: Bearer ${CDASH_TOKEN}") endif() From 4e7a864c2371a43cc5b66c9f2d489aad3930ea95 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:48:51 -0600 Subject: [PATCH 08/19] Working on automating cdash access on github. --- .github/workflows/run_tests_cdash.yml | 3 +++ ctest_scripts/ctest_serial.ctest | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 5e922803cf..27042ee01e 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -152,7 +152,10 @@ jobs: - name: Check Cache shell: bash -l {0} run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib + - name: Run ctest serial script + with: # Access the CDash TOken + CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} shell: bash -l {0} run: | mkdir build diff --git a/ctest_scripts/ctest_serial.ctest b/ctest_scripts/ctest_serial.ctest index cdcb2912df..9a5d60cc5d 100644 --- a/ctest_scripts/ctest_serial.ctest +++ b/ctest_scripts/ctest_serial.ctest @@ -10,6 +10,13 @@ SET(CTEST_SOURCE_DIRECTORY "..") SET(CTEST_BINARY_DIRECTORY ".") set(CDASH_TOKEN $ENV{CDASH_TOKEN}) + +IF (CDASH_TOKEN) + MESSAGE("CDASH TOKEN FOUND") +ELSE (CDASH_TOKEN) + MESSAGE("NO CDASH TOKEN FOUND") +ENDIF (CDASH_TOKEN) + MESSAGE("Using cdash token: ${CDASH_TOKEN}") From 88ecadfdb0476336777ab97ae4dcee5221253f52 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:51:20 -0600 Subject: [PATCH 09/19] Adjust syntax. --- .github/workflows/run_tests_cdash.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 27042ee01e..bd7c8e3aa4 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -123,6 +123,7 @@ jobs: strategy: matrix: hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] + steps: - uses: actions/checkout@v3 @@ -154,9 +155,9 @@ jobs: run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib - name: Run ctest serial script - with: # Access the CDash TOken - CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} shell: bash -l {0} + env: + CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} run: | mkdir build cd build From 74df474ac71a22834e0405530da8bf5e72ccf166 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 10:55:57 -0600 Subject: [PATCH 10/19] Adjust github action config file syntax. --- .github/workflows/run_tests_cdash.yml | 2 +- ctest_scripts/ctest_serial.ctest | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index bd7c8e3aa4..2b553de846 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -156,7 +156,7 @@ jobs: - name: Run ctest serial script shell: bash -l {0} - env: + with: CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} run: | mkdir build diff --git a/ctest_scripts/ctest_serial.ctest b/ctest_scripts/ctest_serial.ctest index 9a5d60cc5d..71a6eb6969 100644 --- a/ctest_scripts/ctest_serial.ctest +++ b/ctest_scripts/ctest_serial.ctest @@ -17,9 +17,6 @@ ELSE (CDASH_TOKEN) MESSAGE("NO CDASH TOKEN FOUND") ENDIF (CDASH_TOKEN) -MESSAGE("Using cdash token: ${CDASH_TOKEN}") - - SITE_NAME(local_site_name) set(CTEST_SITE ${local_site_name}) From 461569509157d52ac517f7e5f1bb23d44fbd0ba7 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 11:00:17 -0600 Subject: [PATCH 11/19] Playing around trying to nail down syntax for accessing secrets in Github Actions. --- .github/workflows/run_tests_cdash.yml | 80 +++++++++++++-------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 2b553de846..f11f13af3d 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -125,47 +125,47 @@ jobs: hdf5: [ 1.10.8, 1.12.2, 1.14.0 ] steps: - - uses: actions/checkout@v3 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev - - ### - # Set Environmental Variables - ### + - uses: actions/checkout@v3 + with: + CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} + + - name: Install System dependencies + shell: bash -l {0} + run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev - - run: echo "CMAKE_PREFIX_PATH=${HOME}/environments/${{ matrix.hdf5 }}/" >> $GITHUB_ENV - - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: echo "CTEST_OUTPUT_ON_FAILURE=1" >> $GITHUB_ENV - - ### - # Fetch Cache - ### - - - name: Fetch HDF Cache - id: cache-hdf5 - uses: actions/cache@v3 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} + ### + # Set Environmental Variables + ### - - name: Check Cache - shell: bash -l {0} - run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib + - run: echo "CMAKE_PREFIX_PATH=${HOME}/environments/${{ matrix.hdf5 }}/" >> $GITHUB_ENV + - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV + - run: echo "CTEST_OUTPUT_ON_FAILURE=1" >> $GITHUB_ENV - - name: Run ctest serial script - shell: bash -l {0} - with: - CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} - run: | - mkdir build - cd build - LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 12 -V -S ../ctest_scripts/ctest_serial.ctest + ### + # Fetch Cache + ### - - 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 - if: ${{ failure() }} + - name: Fetch HDF Cache + id: cache-hdf5 + uses: actions/cache@v3 + with: + path: ~/environments/${{ matrix.hdf5 }} + key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} + + - name: Check Cache + shell: bash -l {0} + run: ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib + + - name: Run ctest serial script + shell: bash -l {0} + run: | + mkdir build + cd build + LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ctest -j 12 -V -S ../ctest_scripts/ctest_serial.ctest + + - 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 + if: ${{ failure() }} From dcad99082dbdc113694c7bf8467414a858d53abd Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 11:13:04 -0600 Subject: [PATCH 12/19] Remove sensitive info being sent to standard output when using ctest scripts. --- CMakeLists.txt | 4 ++-- ctest_scripts/ctest_mpicc.ctest | 6 +++++- ctest_scripts/ctest_serial_coverage.ctest | 6 +++++- ctest_scripts/ctest_serial_dap.ctest | 6 +++++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0191f1454c..6fa02dcd6a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -267,8 +267,8 @@ IF(CMAKE_COMPILER_IS_GNUCC OR APPLE) # Coverage tests need to have optimization turned off. IF(ENABLE_COVERAGE_TESTS) - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage") - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") + SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -g -O0 -coverage -fprofile-arcs -ftest-coverage") + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs") MESSAGE(STATUS "Coverage Tests: On.") ENDIF() diff --git a/ctest_scripts/ctest_mpicc.ctest b/ctest_scripts/ctest_mpicc.ctest index 9bca2038d8..617ea49a22 100644 --- a/ctest_scripts/ctest_mpicc.ctest +++ b/ctest_scripts/ctest_mpicc.ctest @@ -10,7 +10,11 @@ SET(CTEST_SOURCE_DIRECTORY "..") SET(CTEST_BINARY_DIRECTORY ".") set(CDASH_TOKEN $ENV{CDASH_TOKEN}) -MESSAGE("Using cdash token: ${CDASH_TOKEN}") +IF (CDASH_TOKEN) + MESSAGE("CDASH TOKEN FOUND") +ELSE (CDASH_TOKEN) + MESSAGE("NO CDASH TOKEN FOUND") +ENDIF (CDASH_TOKEN) SITE_NAME(local_site_name) diff --git a/ctest_scripts/ctest_serial_coverage.ctest b/ctest_scripts/ctest_serial_coverage.ctest index 522ca0b8c8..9b8f90a201 100644 --- a/ctest_scripts/ctest_serial_coverage.ctest +++ b/ctest_scripts/ctest_serial_coverage.ctest @@ -10,7 +10,11 @@ SET(CTEST_SOURCE_DIRECTORY "..") SET(CTEST_BINARY_DIRECTORY ".") set(CDASH_TOKEN $ENV{CDASH_TOKEN}) -MESSAGE("Using cdash token: ${CDASH_TOKEN}") +IF (CDASH_TOKEN) + MESSAGE("CDASH TOKEN FOUND") +ELSE (CDASH_TOKEN) + MESSAGE("NO CDASH TOKEN FOUND") +ENDIF (CDASH_TOKEN) SITE_NAME(local_site_name) diff --git a/ctest_scripts/ctest_serial_dap.ctest b/ctest_scripts/ctest_serial_dap.ctest index 9ea3333459..80fe31264d 100644 --- a/ctest_scripts/ctest_serial_dap.ctest +++ b/ctest_scripts/ctest_serial_dap.ctest @@ -10,7 +10,11 @@ SET(CTEST_SOURCE_DIRECTORY "..") SET(CTEST_BINARY_DIRECTORY ".") set(CDASH_TOKEN $ENV{CDASH_TOKEN}) -MESSAGE("Using cdash token: ${CDASH_TOKEN}") +IF (CDASH_TOKEN) + MESSAGE("CDASH TOKEN FOUND") +ELSE (CDASH_TOKEN) + MESSAGE("NO CDASH TOKEN FOUND") +ENDIF (CDASH_TOKEN) SITE_NAME(local_site_name) From ee9c9d91aa1ab54968ec01d00899d0aad82b2c21 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 11:25:02 -0600 Subject: [PATCH 13/19] Try a different syntax. --- .github/workflows/run_tests_cdash.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index f11f13af3d..5caf899421 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -128,6 +128,8 @@ jobs: - uses: actions/checkout@v3 with: CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} + env: + CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} - name: Install System dependencies shell: bash -l {0} @@ -158,6 +160,8 @@ jobs: - name: Run ctest serial script shell: bash -l {0} + env: + CDASH_TOKEN: ${{ secrets.CDASH_TOKEN }} run: | mkdir build cd build From 4483760d3267d5da944c4080e9da2ad43e8f58da Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 11:30:56 -0600 Subject: [PATCH 14/19] Adjust workflow secrets syntax. --- .github/workflows/run_tests_cdash.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 5caf899421..927f10a657 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -5,6 +5,11 @@ name: Run CDash Ubuntu/Linux netCDF Tests on: [pull_request, workflow_dispatch] + workflow_call: + secrets: + CDASH_TOKEN: + description: 'A token required to access the cdash dashboard' + required: true jobs: From 127830e49f32bb61dcadcc185bb818b1444b6d14 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 11:42:49 -0600 Subject: [PATCH 15/19] Shot in the dark --- .github/workflows/run_tests_cdash.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 927f10a657..849427af6d 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -4,12 +4,16 @@ name: Run CDash Ubuntu/Linux netCDF Tests -on: [pull_request, workflow_dispatch] +on: + workflow_dispatch: + pull_request: workflow_call: secrets: - CDASH_TOKEN: - description: 'A token required to access the cdash dashboard' - required: true + CDASH_TOKEN: + description: 'A token required to access the cdash dashboard' + required: true + + jobs: From 3e341bd6e1c93bd913fc7af046c2add4192455a9 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 11:46:21 -0600 Subject: [PATCH 16/19] Turning off cdash integration for the moment, but merging PR to include other changes/updates. --- .github/workflows/run_tests_cdash.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/run_tests_cdash.yml b/.github/workflows/run_tests_cdash.yml index 849427af6d..57053172cd 100644 --- a/.github/workflows/run_tests_cdash.yml +++ b/.github/workflows/run_tests_cdash.yml @@ -4,15 +4,8 @@ name: Run CDash Ubuntu/Linux netCDF Tests -on: - workflow_dispatch: - pull_request: - workflow_call: - secrets: - CDASH_TOKEN: - description: 'A token required to access the cdash dashboard' - required: true - +on: workflow_dispatch + jobs: From bbcbab7a26a787870cd85aa306f4bd8f70c85cb9 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 11:48:29 -0600 Subject: [PATCH 17/19] Clarify name of a Github Action. --- .github/workflows/run_tests_win_mingw.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run_tests_win_mingw.yml b/.github/workflows/run_tests_win_mingw.yml index f48e81e7fa..7bc6cde76a 100644 --- a/.github/workflows/run_tests_win_mingw.yml +++ b/.github/workflows/run_tests_win_mingw.yml @@ -4,7 +4,7 @@ # for information related to github runners. ### -name: Run MSYS2, MinGW64-based Tests +name: Run MSYS2, MinGW64-based Tests (Not Visual Studio) env: CPPFLAGS: "-D_BSD_SOURCE" From 347b2504bfddc8105c36d41b489977066f649fa6 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 13:15:12 -0600 Subject: [PATCH 18/19] Undo previous change. --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6fa02dcd6a..59bb846328 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -267,7 +267,8 @@ IF(CMAKE_COMPILER_IS_GNUCC OR APPLE) # Coverage tests need to have optimization turned off. IF(ENABLE_COVERAGE_TESTS) - SET(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -g -O0 -coverage -fprofile-arcs -ftest-coverage") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -coverage -fprofile-arcs -ftest-coverage") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -coverage -fprofile-arcs -ftest-coverage") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs") MESSAGE(STATUS "Coverage Tests: On.") ENDIF() From d4766297041d3727f063b4f25040b20808ea7169 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Tue, 24 Oct 2023 13:16:11 -0600 Subject: [PATCH 19/19] Replace accidental flag removal --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 59bb846328..29c505aadd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -269,7 +269,7 @@ IF(CMAKE_COMPILER_IS_GNUCC OR APPLE) IF(ENABLE_COVERAGE_TESTS) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -coverage -fprofile-arcs -ftest-coverage") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -coverage -fprofile-arcs -ftest-coverage") - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs") + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage") MESSAGE(STATUS "Coverage Tests: On.") ENDIF()