diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 4f1b7a894..0da81e763 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -15,33 +15,34 @@ on: - develop jobs: - GCC: + build_spack: runs-on: ubuntu-latest strategy: matrix: - cmake_opts: ["-D32BIT=ON", "-D32BIT=OFF"] - gcc_ver: ["11"] - mpi: ["mpich"] + gcc_ver: ["12"] + mpi: ["mpich", "openmpi"] steps: - - name: install-doxygen - run: | - sudo apt-get install doxygen graphviz - - name: checkout-fv3atm - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: ${{ github.workspace }}/fv3atm submodules: recursive + - name: install-cmake + run: | + cd ${{ github.workspace }} + curl -f -s -S -R -L https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-Linux-x86_64.tar.gz | tar -zx + echo "${{ github.workspace }}/cmake-3.29.2-linux-x86_64/bin" >> $GITHUB_PATH + - name: cache-spack id: cache-spack - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ github.workspace }}/spack-develop - key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-2-${{ matrix.cmake_opts }}-${{ matrix.mpich }} + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }} # Building dependencies takes 40+ min - name: spack-install @@ -58,6 +59,42 @@ jobs: spack config add "packages:mpi:require:'${{ matrix.mpi }}'" spack concretize |& tee ${SPACK_ENV}/log.concretize spack install -j2 --fail-fast + spack clean --all + + build_fv3atm: + needs: build_spack + runs-on: ubuntu-latest + + strategy: + matrix: + cmake_opts: ["-D32BIT=ON", "-D32BIT=OFF"] + gcc_ver: ["12"] + mpi: ["mpich", "openmpi"] + + steps: + + - name: install-doxygen + run: | + sudo apt-get install doxygen graphviz + + - name: install-cmake + run: | + cd ${{ github.workspace }} + curl -f -s -S -R -L https://github.com/Kitware/CMake/releases/download/v3.29.2/cmake-3.29.2-Linux-x86_64.tar.gz | tar -zx + echo "${{ github.workspace }}/cmake-3.29.2-linux-x86_64/bin" >> $GITHUB_PATH + + - name: checkout-fv3atm + uses: actions/checkout@v4 + with: + path: ${{ github.workspace }}/fv3atm + submodules: recursive + + - name: cache-spack + id: cache-spack + uses: actions/cache/restore@v4 + with: + path: ${{ github.workspace }}/spack-develop + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }} - name: build-fv3atm run: | @@ -70,20 +107,24 @@ jobs: mkdir ${GITHUB_WORKSPACE}/build sed -i 's/doc /upp_doc /' upp/docs/CMakeLists.txt cd ${GITHUB_WORKSPACE}/build + export CC=mpicc + export CXX=mpicxx + export FC=mpif90 + cat /home/runner/work/fv3atm/fv3atm/spack-develop/opt/spack/linux-ubuntu22.04-zen2/gcc-12.3.0/fms-2023.04-*/lib/cmake/fms/fms-config.cmake cmake ${GITHUB_WORKSPACE}/fv3atm -DBUILD_TESTING=ON ${{ matrix.cmake_opts }} -DENABLE_DOCS=ON make -j2 ls -l /home/runner/work/fv3atm/fv3atm/fv3atm/io - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: - name: docs + name: docs-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }}-${{ matrix.cmake_opts }} path: | build/docs/html - + - name: debug-artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 if: ${{ failure() }} with: - name: ccpp_prebuild_logs + name: ccpp_prebuild_logs-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }}-${{ matrix.cmake_opts }} path: ${{ github.workspace }}/build/ccpp/ccpp_prebuild.* diff --git a/upp b/upp index 945cb2cef..5faac752d 160000 --- a/upp +++ b/upp @@ -1 +1 @@ -Subproject commit 945cb2cef5e8bd5949afd4f0fc35c4fb6e95a1bf +Subproject commit 5faac752d9550d3570705358fa1eb3f5ac78a786