diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d187e8b..56266de 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -224,3 +224,59 @@ jobs: path: | build/**/*.log + Flang: + runs-on: ubuntu-latest + container: gmao/llvm-flang:latest + env: + FC: flang-new + + name: Flang + steps: + - name: Versions + run: | + ${FC} --version + cmake --version + + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Set all directories as git safe + run: | + git config --global --add safe.directory '*' + + - name: Add python-is-python3 package + run: | + apt-get update + apt-get install -y python-is-python3 + + - name: Build GFE Prereqs + run: | + bash ./tools/ci-install-gfe.bash + + - name: Build pFlogger + run: | + mkdir -p build + cd build + cmake .. -DCMAKE_Fortran_COMPILER=${FC} -DCMAKE_INSTALL_PREFIX=${HOME}/Software/pFlogger -DCMAKE_PREFIX_PATH=${HOME}/Software/GFE + make -j4 + + - name: Build Tests + run: | + cd build + make -j4 tests + + - name: Run Tests + run: | + cd build + ctest -j1 --output-on-failure --repeat until-pass:4 + + - name: Archive log files on failure + uses: actions/upload-artifact@v4 + if: failure() + with: + name: logfiles + path: | + build/**/*.log + diff --git a/CMakeLists.txt b/CMakeLists.txt index aa12a9d..553487e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ # ------------------------------------------------------------------------ # cmake_minimum_required (VERSION 3.12) project (PFLOGGER - VERSION 1.15.0 + VERSION 1.16.0 LANGUAGES Fortran) set (CMAKE_MODULE_PATH diff --git a/ChangeLog.md b/ChangeLog.md index d5ed8c7..b75d217 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.16.0] - 2025-02-03 + ### Added - LLVMFlang compiler support @@ -17,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Modified CMake logic to build entirely separate library (pflogger-with-mock) to support testing with mocks. Previous cheat to link pflogger against real MPI for runs but mock MPI for tests did not work with LLVM. Seems to be due to some encryption type protection on module info. - Update CI to have `gfortran-10` and `gfortran-11` only on `ubuntu-22.04` - Update CI NVIDIA to NVHPC 24.7 +- Add Flang to CI ## [1.15.0] - 2024-05-17