From 6405c272b3bef4ef7f43b0d6b48dc4e0de0e48ba Mon Sep 17 00:00:00 2001 From: Mariana Vertenstein Date: Tue, 20 Aug 2024 11:16:32 +0200 Subject: [PATCH] removed github workflows --- .github/workflows/gnu.yml | 108 ------------------------ .github/workflows/intel.yml | 137 ------------------------------- .github/workflows/io_gnu_yml.old | 122 --------------------------- 3 files changed, 367 deletions(-) delete mode 100644 .github/workflows/gnu.yml delete mode 100644 .github/workflows/intel.yml delete mode 100644 .github/workflows/io_gnu_yml.old diff --git a/.github/workflows/gnu.yml b/.github/workflows/gnu.yml deleted file mode 100644 index d28d1bb5b..000000000 --- a/.github/workflows/gnu.yml +++ /dev/null @@ -1,108 +0,0 @@ -name: GNU Linux Build -on: [push, pull_request, workflow_dispatch] - -# Cancel in-progress workflows when pushing to a branch -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -env: - cache_key: gnu11 - CC: gcc-10 - FC: gfortran-10 - CXX: g++-10 - - -# Split into a steup step, and a WW3 build step which -# builds multiple switches in a matrix. The setup is run once and -# the environment is cached so each build of WW3 can share the dependencies. - -jobs: - setup: - runs-on: ubuntu-latest - - steps: - - name: checkout-ww3 - if: steps.cache-env.outputs.cache-hit != 'true' - uses: actions/checkout@v3 - with: - path: ww3 - # Cache spack, OASIS, and compiler - # No way to flush Action cache, so key may have # appended - - name: cache-env - id: cache-env - uses: actions/cache@v3 - with: - path: | - spack - ~/.spack - work_oasis3-mct - key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }} - - # Build WW3 spack environment - - name: install-dependencies-with-spack - if: steps.cache-env.outputs.cache-hit != 'true' - run: | - # Install NetCDF, ESMF, g2, etc using Spack - sudo apt install cmake - git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git - source spack/share/spack/setup-env.sh - spack env create ww3-gnu ww3/model/ci/spack_gnu.yaml - spack env activate ww3-gnu - spack compiler find - spack external find cmake - spack add mpich@3.4.2 - spack concretize - spack install --dirty -v - - - name: build-oasis - if: steps.cache-env.outputs.cache-hit != 'true' - run: | - source spack/share/spack/setup-env.sh - spack env activate ww3-gnu - export WWATCH3_DIR=${GITHUB_WORKSPACE}/ww3/model - export OASIS_INPUT_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/oasis3-mct - export OASIS_WORK_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct - cd ww3/regtests/ww3_tp2.14/input/oasis3-mct/util/make_dir - cmake . - make VERBOSE=1 - cp -r ${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct ${GITHUB_WORKSPACE} - - build: - needs: setup - strategy: - matrix: - switch: [Ifremer1, NCEP_st2, NCEP_st4, ite_pdlib, NCEP_st4sbs, NCEP_glwu, OASACM, UKMO, MULTI_ESMF] - runs-on: ubuntu-latest - - steps: - - name: checkout-ww3 - uses: actions/checkout@v3 - with: - path: ww3 - - - name: cache-env - id: cache-env - uses: actions/cache@v3 - with: - path: | - spack - ~/.spack - work_oasis3-mct - key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }} - - - name: build-ww3 - run: | - source spack/share/spack/setup-env.sh - spack env activate ww3-gnu - cd ww3 - export CC=mpicc - export FC=mpif90 - export OASISDIR=${GITHUB_WORKSPACE}/work_oasis3-mct - mkdir build && cd build - if [[ ${{ matrix.switch }} == "MULTI_ESMF" ]]; then - cmake .. -DMULTI_ESMF=ON -DSWITCH=multi_esmf - else - cmake .. -DSWITCH=${{ matrix.switch }} - fi - make -j2 VERBOSE=1 diff --git a/.github/workflows/intel.yml b/.github/workflows/intel.yml deleted file mode 100644 index f5de65dcd..000000000 --- a/.github/workflows/intel.yml +++ /dev/null @@ -1,137 +0,0 @@ -# This is a GitHub actions workflow for WW3. -# -# This workflow builds with the Intel compilers. -# -# Matt Masarik, Alex Richert, Ed Hartnett -name: Intel Linux Build -on: [push, pull_request, workflow_dispatch] - -# Cancel in-progress workflows when pushing to a branch -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -# Set I_MPI_CC/F90 so Intel MPI wrapper uses icc/ifort instead of gcc/gfortran -env: - cache_key: intel10-3 - CC: icc - FC: ifort - CXX: icpc - I_MPI_CC: icc - I_MPI_F90: ifort - -# Split into a dependency build step, and a WW3 build step which -# builds multiple switches in a matrix. The setup is run once and -# the environment is cached so each build of WW3 can share the dependencies. - -jobs: - setup: - runs-on: ubuntu-latest - - steps: - - - name: checkout-ww3 - if: steps.cache-env.outputs.cache-hit != 'true' - uses: actions/checkout@v3 - with: - path: ww3 - - # Cache spack, OASIS, and compiler - # No way to flush Action cache, so key may have # appended - - name: cache-env - id: cache-env - uses: actions/cache@v3 - with: - path: | - spack - ~/.spack - work_oasis3-mct - /opt/intel - key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_intel.yaml') }} - - - name: install-intel-compilers - if: steps.cache-env.outputs.cache-hit != 'true' - run: | - wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB - sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB - echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list - sudo apt-get update - sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-mpi-devel intel-oneapi-compiler-fortran-2023.2.1 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.1 intel-oneapi-openmp - - # Build WW3 spack environment - - name: install-dependencies-with-spack - if: steps.cache-env.outputs.cache-hit != 'true' - run: | - sudo mv /usr/local /usr/local_mv - # Install NetCDF, ESMF, g2, etc using Spack - . /opt/intel/oneapi/setvars.sh - git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git - source spack/share/spack/setup-env.sh - ln -s $(realpath $(which gcc)) spack/lib/spack/env/intel/gcc # spack/make bug in ESMF - spack env create ww3-intel ww3/model/ci/spack_intel.yaml - spack env activate ww3-intel - spack compiler find - sudo apt install cmake - spack external find - spack config add "packages:mpi:require:'intel-oneapi-mpi'" - spack config add "packages:all:require:['%intel']" - spack concretize - spack install --dirty -v --fail-fast - spack clean --all - - - name: build-oasis - if: steps.cache-env.outputs.cache-hit != 'true' - run: | - . /opt/intel/oneapi/setvars.sh - source spack/share/spack/setup-env.sh - spack env activate ww3-intel - export WWATCH3_DIR=${GITHUB_WORKSPACE}/ww3/model - export OASIS_INPUT_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/oasis3-mct - export OASIS_WORK_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct - cd ww3/regtests/ww3_tp2.14/input/oasis3-mct/util/make_dir - cmake . - make - cp -r ${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct ${GITHUB_WORKSPACE} - - build: - needs: setup - strategy: - matrix: - switch: [Ifremer1, NCEP_st2, NCEP_st4, ite_pdlib, NCEP_st4sbs, NCEP_glwu, OASACM, UKMO, MULTI_ESMF] - runs-on: ubuntu-latest - - steps: - - name: checkout-ww3 - uses: actions/checkout@v3 - with: - path: ww3 - - - name: cache-env - id: cache-env - uses: actions/cache@v3 - with: - path: | - spack - ~/.spack - work_oasis3-mct - /opt/intel - key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_intel.yaml') }} - - - name: build-ww3 - run: | - sudo mv /usr/local /usr/local_mv - sudo apt install cmake - . /opt/intel/oneapi/setvars.sh - source spack/share/spack/setup-env.sh - spack env activate ww3-intel - cd ww3 - export CC=mpiicc - export FC=mpiifort - export OASISDIR=${GITHUB_WORKSPACE}/work_oasis3-mct - mkdir build && cd build - if [[ ${{ matrix.switch }} == "MULTI_ESMF" ]]; then - cmake .. -DMULTI_ESMF=ON -DSWITCH=multi_esmf - else - cmake .. -DSWITCH=${{ matrix.switch }} - fi - make -j2 VERBOSE=1 diff --git a/.github/workflows/io_gnu_yml.old b/.github/workflows/io_gnu_yml.old deleted file mode 100644 index def5a1402..000000000 --- a/.github/workflows/io_gnu_yml.old +++ /dev/null @@ -1,122 +0,0 @@ -name: io_gnu -on: [push, pull_request, workflow_dispatch] - -# Cancel in-progress workflows when pushing to a branch -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -env: - cache_key: gnu11-1 - CC: gcc-10 - FC: gfortran-10 - CXX: g++-10 - - -# Split into a steup step, and a WW3 build step which -# builds multiple switches in a matrix. The setup is run once and -# the environment is cached so each build of WW3 can share the dependencies. - -jobs: - setup: - runs-on: ubuntu-latest - - steps: - - name: checkout-ww3 - if: steps.cache-env.outputs.cache-hit != 'true' - uses: actions/checkout@v3 - with: - path: ww3 - # Cache spack, OASIS, and compiler - # No way to flush Action cache, so key may have # appended - - name: cache-env - id: cache-env - uses: actions/cache@v3 - with: - path: | - spack - ~/.spack - work_oasis3-mct - key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }} - - # Build WW3 spack environment - - name: install-dependencies-with-spack - if: steps.cache-env.outputs.cache-hit != 'true' - run: | - # Install NetCDF, ESMF, g2, etc using Spack - sudo apt install cmake - git clone -c feature.manyFiles=true https://github.com/JCSDA/spack.git - source spack/share/spack/setup-env.sh - spack env create ww3-gnu ww3/model/ci/spack_gnu.yaml - spack env activate ww3-gnu - spack compiler find - spack external find cmake - spack add mpich@3.4.2 - spack concretize - spack install --dirty -v - - - name: build-oasis - if: steps.cache-env.outputs.cache-hit != 'true' - run: | - source spack/share/spack/setup-env.sh - spack env activate ww3-gnu - export WWATCH3_DIR=${GITHUB_WORKSPACE}/ww3/model - export OASIS_INPUT_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/oasis3-mct - export OASIS_WORK_PATH=${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct - cd ww3/regtests/ww3_tp2.14/input/oasis3-mct/util/make_dir - cmake . - make VERBOSE=1 - cp -r ${GITHUB_WORKSPACE}/ww3/regtests/ww3_tp2.14/input/work_oasis3-mct ${GITHUB_WORKSPACE} - - io_gnu: - needs: setup - runs-on: ubuntu-latest - - steps: - - name: install-dependencies - run: | - sudo apt-get update - sudo apt-get install doxygen gcovr valgrind - - - name: checkout-ww3 - uses: actions/checkout@v3 - with: - path: ww3 - - - name: cache-env - id: cache-env - uses: actions/cache@v3 - with: - path: | - spack - ~/.spack - work_oasis3-mct - key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('ww3/model/ci/spack_gnu.yaml') }} - - - name: build-ww3 - run: | - source spack/share/spack/setup-env.sh - spack env activate ww3-gnu - set -x - cd ww3 - export CC=mpicc - export FC=mpif90 - export OASISDIR=${GITHUB_WORKSPACE}/work_oasis3-mct - mkdir build && cd build - export LD_LIBRARY_PATH="/home/runner/work/WW3/WW3/spack/var/spack/environments/ww3-gnu/.spack-env/view/:$LD_LIBRARY_PATH" - cmake -DSWITCH=${GITHUB_WORKSPACE}/ww3/regtests/unittests/data/switch.io -DCMAKE_BUILD_TYPE=Debug -DCMAKE_Fortran_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fno-omit-frame-pointer -fsanitize=address" -DCMAKE_C_FLAGS="-g -fprofile-abs-path -fprofile-arcs -ftest-coverage -O0 -Wall -fno-omit-frame-pointer -fsanitize=address" .. - make -j2 VERBOSE=1 - ./bin/ww3_grid - mv mod_def.ww3 regtests/unittests - ctest --verbose --output-on-failure --rerun-failed - gcovr --root .. -v --html-details --exclude ../regtests/unittests --exclude CMakeFiles --print-summary -o test-coverage.html &> /dev/null - - - name: upload-test-coverage - uses: actions/upload-artifact@v3 - with: - name: ww3-test-coverage - path: | - ww3/build/*.html - ww3/build/*.css - -