From e7ff0161960b4ce1d52267656cae75610bacf909 Mon Sep 17 00:00:00 2001 From: GeorgeGayno-NOAA <52789452+GeorgeGayno-NOAA@users.noreply.github.com> Date: Fri, 18 Aug 2023 15:59:26 -0400 Subject: [PATCH] Delete linux-mac-nceplibs-mpi.yml --- .github/workflows/linux-mac-nceplibs-mpi.yml | 259 ------------------- 1 file changed, 259 deletions(-) delete mode 100644 .github/workflows/linux-mac-nceplibs-mpi.yml diff --git a/.github/workflows/linux-mac-nceplibs-mpi.yml b/.github/workflows/linux-mac-nceplibs-mpi.yml deleted file mode 100644 index 43d611949..000000000 --- a/.github/workflows/linux-mac-nceplibs-mpi.yml +++ /dev/null @@ -1,259 +0,0 @@ -name: linux-mac-mpi-nceplibs -on: - push: - branches: - - develop - paths-ignore: - - README.md - pull_request: - branches: - - develop - paths-ignore: - - README.md - -defaults: - run: - shell: bash -exo pipefail {0} - -jobs: - matrix-build-and-test: - runs-on: ${{ matrix.os }} - env: - CC: gcc-9 - FC: gfortran-9 - CXX: g++-9 - strategy: - fail-fast: true - matrix: - os: [macos-11, ubuntu-latest] - compiler: [gcc-9] - nceplibs_version: [develop, 1.4.0] - mpi_type: [mpich, openmpi] - netcdf_version: [4.7.4] - - steps: - - - name: install-dependencies - run: | - echo "$HOME/mpi/bin" >> $GITHUB_PATH - if [[ ${{ matrix.os }} == "ubuntu-latest" ]]; then - sudo apt-get update - sudo apt-get install libpng-dev - sudo apt-get install libjpeg-dev - elif [[ ${{ matrix.os }} == "macos-11" ]]; then - brew update - brew install wget - brew install jpeg-turbo - if [[ ${{ matrix.compiler }} == "gcc-9" ]]; then - sudo ln -sf /usr/local/bin/gfortran-9 /usr/local/bin/gfortran - elif [[ ${{ matrix.compiler }} == "gcc-10" ]]; then - sudo ln -sf /usr/local/bin/gfortran-10 /usr/local/bin/gfortran - fi - fi - - - name: cache-mpi - id: cache-mpi - uses: actions/cache@v2 - with: - path: ~/mpi - key: mpi-${{ matrix.mpi_type }}-${{ runner.os }} - - - name: build-mpi - if: steps.cache-mpi.outputs.cache-hit != 'true' - run: | - if [[ ${{ matrix.mpi_type}} == "mpich" ]]; then - wget http://www.mpich.org/static/downloads/3.3.2/mpich-3.3.2.tar.gz &> /dev/null - tar -xzf mpich-3.3.2.tar.gz - cd mpich-3.3.2 - ./configure --prefix=$HOME/mpi --enable-fortran --enable-cxx - make -j2 - make install - elif [[ ${{ matrix.mpi_type }} == "openmpi" ]]; then - wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.1.tar.gz &> /dev/null - tar -xzf openmpi-4.1.1.tar.gz - cd openmpi-4.1.1 - if [[ ${{ matrix.os }} == "ubuntu-latest" ]]; then - ./configure --prefix=$HOME/mpi --enable-mpi-fortran --enable-mpi-cxx - elif [[ ${{ matrix.os }} == "macos-11" ]]; then - ./configure --prefix=$HOME/mpi --enable-mpi-fortran --enable-mpi-cxx --enable-two-level-namespace - fi - make -j2 - make install - fi - - - name: cache-netcdf - id: cache-netcdf - uses: actions/cache@v2 - with: - path: ~/netcdf - key: netcdf-c-${{ matrix.netcdf_version }}-${{ runner.os }}-${{ matrix.mpi_type }}3 - - - name: build-hdf5 - if: steps.cache-netcdf.outputs.cache-hit != 'true' - run: | - export CC=mpicc - wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.7/src/hdf5-1.10.7.tar.gz &> /dev/null - tar -xzf hdf5-1.10.7.tar.gz - pushd hdf5-1.10.7 - ./configure --prefix=${HOME}/netcdf --enable-parallel --disable-tools --disable-fortran --disable-cxx --enable-parallel-tests --disable-shared --enable-static - make -j2 - make install - - - name: build-netcdf-c - if: steps.cache-netcdf.outputs.cache-hit != 'true' - run: | - export CC=mpicc - export CPPFLAGS=-I${HOME}/netcdf/include - export LDFLAGS=-L${HOME}/netcdf/lib - wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v${{ matrix.netcdf_version }}.tar.gz &> /dev/null - tar -xzf v${{ matrix.netcdf_version }}.tar.gz - cd netcdf-c-${{ matrix.netcdf_version }} - ./configure --prefix=${HOME}/netcdf --disable-dap --disable-utilities --disable-shared - make -j2 - make install - - - name: build-netcdf-fortran - if: steps.cache-netcdf.outputs.cache-hit != 'true' - run: | - set -x - export PATH="${HOME}/netcdf/bin:$PATH" - export CC=mpicc - export FC=mpifort - export CPPFLAGS=-I${HOME}/netcdf/include - export LDFLAGS=-L${HOME}/netcdf/lib - export LIBS=`nc-config --libs` - wget https://github.com/Unidata/netcdf-fortran/archive/v4.5.3.tar.gz &> /dev/null - tar -xzf v4.5.3.tar.gz - pushd netcdf-fortran-4.5.3 - ./configure --prefix=${HOME}/netcdf --disable-shared - make -j2 - make install - - - name: cache-esmf - id: cache-esmf - uses: actions/cache@v2 - with: - path: ~/esmf - key: esmf--8.2.0-${{ runner.os }}-${{ matrix.mpi_type }}-netcdf-${{ matrix.netcdf_version }}3 - - - name: build-esmf - if: steps.cache-esmf.outputs.cache-hit != 'true' - run: | - set -x - 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 - if [[ ${{ matrix.mpi_type}} == "mpich" ]]; then - export ESMF_COMM=mpich3 - elif [[ ${{ matrix.mpi_type}} == "openmpi" ]]; then - export ESMF_COMM=openmpi - fi - 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=${HOME}/netcdf/include - export ESMF_NETCDF_LIBPATH=${HOME}/netcdf/lib - export ESMF_NETCDF_LIBS="-lnetcdff -lnetcdf -lhdf5_hl -lhdf5 -lz" - make -j2 - make install - - - name: cache-jasper - id: cache-jasper - uses: actions/cache@v2 - with: - path: ~/jasper - key: jasper-2.0.25-${{ runner.os }}3 - - - name: build-jasper - if: steps.cache-jasper.outputs.cache-hit != 'true' - run: | - set -x - pwd - 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: checkout-nceplibs - run: | - git clone https://github.com/NOAA-EMC/NCEPLIBS.git nceplibs - cd nceplibs - if [[ ${{ matrix.nceplibs_version }} == "1.4.0" ]]; then - git checkout v1.4.0 - fi - - - name: get-git-hash - run: | - cd nceplibs - git rev-parse HEAD > hash.txt - - - name: cache-nceplibs - id: cache-nceplibs - uses: actions/cache@v2 - with: - path: ~/nceplibs - key: nceplibs-${{ matrix.nceplibs_version }}-${{ runner.os }}-${{ matrix.mpi_type }}-${{ hashFiles('nceplibs/hash.txt') }}3 - - - name: build-nceplibs - if: steps.cache-nceplibs.outputs.cache-hit != 'true' - run: | - set -x - export ESMFMKFILE=~/esmf/lib/esmf.mk - cd nceplibs - mkdir build && cd build - cmake .. -DCMAKE_PREFIX_PATH='~;~/jasper;~/netcdf' -DCMAKE_INSTALL_PREFIX='~/nceplibs' -DFLAT=ON - make -j2 - - - name: checkout-ufs-utils - uses: actions/checkout@v2 - with: - path: ufs_utils - submodules: recursive - - - name: cache-data - id: cache-data - uses: actions/cache@v2 - with: - path: ~/data - key: data-2 - - - 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" - export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}:~/jasper/lib;~/jasper/lib64" - cmake -DTEST_FILE_DIR=/home/runner/data -DCMAKE_PREFIX_PATH='~/jasper;~/nceplibs;~/netcdf' .. - make -j2 - - - name: test - run: | - cd ufs_utils/build - # Oversubscribe for OpenMPI to run more processes than CPUs - export OMPI_MCA_rmaps_base_oversubscribe=1 - ctest --rerun-failed --output-on-failure - - - name: cache-data - if: steps.cache-data.outputs.cache-hit != 'true' - run: | - mkdir ~/data - cp ufs_utils/build/tests/chgres_cube/data/* ~/data - cp ufs_utils/build/tests/sfc_climo_gen/data/* ~/data - cp ufs_utils/build/tests/cpld_gridgen/data/* ~/data - cp ufs_utils/tests/filter_topo/data/* ~/data - cp ufs_utils/tests/emcsfc_snow2mdl/data/* ~/data - cp ufs_utils/tests/chgres_cube/data/* ~/data - ls -l ~/data -