From 9190556fe79592f4519a4d7d1cc2bf419eb6ad69 Mon Sep 17 00:00:00 2001 From: Dusan Jovic Date: Wed, 20 Mar 2024 14:30:55 +0000 Subject: [PATCH 1/8] Update github workflow. Update gcc to 12 and mpi to openmpi --- .github/workflows/GCC.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 4f1b7a894..50041f755 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -21,15 +21,15 @@ jobs: strategy: matrix: cmake_opts: ["-D32BIT=ON", "-D32BIT=OFF"] - gcc_ver: ["11"] - mpi: ["mpich"] + gcc_ver: ["12"] + mpi: ["openmpi"] steps: - name: install-doxygen run: | sudo apt-get install doxygen graphviz - + - name: checkout-fv3atm uses: actions/checkout@v3 with: @@ -41,7 +41,7 @@ jobs: uses: actions/cache@v3 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 }}-${{ matrix.cmake_opts }} # Building dependencies takes 40+ min - name: spack-install @@ -70,6 +70,9 @@ 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 cmake ${GITHUB_WORKSPACE}/fv3atm -DBUILD_TESTING=ON ${{ matrix.cmake_opts }} -DENABLE_DOCS=ON make -j2 ls -l /home/runner/work/fv3atm/fv3atm/fv3atm/io @@ -79,7 +82,7 @@ jobs: name: docs path: | build/docs/html - + - name: debug-artifacts uses: actions/upload-artifact@v3 if: ${{ failure() }} From a46d3e631189382ac0c3c93f0acc9d697db0a049 Mon Sep 17 00:00:00 2001 From: Dusan Jovic Date: Wed, 20 Mar 2024 16:36:33 +0000 Subject: [PATCH 2/8] Add 'spack clean' to reduce the size of the cache files --- .github/workflows/GCC.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 50041f755..2c594b924 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -58,6 +58,7 @@ jobs: spack config add "packages:mpi:require:'${{ matrix.mpi }}'" spack concretize |& tee ${SPACK_ENV}/log.concretize spack install -j2 --fail-fast + spack clean --all - name: build-fv3atm run: | From 4ef2eacf8a8363a0f9b4c6c0dbfb1ff74e66b471 Mon Sep 17 00:00:00 2001 From: Dusan Jovic Date: Wed, 20 Mar 2024 20:08:23 +0000 Subject: [PATCH 3/8] Split GCC.yml workflow into two jobs, build_spack and build_fv3atm --- .github/workflows/GCC.yml | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 2c594b924..d8b45cd35 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -15,21 +15,16 @@ on: - develop jobs: - GCC: + build_spack: runs-on: ubuntu-latest strategy: matrix: - cmake_opts: ["-D32BIT=ON", "-D32BIT=OFF"] gcc_ver: ["12"] mpi: ["openmpi"] steps: - - name: install-doxygen - run: | - sudo apt-get install doxygen graphviz - - name: checkout-fv3atm uses: actions/checkout@v3 with: @@ -41,7 +36,7 @@ jobs: uses: actions/cache@v3 with: path: ${{ github.workspace }}/spack-develop - key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }}-${{ matrix.cmake_opts }} + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }} # Building dependencies takes 40+ min - name: spack-install @@ -60,6 +55,35 @@ jobs: 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: ["openmpi"] + + steps: + + - name: install-doxygen + run: | + sudo apt-get install doxygen graphviz + + - name: checkout-fv3atm + uses: actions/checkout@v3 + with: + path: ${{ github.workspace }}/fv3atm + submodules: recursive + + - name: cache-spack + id: cache-spack + uses: actions/cache@v3 + with: + path: ${{ github.workspace }}/spack-develop + key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }} + - name: build-fv3atm run: | . ${GITHUB_WORKSPACE}/spack-develop/share/spack/setup-env.sh From a7d09cdbb006614110f1efbadab0085c9d59ff34 Mon Sep 17 00:00:00 2001 From: Dusan Jovic Date: Thu, 21 Mar 2024 12:39:15 +0000 Subject: [PATCH 4/8] Update github workflow. Add mpich --- .github/workflows/GCC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index d8b45cd35..62c55e788 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -21,7 +21,7 @@ jobs: strategy: matrix: gcc_ver: ["12"] - mpi: ["openmpi"] + mpi: ["mpich", "openmpi"] steps: @@ -63,7 +63,7 @@ jobs: matrix: cmake_opts: ["-D32BIT=ON", "-D32BIT=OFF"] gcc_ver: ["12"] - mpi: ["openmpi"] + mpi: ["mpich", "openmpi"] steps: From c66dfa53d071684e3382c17a981a1f94114f411b Mon Sep 17 00:00:00 2001 From: Dusan Jovic Date: Thu, 21 Mar 2024 17:47:27 +0000 Subject: [PATCH 5/8] Update github actions to v4 --- .github/workflows/GCC.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 62c55e788..1f3533e1d 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -26,14 +26,14 @@ jobs: steps: - name: checkout-fv3atm - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: ${{ github.workspace }}/fv3atm submodules: recursive - 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 }}-${{ matrix.mpi }} @@ -72,14 +72,14 @@ jobs: 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: 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 }}-${{ matrix.mpi }} @@ -102,16 +102,16 @@ jobs: 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.* From 3e0b229d7d45edc726cbee6de79ae87a9b8ca3c4 Mon Sep 17 00:00:00 2001 From: Dusan Jovic Date: Thu, 21 Mar 2024 22:59:52 +0000 Subject: [PATCH 6/8] Use action/cache/restore in build_fv3atm job --- .github/workflows/GCC.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index 1f3533e1d..c79a25bac 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -79,7 +79,7 @@ jobs: - name: cache-spack id: cache-spack - uses: actions/cache@v4 + uses: actions/cache/restore@v4 with: path: ${{ github.workspace }}/spack-develop key: spack-${{ hashFiles('fv3atm/ci/spack.yaml') }}-gcc${{ matrix.gcc_ver }}-${{ matrix.mpi }} From a0901861f7a5052780c847a83fef378aea42f2a3 Mon Sep 17 00:00:00 2001 From: Dusan Jovic <48258889+DusanJovic-NOAA@users.noreply.github.com> Date: Mon, 15 Apr 2024 11:44:21 -0400 Subject: [PATCH 7/8] Update GCC.yml --- .github/workflows/GCC.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index c79a25bac..a7d685d59 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -98,6 +98,7 @@ jobs: 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 From 47dc196dee695ed4803d751f3ab0bb5c65f42e19 Mon Sep 17 00:00:00 2001 From: Dusan Jovic <48258889+DusanJovic-NOAA@users.noreply.github.com> Date: Tue, 16 Apr 2024 09:45:44 -0400 Subject: [PATCH 8/8] Update GCC.yml --- .github/workflows/GCC.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/GCC.yml b/.github/workflows/GCC.yml index a7d685d59..0da81e763 100644 --- a/.github/workflows/GCC.yml +++ b/.github/workflows/GCC.yml @@ -31,6 +31,12 @@ jobs: 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@v4 @@ -71,6 +77,12 @@ jobs: 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: