From 4f7c19e37e30ffa46048ff06adfb0b1608178100 Mon Sep 17 00:00:00 2001 From: Ahmad Nawab Date: Thu, 22 Aug 2024 11:27:08 +0200 Subject: [PATCH 1/5] CI: replace clang with gnu-14 --- .github/workflows/build.yml | 34 +++++++++++++++++----------------- requirements.txt | 1 + 2 files changed, 18 insertions(+), 17 deletions(-) create mode 100644 requirements.txt diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 21498c7ed..c046c6c5d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: build_type: [Release] name: - linux gnu-10 - - linux clang-12 + - linux gnu-14 - linux intel-classic - macos # - linux nvhpc-21.9 @@ -46,23 +46,16 @@ jobs: compiler_cc: gcc-10 compiler_cxx: g++-10 compiler_fc: gfortran-10 + python-version: '3.8' caching: true - - name: linux clang-12 - os: ubuntu-20.04 - compiler: clang-12 - compiler_cc: clang-12 - compiler_cxx: clang++-12 - compiler_fc: gfortran-10 - caching: true - - - name: linux clang-12 - build_type: Release - os: ubuntu-20.04 - compiler: clang-12 - compiler_cc: clang-12 - compiler_cxx: clang++-12 - compiler_fc: gfortran-10 + - name: linux gnu-14 + os: ubuntu-24.04 + compiler: gnu-14 + compiler_cc: gcc-14 + compiler_cxx: g++-14 + compiler_fc: gfortran-14 + python-version: '3.11' caching: true # Disable due to problematic environment @@ -81,6 +74,7 @@ jobs: compiler_cc: icc compiler_cxx: icpc compiler_fc: ifort + python-version: '3.8' caching: true - name: macos @@ -90,10 +84,16 @@ jobs: compiler_cc: ~ compiler_cxx: ~ compiler_fc: gfortran-13 + python-version: '3.11' caching: false runs-on: ${{ matrix.os }} steps: + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Checkout Repository uses: actions/checkout@v2 @@ -193,7 +193,7 @@ jobs: dependency_cmake_options: | ecmwf/fckit: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_FCKIT_VENV=ON" ecmwf-ifs/fiat: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF" - ecmwf/eccodes: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_MEMFS=ON -DENABLE_JPG=OFF" + ecmwf/eccodes: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_MEMFS=ON -DENABLE_JPG=OFF -DENABLE_PNG=OFF" ecmwf-ifs/field_api: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_ACC=OFF -DENABLE_SINGLE_PRECISION=OFF" ecmwf-ifs/loki: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DPython3_ROOT_DIR=${{ env.LOKI_PYTHON_ROOT_DIR }} cmake_options: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.cmake_options }} -DENABLE_MPI=ON -DENABLE_LOKI=ON -DLOKI_MODE=idem-stack" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..945c9b46d --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +. \ No newline at end of file From d0cc3fa307d447160a08f6a077f2aadcd074526d Mon Sep 17 00:00:00 2001 From: Ahmad Nawab Date: Thu, 22 Aug 2024 13:14:35 +0200 Subject: [PATCH 2/5] CI: remove macos pyenv workaround --- .github/workflows/build.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c046c6c5d..93dec27c0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,7 +85,7 @@ jobs: compiler_cxx: ~ compiler_fc: gfortran-13 python-version: '3.11' - caching: false + caching: true runs-on: ${{ matrix.os }} steps: @@ -115,12 +115,6 @@ jobs: brew install libomp brew install libaec brew install coreutils - brew install pyenv - - pyenv install 3.11.4 - pyenv global 3.11.4 - - echo "LOKI_PYTHON_ROOT_DIR=$HOME/.pyenv/versions/3.11.4/bin" >> $GITHUB_ENV else sudo apt-get update sudo apt-get install libaec-dev @@ -195,7 +189,7 @@ jobs: ecmwf-ifs/fiat: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF" ecmwf/eccodes: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_MEMFS=ON -DENABLE_JPG=OFF -DENABLE_PNG=OFF" ecmwf-ifs/field_api: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_ACC=OFF -DENABLE_SINGLE_PRECISION=OFF" - ecmwf-ifs/loki: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DPython3_ROOT_DIR=${{ env.LOKI_PYTHON_ROOT_DIR }} + ecmwf-ifs/loki: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF" cmake_options: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.cmake_options }} -DENABLE_MPI=ON -DENABLE_LOKI=ON -DLOKI_MODE=idem-stack" ctest_options: "${{ matrix.ctest_options }}" From 216084c1aff05cc83d9701df73723fac1b7619fe Mon Sep 17 00:00:00 2001 From: Ahmad Nawab Date: Thu, 22 Aug 2024 14:56:57 +0200 Subject: [PATCH 3/5] CI: reenable nvhpc --- .github/workflows/build.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93dec27c0..14859f74d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,9 +34,9 @@ jobs: name: - linux gnu-10 - linux gnu-14 + - linux nvhpc-21.9 - linux intel-classic - macos - # - linux nvhpc-21.9 include: @@ -58,15 +58,15 @@ jobs: python-version: '3.11' caching: true -# Disable due to problematic environment -# - name: linux nvhpc-21.9 -# os: ubuntu-20.04 -# compiler: nvhpc-21.9 -# compiler_cc: nvc -# compiler_cxx: nvc++ -# compiler_fc: nvfortran -# cmake_options: -DCMAKE_CXX_FLAGS=--diag_suppress177 -# caching: true + - name: linux nvhpc-21.9 + os: ubuntu-20.04 + compiler: nvhpc-21.9 + compiler_cc: nvc + compiler_cxx: nvc++ + compiler_fc: nvfortran + cmake_options: -DCMAKE_CXX_FLAGS=--diag_suppress177 + python-version: '3.8' + caching: false - name : linux intel-classic os: ubuntu-20.04 From 7e3f74f1fa18812817a41acedd68141d5bedc805 Mon Sep 17 00:00:00 2001 From: Ahmad Nawab Date: Thu, 22 Aug 2024 16:36:50 +0200 Subject: [PATCH 4/5] CI: add tests for SP builds --- .github/workflows/build.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 14859f74d..2430f5aee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,7 @@ jobs: matrix: #build_type: [Release,Debug] # Debug tests takes too long build_type: [Release] + prec: ['DP', 'SP'] name: - linux gnu-10 - linux gnu-14 @@ -174,8 +175,9 @@ jobs: with: self_coverage: false force_build: true - cache_suffix: "${{ matrix.build_type }}-${{ env.CACHE_SUFFIX }}" - recreate_cache: ${{ matrix.caching == false }} + cache_suffix: "${{ matrix.build_type }}-${{ matrix.prec }}-${{ env.CACHE_SUFFIX }}" +# recreate_cache: ${{ matrix.caching == false }} + recreate_cache: true dependencies: | ecmwf/ecbuild ecmwf/eccodes @@ -186,11 +188,11 @@ jobs: dependency_branch: develop dependency_cmake_options: | ecmwf/fckit: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_FCKIT_VENV=ON" - ecmwf-ifs/fiat: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF" + ecmwf-ifs/fiat: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_SINGLE_PRECISION=${{ matrix.prec == 'SP' }} -DENABLE_DOUBLE_PRECISION=${{ matrix.prec == 'DP' }}" ecmwf/eccodes: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_MEMFS=ON -DENABLE_JPG=OFF -DENABLE_PNG=OFF" - ecmwf-ifs/field_api: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_ACC=OFF -DENABLE_SINGLE_PRECISION=OFF" + ecmwf-ifs/field_api: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_ACC=OFF -DENABLE_SINGLE_PRECISION=${{ matrix.prec == 'SP' }} -DENABLE_DOUBLE_PRECISION=${{ matrix.prec == 'DP' }}" ecmwf-ifs/loki: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF" - cmake_options: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.cmake_options }} -DENABLE_MPI=ON -DENABLE_LOKI=ON -DLOKI_MODE=idem-stack" + cmake_options: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.cmake_options }} -DENABLE_MPI=ON -DENABLE_LOKI=ON -DLOKI_MODE=idem-stack -DENABLE_SINGLE_PRECISION=${{ matrix.prec == 'SP' }}" ctest_options: "${{ matrix.ctest_options }}" - name: Verify tools From 0150757b05f8ed87a60e4dcc8c494ebfb37c1a10 Mon Sep 17 00:00:00 2001 From: Ahmad Nawab Date: Mon, 30 Sep 2024 09:46:01 +0200 Subject: [PATCH 5/5] LOKI: update to v0.2.7 --- .github/workflows/build.yml | 7 +++---- package/bundle/bundle.yml | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2430f5aee..91db19cf6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -175,16 +175,15 @@ jobs: with: self_coverage: false force_build: true - cache_suffix: "${{ matrix.build_type }}-${{ matrix.prec }}-${{ env.CACHE_SUFFIX }}" -# recreate_cache: ${{ matrix.caching == false }} - recreate_cache: true + cache_suffix: "${{ matrix.build_type }}-${{ env.CACHE_SUFFIX }}" + recreate_cache: ${{ matrix.caching == false }} dependencies: | ecmwf/ecbuild ecmwf/eccodes ecmwf/fckit@refs/tags/0.13.0 ecmwf-ifs/fiat@refs/tags/1.4.1 ecmwf-ifs/field_api@refs/tags/v0.3.1 - ecmwf-ifs/loki@refs/tags/v0.2.6 + ecmwf-ifs/loki@refs/tags/v0.2.7 dependency_branch: develop dependency_cmake_options: | ecmwf/fckit: "-G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_TESTS=OFF -DENABLE_FCKIT_VENV=ON" diff --git a/package/bundle/bundle.yml b/package/bundle/bundle.yml index 583f222e6..a882fc081 100644 --- a/package/bundle/bundle.yml +++ b/package/bundle/bundle.yml @@ -39,7 +39,7 @@ projects : - loki : git : https://github.com/ecmwf-ifs/loki - version : v0.2.6 + version : v0.2.7 optional: true require : ecbuild cmake : >