diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..f08155a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,43 @@ +name: CI + +on: + push: + branches: [develop] + pull_request: + workflow_dispatch: + +jobs: + build: + name: Build (APT, no MPI, pre-built ESMF) + runs-on: ubuntu-22.04 + steps: + - name: Check out + uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + + - name: Install dependencies + run: sudo apt-get install -y libnetcdf-dev libnetcdff-dev + liblapack-dev libopenblas-dev + + - name: Fetch pre-built ESMF + run: | + v="8.3.1" # ESMF + gcc="12" + esmf_base=$HOME/esmf + esmf=${v}-gcc-${gcc}-mpiuni + + export ESMF_DIR=${esmf_base}/${esmf} + mkdir -p $ESMF_DIR + cd $ESMF_DIR + wget https://github.com/zmoon/gha-esmf/releases/download/v0.0.5/${esmf}.tar.gz + tar xzvf ${esmf}.tar.gz + + echo "ESMFMKFILE=${ESMF_DIR}/lib/libO/Linux.gfortran.64.mpiuni.default/esmf.mk" >> "$GITHUB_ENV" + + - name: Configure + run: FC=gfortran-12 cmake -S . -B build + + - name: Build + run: cmake --build build diff --git a/src/nuopc/CMakeLists.txt b/src/nuopc/CMakeLists.txt index 42d9beb..5169883 100644 --- a/src/nuopc/CMakeLists.txt +++ b/src/nuopc/CMakeLists.txt @@ -11,7 +11,6 @@ target_include_directories(NEXUS_Shared INTERFACE ${HEMCO_BINARY_DIR}/mod ) -find_package(MPI REQUIRED) find_package(ESMF REQUIRED) find_package(NetCDF REQUIRED COMPONENTS Fortran)