diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 21498c7ed..91db19cf6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,12 +31,13 @@ jobs: matrix: #build_type: [Release,Debug] # Debug tests takes too long build_type: [Release] + prec: ['DP', 'SP'] name: - linux gnu-10 - - linux clang-12 + - linux gnu-14 + - linux nvhpc-21.9 - linux intel-classic - macos - # - linux nvhpc-21.9 include: @@ -46,34 +47,27 @@ 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 + - 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 - - name: linux clang-12 - build_type: Release + - name: linux nvhpc-21.9 os: ubuntu-20.04 - compiler: clang-12 - compiler_cc: clang-12 - compiler_cxx: clang++-12 - compiler_fc: gfortran-10 - 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 + 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 @@ -81,6 +75,7 @@ jobs: compiler_cc: icc compiler_cxx: icpc compiler_fc: ifort + python-version: '3.8' caching: true - name: macos @@ -90,10 +85,16 @@ jobs: compiler_cc: ~ compiler_cxx: ~ compiler_fc: gfortran-13 - caching: false + python-version: '3.11' + caching: true 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 @@ -115,12 +116,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 @@ -188,15 +183,15 @@ jobs: 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" - 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-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" + 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=${{ 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 -DENABLE_SINGLE_PRECISION=${{ matrix.prec == 'SP' }}" ctest_options: "${{ matrix.ctest_options }}" - name: Verify tools 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 : > 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