From 7a6e5cf34e361acd8330b0b1ab5976950e1d27c9 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 08:15:06 -0700 Subject: [PATCH 01/34] adding developer workflow --- .github/workflows/developer.yml | 135 ++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 .github/workflows/developer.yml diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml new file mode 100644 index 000000000..2a3c05f42 --- /dev/null +++ b/.github/workflows/developer.yml @@ -0,0 +1,135 @@ +# UFS_UTILS test workflow. +# +# This workflow tests all developer options - address santizer, +# warning check, documentation check, and test code coverage. +# +# Ed Hartnett 12/11/22 +name: developer +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md + +jobs: + developer: + runs-on: ubuntu-latest + env: + FC: gfortran + CC: gcc + + steps: + + - name: install-dependencies + run: | + sudo apt-get update + sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libnetcdf-dev doxygen + python3 -m pip install gcovr + + - name: checkout-bacio + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-bacio + path: bacio + ref: develop + + - name: build-bacio + run: | + cd bacio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio + make -j2 + make install + + - name: checkout-w3emc + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-w3emc + path: w3emc + ref: develop + + - name: build-w3emc + run: | + cd w3emc + mkdir build + cd build + cmake .. -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc + make -j2 + make install + + - name: cache-jasper + id: cache-jasper + uses: actions/cache@v2 + with: + path: ~/Jasper + key: jasper-${{ runner.os }}-3.0.3 + + - name: checkout-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: jasper-software/jasper + path: jasper + ref: version-3.0.3 + + - name: build-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + run: | + cd jasper + mkdir build-jasper && cd build-jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/Jasper + make -j2 + make install + + - name: checkout-g2c + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-g2c + path: g2c + ref: develop + + - name: build-g2c + run: | + cd g2c + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/Jasper + make -j2 + make install + + - name: checkout + uses: actions/checkout@v2 + with: + path: g2 + + - name: build + run: | + set -x + cd g2 + mkdir build + doxygen --version + cd build + cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/Jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug + make -j2 VERBOSE=1 + + - name: test + run: | + cd $GITHUB_WORKSPACE/g2/build + ctest --verbose --output-on-failure --rerun-failed + gcovr --root .. -v --html-details --exclude ../tests --exclude CMakeFiles --print-summary -o test-coverage.html &> /dev/null + + - name: upload-test-coverage + uses: actions/upload-artifact@v2 + with: + name: g2-test-coverage + path: | + g2/build/*.html + g2/build/*.css + From e07f579e915528633c609e08dfbd211588990da4 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 08:29:28 -0700 Subject: [PATCH 02/34] working on developer workflow --- .github/workflows/developer.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 2a3c05f42..0a3addfe7 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -29,7 +29,7 @@ jobs: - name: install-dependencies run: | sudo apt-get update - sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libnetcdf-dev doxygen + sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libnetcdf-dev libnetcdff-dev doxygen python3 -m pip install gcovr - name: checkout-bacio @@ -60,7 +60,7 @@ jobs: cd w3emc mkdir build cd build - cmake .. -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc + cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. make -j2 make install @@ -68,8 +68,8 @@ jobs: id: cache-jasper uses: actions/cache@v2 with: - path: ~/Jasper - key: jasper-${{ runner.os }}-3.0.3 + path: ~/jasper + key: jasper-${{ runner.os }}-3.0.3-1 - name: checkout-jasper if: steps.cache-jasper.outputs.cache-hit != 'true' @@ -84,7 +84,7 @@ jobs: run: | cd jasper mkdir build-jasper && cd build-jasper - cmake .. -DCMAKE_INSTALL_PREFIX=~/Jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper make -j2 make install @@ -100,7 +100,7 @@ jobs: cd g2c mkdir build cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/Jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper make -j2 make install @@ -116,7 +116,7 @@ jobs: mkdir build doxygen --version cd build - cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/Jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug + cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug make -j2 VERBOSE=1 - name: test From bbb9b96782da5d7a585545c6e4a31e581a3fee41 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 08:37:50 -0700 Subject: [PATCH 03/34] working on developer workflow --- .github/workflows/developer.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 0a3addfe7..597049e93 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -21,15 +21,15 @@ jobs: developer: runs-on: ubuntu-latest env: - FC: gfortran - CC: gcc + FC: mpifort + CC: mpicc steps: - name: install-dependencies run: | sudo apt-get update - sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libnetcdf-dev libnetcdff-dev doxygen + sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libnetcdf-dev libnetcdff-dev doxygen openmpi-bin libopenmpi-dev python3 -m pip install gcovr - name: checkout-bacio From de034d384a79fa0963a3d60051898d4f187f01da Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 08:40:16 -0700 Subject: [PATCH 04/34] working on developer workflow --- .github/workflows/debug-docs-test_coverage.yml | 13 ++++++++++++- .github/workflows/intel.yml | 13 ++++++++++++- .github/workflows/linux-mac-nceplibs-mpi.yml | 13 ++++++++++++- .github/workflows/netcdf-versions.yml | 13 ++++++++++++- 4 files changed, 48 insertions(+), 4 deletions(-) diff --git a/.github/workflows/debug-docs-test_coverage.yml b/.github/workflows/debug-docs-test_coverage.yml index 9df96f5e4..7e8782c3a 100644 --- a/.github/workflows/debug-docs-test_coverage.yml +++ b/.github/workflows/debug-docs-test_coverage.yml @@ -1,5 +1,16 @@ name: debug-docs-test_coverage -on: [push, pull_request] +name: developer +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md defaults: run: diff --git a/.github/workflows/intel.yml b/.github/workflows/intel.yml index 0e9b88164..0dbe12490 100644 --- a/.github/workflows/intel.yml +++ b/.github/workflows/intel.yml @@ -1,5 +1,16 @@ name: intel -on: [push, pull_request] +name: developer +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md # Use custom shell with -l so .bash_profile is sourced which loads intel/oneapi/setvars.sh # without having to do it in manually every step diff --git a/.github/workflows/linux-mac-nceplibs-mpi.yml b/.github/workflows/linux-mac-nceplibs-mpi.yml index 82d35a9d2..75056350f 100644 --- a/.github/workflows/linux-mac-nceplibs-mpi.yml +++ b/.github/workflows/linux-mac-nceplibs-mpi.yml @@ -1,5 +1,16 @@ name: linux-mac-mpi-nceplibs -on: [push, pull_request] +name: developer +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md defaults: run: diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml index 38940ff10..14a374d13 100644 --- a/.github/workflows/netcdf-versions.yml +++ b/.github/workflows/netcdf-versions.yml @@ -1,5 +1,16 @@ name: netcdf-versions -on: [push, pull_request] +name: developer +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md defaults: run: From 5f0f0c41ef7cf1ed79f6d293ce7e13f6b4dc8e1e Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 08:46:01 -0700 Subject: [PATCH 05/34] more changes --- .github/workflows/developer.yml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 597049e93..a7232fa3f 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -116,20 +116,7 @@ jobs: mkdir build doxygen --version cd build - cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug - make -j2 VERBOSE=1 +# cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug +# make -j2 VERBOSE=1 - - name: test - run: | - cd $GITHUB_WORKSPACE/g2/build - ctest --verbose --output-on-failure --rerun-failed - gcovr --root .. -v --html-details --exclude ../tests --exclude CMakeFiles --print-summary -o test-coverage.html &> /dev/null - - - name: upload-test-coverage - uses: actions/upload-artifact@v2 - with: - name: g2-test-coverage - path: | - g2/build/*.html - g2/build/*.css From b9f458f831a62888896948aa2f333e7ad19ca974 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 08:55:43 -0700 Subject: [PATCH 06/34] more changes --- .github/workflows/debug-docs-test_coverage.yml | 1 - .github/workflows/intel.yml | 1 - .github/workflows/linux-mac-nceplibs-mpi.yml | 1 - .github/workflows/netcdf-versions.yml | 1 - 4 files changed, 4 deletions(-) diff --git a/.github/workflows/debug-docs-test_coverage.yml b/.github/workflows/debug-docs-test_coverage.yml index 7e8782c3a..98f984519 100644 --- a/.github/workflows/debug-docs-test_coverage.yml +++ b/.github/workflows/debug-docs-test_coverage.yml @@ -1,5 +1,4 @@ name: debug-docs-test_coverage -name: developer on: push: branches: diff --git a/.github/workflows/intel.yml b/.github/workflows/intel.yml index 0dbe12490..200a91f03 100644 --- a/.github/workflows/intel.yml +++ b/.github/workflows/intel.yml @@ -1,5 +1,4 @@ name: intel -name: developer on: push: branches: diff --git a/.github/workflows/linux-mac-nceplibs-mpi.yml b/.github/workflows/linux-mac-nceplibs-mpi.yml index 75056350f..8b7aab007 100644 --- a/.github/workflows/linux-mac-nceplibs-mpi.yml +++ b/.github/workflows/linux-mac-nceplibs-mpi.yml @@ -1,5 +1,4 @@ name: linux-mac-mpi-nceplibs -name: developer on: push: branches: diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml index 14a374d13..d756c1907 100644 --- a/.github/workflows/netcdf-versions.yml +++ b/.github/workflows/netcdf-versions.yml @@ -1,5 +1,4 @@ name: netcdf-versions -name: developer on: push: branches: From 7c30a808bf31e56c647b4db21666ccb85442dba8 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 09:03:16 -0700 Subject: [PATCH 07/34] more changes --- .github/workflows/developer.yml | 75 ++++++++++++++++++++++----------- 1 file changed, 51 insertions(+), 24 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index a7232fa3f..7716fa639 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -32,6 +32,57 @@ jobs: sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libnetcdf-dev libnetcdff-dev doxygen openmpi-bin libopenmpi-dev python3 -m pip install gcovr + - name: cache-esmf + id: cache-esmf + uses: actions/cache@v2 + with: + path: ~/esmf + key: esmf-8.2.0-${{ runner.os }}3 + + - name: build-esmf + if: steps.cache-esmf.outputs.cache-hit != 'true' + run: | + pushd ~ + export ESMF_DIR=~/esmf-ESMF_8_2_0 + wget https://github.com/esmf-org/esmf/archive/ESMF_8_2_0.tar.gz &> /dev/null + tar zxf ESMF_8_2_0.tar.gz + cd esmf-ESMF_8_2_0 + export ESMF_COMM=mpich3 + export ESMF_INSTALL_BINDIR=bin + export ESMF_INSTALL_LIBDIR=lib + export ESMF_INSTALL_MODDIR=mod + export ESMF_COMPILER=gfortran + export ESMF_INSTALL_PREFIX=~/esmf + export ESMF_NETCDF=split + export ESMF_NETCDF_INCLUDE=/usr/include + export ESMF_NETCDF_LIBPATH=/usr/x86_64-linux-gnu + make -j2 + make install + + - name: cache-jasper + id: cache-jasper + uses: actions/cache@v2 + with: + path: ~/jasper + key: jasper-${{ runner.os }}-3.0.3-1 + + - name: checkout-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: jasper-software/jasper + path: jasper + ref: version-3.0.3 + + - name: build-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + run: | + cd jasper + mkdir build-jasper && cd build-jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper + make -j2 + make install + - name: checkout-bacio uses: actions/checkout@v2 with: @@ -64,30 +115,6 @@ jobs: make -j2 make install - - name: cache-jasper - id: cache-jasper - uses: actions/cache@v2 - with: - path: ~/jasper - key: jasper-${{ runner.os }}-3.0.3-1 - - - name: checkout-jasper - if: steps.cache-jasper.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: jasper-software/jasper - path: jasper - ref: version-3.0.3 - - - name: build-jasper - if: steps.cache-jasper.outputs.cache-hit != 'true' - run: | - cd jasper - mkdir build-jasper && cd build-jasper - cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper - make -j2 - make install - - name: checkout-g2c uses: actions/checkout@v2 with: From 51e7ac1f316dcbb5295643cfc7b7043346c04b6c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 09:50:02 -0700 Subject: [PATCH 08/34] more changes --- .github/workflows/developer.yml | 45 ++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 7716fa639..3d015f0cd 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -37,7 +37,7 @@ jobs: uses: actions/cache@v2 with: path: ~/esmf - key: esmf-8.2.0-${{ runner.os }}3 + key: developer-esmf-8.2.0-${{ runner.os }}3 - name: build-esmf if: steps.cache-esmf.outputs.cache-hit != 'true' @@ -64,7 +64,7 @@ jobs: uses: actions/cache@v2 with: path: ~/jasper - key: jasper-${{ runner.os }}-3.0.3-1 + key: developer-jasper-${{ runner.os }}-3.0.3-1 - name: checkout-jasper if: steps.cache-jasper.outputs.cache-hit != 'true' @@ -83,22 +83,55 @@ jobs: make -j2 make install + - name: cache-bacio + id: cache-bacio + uses: actions/cache@v2 + with: + path: ~/bacio + key: developer-bacio-${{ runner.os }}-v2.4.1 + - name: checkout-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: repository: NOAA-EMC/NCEPLIBS-bacio path: bacio - ref: develop - + ref: v2.4.1 + - name: build-bacio + if: steps.cache-bacio.outputs.cache-hit != 'true' run: | cd bacio + mkdir build && cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio + make -j2 + make install + + - name: cache-sp + id: cache-sp + uses: actions/cache@v2 + with: + path: ~/sp + key: developer-sp-${{ runner.os }}-2.3.3-1 + + - name: checkout-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sp + path: sp + ref: v2.3.3 + + - name: build-sp + if: steps.cache-sp.outputs.cache-hit != 'true' + run: | + cd sp mkdir build cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/bacio + cmake .. -DCMAKE_INSTALL_PREFIX=~/sp make -j2 make install - + - name: checkout-w3emc uses: actions/checkout@v2 with: From ac6aefd20042491082bdafa15725744ca27dc528 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Sun, 11 Dec 2022 09:53:13 -0700 Subject: [PATCH 09/34] more changes --- .github/workflows/debug-docs-test_coverage.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/debug-docs-test_coverage.yml b/.github/workflows/debug-docs-test_coverage.yml index 98f984519..be1371f69 100644 --- a/.github/workflows/debug-docs-test_coverage.yml +++ b/.github/workflows/debug-docs-test_coverage.yml @@ -115,12 +115,5 @@ jobs: - name: test run: | cd ufs_utils/build - export LSAN_OPTIONS=suppressions=LSanSuppress.supp +# export LSAN_OPTIONS=suppressions=LSanSuppress.supp ctest --rerun-failed --output-on-failure - export PATH="/home/runner/.local/bin:$PATH" - gcovr -r .. --html-details -o test-coverage.html - - - uses: actions/upload-artifact@v2 - with: - name: test-coverage - path: ufs_utils/build/*.html From e17188489ff0325516389a164537b6c84e59fee4 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 05:16:39 -0700 Subject: [PATCH 10/34] more --- .github/workflows/developer.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 3d015f0cd..4662d48be 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -23,6 +23,7 @@ jobs: env: FC: mpifort CC: mpicc + FCFLAGS: -fallow-argument-mismatch steps: From 1cffa1a9f3b6847a1d619d6f8d43aeabe296a87c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 05:17:17 -0700 Subject: [PATCH 11/34] more --- .github/workflows/netcdf-versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/netcdf-versions.yml b/.github/workflows/netcdf-versions.yml index d756c1907..424bff3ca 100644 --- a/.github/workflows/netcdf-versions.yml +++ b/.github/workflows/netcdf-versions.yml @@ -166,5 +166,5 @@ jobs: - name: test run: | cd ufs_utils/build - export LSAN_OPTIONS=suppressions=LSanSuppress.supp +# export LSAN_OPTIONS=suppressions=LSanSuppress.supp ctest --rerun-failed --output-on-failure From b86a6e8401321c4cc5b62749f00412274df74838 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 05:23:01 -0700 Subject: [PATCH 12/34] addding debug2 --- .github/workflows/debug2.yml | 119 +++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 .github/workflows/debug2.yml diff --git a/.github/workflows/debug2.yml b/.github/workflows/debug2.yml new file mode 100644 index 000000000..728ddb1d0 --- /dev/null +++ b/.github/workflows/debug2.yml @@ -0,0 +1,119 @@ +name: debug2 +on: + push: + branches: + - develop + paths-ignore: + - README.md + pull_request: + branches: + - develop + paths-ignore: + - README.md + +defaults: + run: + shell: bash -exo pipefail {0} + +jobs: + debug2: + runs-on: ubuntu-latest + + steps: + + - name: install-dependencies + run: | + sudo apt-get update + sudo apt-get install libmpich-dev + sudo apt-get install doxygen + sudo apt-get install libpng-dev + sudo apt-get install libjpeg-dev + sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config + python3 -m pip install gcovr + + - name: cache-esmf + id: cache-esmf + uses: actions/cache@v2 + with: + path: ~/esmf + key: debug2-esmf-8.2.0-${{ runner.os }}3 + + - name: build-esmf + if: steps.cache-esmf.outputs.cache-hit != 'true' + run: | + pushd ~ + export ESMF_DIR=~/esmf-ESMF_8_2_0 + wget https://github.com/esmf-org/esmf/archive/ESMF_8_2_0.tar.gz &> /dev/null + tar zxf ESMF_8_2_0.tar.gz + cd esmf-ESMF_8_2_0 + export ESMF_COMM=mpich3 + export ESMF_INSTALL_BINDIR=bin + export ESMF_INSTALL_LIBDIR=lib + export ESMF_INSTALL_MODDIR=mod + export ESMF_COMPILER=gfortran + export ESMF_INSTALL_PREFIX=~/esmf + export ESMF_NETCDF=split + export ESMF_NETCDF_INCLUDE=/usr/include + export ESMF_NETCDF_LIBPATH=/usr/x86_64-linux-gnu + make -j2 + make install + + - name: cache-jasper + id: cache-jasper + uses: actions/cache@v2 + with: + path: ~/jasper + key: debug2-jasper-2.0.25-${{ runner.os }}3 + + - name: build-jasper + if: steps.cache-jasper.outputs.cache-hit != 'true' + run: | + wget https://github.com/jasper-software/jasper/archive/version-2.0.25.tar.gz &> /dev/null + tar zxf version-2.0.25.tar.gz + cd jasper-version-2.0.25 + mkdir build-jasper && cd build-jasper + cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper -DJAS_ENABLE_SHARED=OFF + make -j2 + make install + + - name: cache-nceplibs + id: cache-nceplibs + uses: actions/cache@v2 + with: + path: ~/nceplibs + key: debug2-nceplibs-1.4.0-${{ runner.os }}3 + + - name: build-nceplibs + if: steps.cache-nceplibs.outputs.cache-hit != 'true' + run: | + wget https://github.com/NOAA-EMC/NCEPLIBS/archive/v1.4.0.tar.gz &> /dev/null + tar zxf v1.4.0.tar.gz + cd NCEPLIBS-1.4.0 + export ESMFMKFILE=~/esmf/lib/esmf.mk + mkdir build && cd build + cmake .. -DCMAKE_PREFIX_PATH='~;~/jasper' -DCMAKE_INSTALL_PREFIX='~/nceplibs' -DFLAT=ON + make -j2 + + - name: checkout-ufs-utils + uses: actions/checkout@v2 + with: + path: ufs_utils + submodules: recursive + + - name: build + run: | + export ESMFMKFILE=~/esmf/lib/esmf.mk + cd ufs_utils + mkdir build && cd build + export CC=mpicc + export CXX=mpicxx + export FC=mpifort + export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" + cmake .. -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs' -DCMAKE_BUILD_TYPE=Debug -DENABLE_DOCS=On -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" + make -j2 + + - name: test + run: | + cd ufs_utils/build +# export LSAN_OPTIONS=suppressions=LSanSuppress.supp + ctest --rerun-failed --output-on-failure From b3801ad59a550622409eb851619cd0c6f4ba11dc Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 05:28:24 -0700 Subject: [PATCH 13/34] addding debug2 --- .github/workflows/debug2.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/debug2.yml b/.github/workflows/debug2.yml index 728ddb1d0..b1296a910 100644 --- a/.github/workflows/debug2.yml +++ b/.github/workflows/debug2.yml @@ -110,10 +110,9 @@ jobs: export FC=mpifort export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" cmake .. -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs' -DCMAKE_BUILD_TYPE=Debug -DENABLE_DOCS=On -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" - make -j2 + make -j2 VERBOSE=1 - name: test run: | cd ufs_utils/build -# export LSAN_OPTIONS=suppressions=LSanSuppress.supp ctest --rerun-failed --output-on-failure From 80891bcb455a8ddb430f34a71a73c63f311da1bf Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 05:48:04 -0700 Subject: [PATCH 14/34] addding debug2 --- .github/workflows/developer.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 4662d48be..e0a1a3638 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -17,6 +17,10 @@ on: paths-ignore: - README.md +defaults: + run: + shell: bash -exo pipefail {0} + jobs: developer: runs-on: ubuntu-latest @@ -30,7 +34,8 @@ jobs: - name: install-dependencies run: | sudo apt-get update - sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev libnetcdf-dev libnetcdff-dev doxygen openmpi-bin libopenmpi-dev + sudo apt-get install libpng-dev zlib1g-dev libjpeg-dev doxygen libmpich-dev + sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config python3 -m pip install gcovr - name: cache-esmf From 354b4f61c565839bf1f27796f439906ff051840a Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 06:18:15 -0700 Subject: [PATCH 15/34] more --- .github/workflows/developer.yml | 102 +++++++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index e0a1a3638..f9b46d403 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -169,7 +169,107 @@ jobs: cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper make -j2 make install - + + - name: cache-sfcio + id: cache-sfcio + uses: actions/cache@v2 + with: + path: ~/sfcio + key: developer-sfcio-${{ runner.os }}-1.4.0-1 + + - name: checkout-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sfcio + path: sfcio + ref: v1.4.0 + + - name: build-sfcio + if: steps.cache-sfcio.outputs.cache-hit != 'true' + run: | + cd sfcio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sfcio + make -j2 + make install + + - name: cache-nemsio + id: cache-nemsio + uses: actions/cache@v2 + with: + path: ~/nemsio + key: developer-nemsio-${{ runner.os }}-2.5.0-1 + + - name: checkout-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-nemsio + path: nemsio + ref: v2.5.0 + + - name: build-nemsio + if: steps.cache-nemsio.outputs.cache-hit != 'true' + run: | + cd nemsio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/nemsio + make -j2 + make install + + - name: cache-sigio + id: cache-sigio + uses: actions/cache@v2 + with: + path: ~/sigio + key: developer-sigio-${{ runner.os }}-2.3.0 + + - name: checkout-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-sigio + path: sigio + ref: v2.3.0 + + - name: build-sigio + if: steps.cache-sigio.outputs.cache-hit != 'true' + run: | + cd sigio + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/sigio + make -j2 + make install + + - name: cache-w3nco + id: cache-w3nco + uses: actions/cache@v2 + with: + path: ~/w3nco + key: developer-w3nco-${{ runner.os }}-2.4.0 + + - name: checkout-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-w3nco + path: w3nco + ref: v2.4.0 + + - name: build-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + run: | + cd w3nco + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/w3nco + make -j2 + make install + - name: checkout uses: actions/checkout@v2 with: From ca86d6fa427ebed644aa00b126e2e3df17d58c33 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 06:22:06 -0700 Subject: [PATCH 16/34] more --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index f9b46d403..e2940f871 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -216,7 +216,7 @@ jobs: cd nemsio mkdir build cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/nemsio + cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH=~/bacio .. make -j2 make install From 504f690676dffe2c91102d05a8b39a3dd0983cbf Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 06:26:48 -0700 Subject: [PATCH 17/34] more --- .github/workflows/developer.yml | 52 ++++++++++++++++----------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index e2940f871..ac14d7758 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -195,6 +195,31 @@ jobs: make -j2 make install + - name: cache-w3nco + id: cache-w3nco + uses: actions/cache@v2 + with: + path: ~/w3nco + key: developer-w3nco-${{ runner.os }}-2.4.0 + + - name: checkout-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-w3nco + path: w3nco + ref: v2.4.0 + + - name: build-w3nco + if: steps.cache-w3nco.outputs.cache-hit != 'true' + run: | + cd w3nco + mkdir build + cd build + cmake .. -DCMAKE_INSTALL_PREFIX=~/w3nco + make -j2 + make install + - name: cache-nemsio id: cache-nemsio uses: actions/cache@v2 @@ -216,7 +241,7 @@ jobs: cd nemsio mkdir build cd build - cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH=~/bacio .. + cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco .. make -j2 make install @@ -245,31 +270,6 @@ jobs: make -j2 make install - - name: cache-w3nco - id: cache-w3nco - uses: actions/cache@v2 - with: - path: ~/w3nco - key: developer-w3nco-${{ runner.os }}-2.4.0 - - - name: checkout-w3nco - if: steps.cache-w3nco.outputs.cache-hit != 'true' - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-w3nco - path: w3nco - ref: v2.4.0 - - - name: build-w3nco - if: steps.cache-w3nco.outputs.cache-hit != 'true' - run: | - cd w3nco - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/w3nco - make -j2 - make install - - name: checkout uses: actions/checkout@v2 with: From 74b7422458939192a891b2c598428224df070019 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 06:52:12 -0700 Subject: [PATCH 18/34] more --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index ac14d7758..c3bcaaa87 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -241,7 +241,7 @@ jobs: cd nemsio mkdir build cd build - cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco .. + cmake -DCMAKE_INSTALL_PREFIX=~/nemsio -DCMAKE_PREFIX_PATH="~/bacio;~/w3nco" .. make -j2 make install From f8042cf3c0a6239916317a2ba1f00dfa64635add Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 07:02:45 -0700 Subject: [PATCH 19/34] more --- .github/workflows/developer.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index c3bcaaa87..9dbb1c81b 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -282,7 +282,7 @@ jobs: mkdir build doxygen --version cd build -# cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug -# make -j2 VERBOSE=1 + cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug + make -j2 VERBOSE=1 From b964da756f9bc8c8eb8e31427694fe0aa5bd225d Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 07:05:46 -0700 Subject: [PATCH 20/34] more --- .github/workflows/debug2.yml | 118 -------------------------------- .github/workflows/developer.yml | 1 + 2 files changed, 1 insertion(+), 118 deletions(-) delete mode 100644 .github/workflows/debug2.yml diff --git a/.github/workflows/debug2.yml b/.github/workflows/debug2.yml deleted file mode 100644 index b1296a910..000000000 --- a/.github/workflows/debug2.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: debug2 -on: - push: - branches: - - develop - paths-ignore: - - README.md - pull_request: - branches: - - develop - paths-ignore: - - README.md - -defaults: - run: - shell: bash -exo pipefail {0} - -jobs: - debug2: - runs-on: ubuntu-latest - - steps: - - - name: install-dependencies - run: | - sudo apt-get update - sudo apt-get install libmpich-dev - sudo apt-get install doxygen - sudo apt-get install libpng-dev - sudo apt-get install libjpeg-dev - sudo apt-get install libnetcdf-dev libnetcdff-dev netcdf-bin pkg-config - python3 -m pip install gcovr - - - name: cache-esmf - id: cache-esmf - uses: actions/cache@v2 - with: - path: ~/esmf - key: debug2-esmf-8.2.0-${{ runner.os }}3 - - - name: build-esmf - if: steps.cache-esmf.outputs.cache-hit != 'true' - run: | - pushd ~ - export ESMF_DIR=~/esmf-ESMF_8_2_0 - wget https://github.com/esmf-org/esmf/archive/ESMF_8_2_0.tar.gz &> /dev/null - tar zxf ESMF_8_2_0.tar.gz - cd esmf-ESMF_8_2_0 - export ESMF_COMM=mpich3 - export ESMF_INSTALL_BINDIR=bin - export ESMF_INSTALL_LIBDIR=lib - export ESMF_INSTALL_MODDIR=mod - export ESMF_COMPILER=gfortran - export ESMF_INSTALL_PREFIX=~/esmf - export ESMF_NETCDF=split - export ESMF_NETCDF_INCLUDE=/usr/include - export ESMF_NETCDF_LIBPATH=/usr/x86_64-linux-gnu - make -j2 - make install - - - name: cache-jasper - id: cache-jasper - uses: actions/cache@v2 - with: - path: ~/jasper - key: debug2-jasper-2.0.25-${{ runner.os }}3 - - - name: build-jasper - if: steps.cache-jasper.outputs.cache-hit != 'true' - run: | - wget https://github.com/jasper-software/jasper/archive/version-2.0.25.tar.gz &> /dev/null - tar zxf version-2.0.25.tar.gz - cd jasper-version-2.0.25 - mkdir build-jasper && cd build-jasper - cmake .. -DCMAKE_INSTALL_PREFIX=~/jasper -DJAS_ENABLE_SHARED=OFF - make -j2 - make install - - - name: cache-nceplibs - id: cache-nceplibs - uses: actions/cache@v2 - with: - path: ~/nceplibs - key: debug2-nceplibs-1.4.0-${{ runner.os }}3 - - - name: build-nceplibs - if: steps.cache-nceplibs.outputs.cache-hit != 'true' - run: | - wget https://github.com/NOAA-EMC/NCEPLIBS/archive/v1.4.0.tar.gz &> /dev/null - tar zxf v1.4.0.tar.gz - cd NCEPLIBS-1.4.0 - export ESMFMKFILE=~/esmf/lib/esmf.mk - mkdir build && cd build - cmake .. -DCMAKE_PREFIX_PATH='~;~/jasper' -DCMAKE_INSTALL_PREFIX='~/nceplibs' -DFLAT=ON - make -j2 - - - name: checkout-ufs-utils - uses: actions/checkout@v2 - with: - path: ufs_utils - submodules: recursive - - - name: build - run: | - export ESMFMKFILE=~/esmf/lib/esmf.mk - cd ufs_utils - mkdir build && cd build - export CC=mpicc - export CXX=mpicxx - export FC=mpifort - export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" - cmake .. -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs' -DCMAKE_BUILD_TYPE=Debug -DENABLE_DOCS=On -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" - make -j2 VERBOSE=1 - - - name: test - run: | - cd ufs_utils/build - ctest --rerun-failed --output-on-failure diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 9dbb1c81b..e5b6b79e9 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -281,6 +281,7 @@ jobs: cd g2 mkdir build doxygen --version + export ESMFMKFILE=~/esmf/lib/esmf.mk cd build cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug make -j2 VERBOSE=1 From 08463b5d42261a4244a87190e3693b99abee50f5 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 07:14:31 -0700 Subject: [PATCH 21/34] more --- .github/workflows/developer.yml | 41 ++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index e5b6b79e9..d98844d88 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -138,21 +138,46 @@ jobs: make -j2 make install - - name: checkout-w3emc + - name: cache-ip + id: cache-ip + uses: actions/cache@v2 + with: + path: ~/ip + key: developer-ip-${{ runner.os }}-3.3.3 + + - name: checkout-ip + if: steps.cache-ip.outputs.cache-hit != 'true' uses: actions/checkout@v2 with: - repository: NOAA-EMC/NCEPLIBS-w3emc - path: w3emc - ref: develop + repository: NOAA-EMC/NCEPLIBS-ip + path: ip + ref: v3.3.3 - - name: build-w3emc + - name: build-ip + if: steps.cache-ip.outputs.cache-hit != 'true' run: | - cd w3emc + cd ip mkdir build cd build - cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. + cmake -DCMAKE_INSTALL_PREFIX=~/ip -DCMAKE_PREFIX_PATH=~~/sp .. make -j2 make install + + # - name: checkout-w3emc + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-w3emc + # path: w3emc + # ref: develop + + # - name: build-w3emc + # run: | + # cd w3emc + # mkdir build + # cd build + # cmake -DCMAKE_PREFIX_PATH=~/bacio -DCMAKE_INSTALL_PREFIX=~/w3emc .. + # make -j2 + # make install - name: checkout-g2c uses: actions/checkout@v2 @@ -283,7 +308,7 @@ jobs: doxygen --version export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/w3emc" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug + cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug make -j2 VERBOSE=1 From 59692f57dd89d192c4e6531dd3535e9effb31732 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 07:14:56 -0700 Subject: [PATCH 22/34] more --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index d98844d88..d156cad6e 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -308,7 +308,7 @@ jobs: doxygen --version export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug + cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug make -j2 VERBOSE=1 From 058d5157ea9975e7d8182daadf3193417ae17d9f Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 08:00:24 -0700 Subject: [PATCH 23/34] more --- .github/workflows/developer.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index d156cad6e..cc9718488 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -113,6 +113,31 @@ jobs: make -j2 make install + - name: cache-g2 + id: cache-g2 + uses: actions/cache@v2 + with: + path: ~/g2 + key: developer-g2-${{ runner.os }}-3.4.3 + + - name: checkout-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + uses: actions/checkout@v2 + with: + repository: NOAA-EMC/NCEPLIBS-g2 + path: g2 + ref: v3.4.3 + + - name: build-g2 + if: steps.cache-g2.outputs.cache-hit != 'true' + run: | + cd g2 + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH=~/bacio .. + make -j2 + make install + - name: cache-sp id: cache-sp uses: actions/cache@v2 From dfb675edc75d83c8c55fd2b8737294281702c551 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 08:02:56 -0700 Subject: [PATCH 24/34] more --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index cc9718488..2d202d755 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -134,7 +134,7 @@ jobs: cd g2 mkdir build cd build - cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH=~/bacio .. + cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH="~/bacio;~/jasper .. make -j2 make install From 924ae49615374e83a16185e56572ef51985fe480 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 08:04:54 -0700 Subject: [PATCH 25/34] more --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 2d202d755..8f5a4bf64 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -134,7 +134,7 @@ jobs: cd g2 mkdir build cd build - cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH="~/bacio;~/jasper .. + cmake -DCMAKE_INSTALL_PREFIX=~/g2 -DCMAKE_PREFIX_PATH="~/bacio;~/jasper" .. make -j2 make install From ba6bb5cd0b12bac1ef92d1afeddbf9f47f9ad84e Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 09:00:51 -0700 Subject: [PATCH 26/34] more --- .github/workflows/developer.yml | 37 +++++++++++++++++---------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 8f5a4bf64..ef2da3f85 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -204,21 +204,21 @@ jobs: # make -j2 # make install - - name: checkout-g2c - uses: actions/checkout@v2 - with: - repository: NOAA-EMC/NCEPLIBS-g2c - path: g2c - ref: develop + # - name: checkout-g2c + # uses: actions/checkout@v2 + # with: + # repository: NOAA-EMC/NCEPLIBS-g2c + # path: g2c + # ref: develop - - name: build-g2c - run: | - cd g2c - mkdir build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper - make -j2 - make install + # - name: build-g2c + # run: | + # cd g2c + # mkdir build + # cd build + # cmake .. -DCMAKE_INSTALL_PREFIX=~/g2c -DJasper_ROOT=~/jasper + # make -j2 + # make install - name: cache-sfcio id: cache-sfcio @@ -323,17 +323,18 @@ jobs: - name: checkout uses: actions/checkout@v2 with: - path: g2 + path: ufs_utils + submodules: recursive - name: build run: | set -x - cd g2 + cd ufs_utils mkdir build doxygen --version export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug - make -j2 VERBOSE=1 + # cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug +# make -j2 VERBOSE=1 From a41d1953e37301640aca8763be2389d5300f8fcd Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 10:13:18 -0700 Subject: [PATCH 27/34] more --- .github/workflows/developer.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index ef2da3f85..6f93cee0d 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -334,7 +334,7 @@ jobs: doxygen --version export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - # cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug -# make -j2 VERBOSE=1 + cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug + make -j2 VERBOSE=1 From c9ce62b6c694836d5500decdc2e60ee725548bc0 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 10:15:42 -0700 Subject: [PATCH 28/34] more --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 6f93cee0d..e2dedff5b 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -324,7 +324,7 @@ jobs: uses: actions/checkout@v2 with: path: ufs_utils - submodules: recursive + submodules: true - name: build run: | From 943e67e58792030d6fe82aed588abd4b3fec7dd3 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 10:18:49 -0700 Subject: [PATCH 29/34] more --- .github/workflows/developer.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index e2dedff5b..c32b423a5 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -70,7 +70,7 @@ jobs: uses: actions/cache@v2 with: path: ~/jasper - key: developer-jasper-${{ runner.os }}-3.0.3-1 + key: developer-jasper-${{ runner.os }}-2.0.33-1 - name: checkout-jasper if: steps.cache-jasper.outputs.cache-hit != 'true' @@ -78,7 +78,7 @@ jobs: with: repository: jasper-software/jasper path: jasper - ref: version-3.0.3 + ref: version-2.0.33 - name: build-jasper if: steps.cache-jasper.outputs.cache-hit != 'true' From ca1c23247c5109925ed6a4da23e27eb32746ba1c Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 10:41:56 -0700 Subject: [PATCH 30/34] more --- .github/workflows/developer.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index c32b423a5..0841a1bfe 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -337,4 +337,20 @@ jobs: cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug make -j2 VERBOSE=1 + - name: test + run: | + cd ufs_utils/build + ctest --verbose --rerun-failed --output-on-failure + gcovr --root .. -v --html-details --exclude ../tests --exclude CMakeFiles --print-summary -o test-coverage.html &> /dev/null + + - name: upload-test-coverage + uses: actions/upload-artifact@v2 + with: + name: ufs_utils-test-coverage + path: | + ufs_utils/build/*.html + ufs_utils/build/*.css + + + From d23fb3420cf1d954e9c71591d064d27318188059 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 11:16:35 -0700 Subject: [PATCH 31/34] more --- .github/workflows/developer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/developer.yml b/.github/workflows/developer.yml index 0841a1bfe..4401171f6 100644 --- a/.github/workflows/developer.yml +++ b/.github/workflows/developer.yml @@ -334,7 +334,7 @@ jobs: doxygen --version export ESMFMKFILE=~/esmf/lib/esmf.mk cd build - cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fsanitize=address" -DCMAKE_BUILD_TYPE=Debug + cmake .. -DFTP_TEST_FILES=ON -DTEST_FILE_DIR=/home/runner/data -DENABLE_DOCS=On -DJasper_ROOT=~/jasper -DCMAKE_PREFIX_PATH="~/g2c;~/bacio;~/g2;~/w3nco;~/sfcio;~/sigio;~/nemsio;~/sp;~/ip" -DCMAKE_Fortran_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_C_FLAGS="-g -fprofile-arcs -ftest-coverage -O0" -DCMAKE_BUILD_TYPE=Debug make -j2 VERBOSE=1 - name: test From 0da10b5ff55a308924587fbfca2d4a7c31c65313 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 11:55:58 -0700 Subject: [PATCH 32/34] more --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef9da1dde..fbc07871b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,7 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") endif() set(CMAKE_Fortran_FLAGS_RELEASE "-O3") - set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls") + set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") endif() if(CMAKE_C_COMPILER_ID MATCHES "^(Intel)$") From 3790db2071e39efc294eb1bd633da7f911c9accb Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 12:03:07 -0700 Subject: [PATCH 33/34] more --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fbc07871b..aebaa0fa9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,8 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") endif() set(CMAKE_Fortran_FLAGS_RELEASE "-O3") - set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") + set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall") +# set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") endif() if(CMAKE_C_COMPILER_ID MATCHES "^(Intel)$") From d3280d879f323ee7e508715279bc6dc3933bf5c8 Mon Sep 17 00:00:00 2001 From: Edward Hartnett Date: Mon, 12 Dec 2022 12:08:51 -0700 Subject: [PATCH 34/34] more --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index aebaa0fa9..76e92900e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,8 +42,8 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") endif() set(CMAKE_Fortran_FLAGS_RELEASE "-O3") - set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall") -# set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") +# set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall") + set(CMAKE_Fortran_FLAGS_DEBUG "-O1 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -fno-omit-frame-pointer -fno-optimize-sibling-calls") endif() if(CMAKE_C_COMPILER_ID MATCHES "^(Intel)$")