ci: add gcc 14 #705
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
env: | |
HOMEBREW_NO_INSTALL_CLEANUP: 1 | |
CTEST_NO_TESTS_ACTION: error | |
CTEST_PARALLEL_LEVEL: 4 | |
CMAKE_BUILD_PARALLEL_LEVEL: 4 | |
CMAKE_INSTALL_PREFIX: ~/libs | |
CMAKE_PREFIX_PATH: ~/libs | |
on: | |
push: | |
paths: | |
- "**.c" | |
- "**.cpp" | |
- "**.f90" | |
- "**.F90" | |
- "**/CMakeLists.txt" | |
- "**.cmake" | |
- ".github/workflows/ci.yml" | |
- "!memcheck.cmake" | |
- "!coverage.cmake" | |
jobs: | |
core-gcc: | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
os: [ubuntu-24.04] | |
shared: [false] | |
gcc: [12, 13, 14] | |
include: | |
- os: ubuntu-24.04 | |
shared: true | |
gcc: 14 | |
- os: macos-latest | |
shared: true | |
gcc: 13 | |
- os: macos-latest | |
shared: false | |
gcc: 13 | |
runs-on: ${{ matrix.os }} | |
env: | |
CC: gcc-${{ matrix.gcc }} | |
FC: gfortran-${{ matrix.gcc }} | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Python pkgs | |
run: pip install numpy h5py | |
- name: install HDF5 (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt update | |
sudo apt install --no-install-recommends ninja-build libhdf5-dev | |
- name: Install HDF5 (MacOS) | |
if: runner.os == 'macOS' | |
run: brew install hdf5 ninja | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/composite-unix | |
gcc-old: | |
timeout-minutes: 15 | |
strategy: | |
matrix: | |
shared: [false] | |
gcc: [9, 10, 11] | |
runs-on: ubuntu-22.04 | |
env: | |
CC: gcc-${{ matrix.gcc }} | |
FC: gfortran-${{ matrix.gcc }} | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Python pkgs | |
run: pip install numpy h5py | |
- name: install HDF5 (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt update | |
sudo apt install --no-install-recommends ninja-build libhdf5-dev | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/composite-unix | |
valgrind-memory: | |
runs-on: ubuntu-latest | |
needs: core-gcc | |
timeout-minutes: 10 | |
steps: | |
- name: install valgrind | |
run: | | |
sudo apt update | |
sudo apt install --no-install-recommends valgrind libhdf5-dev | |
- uses: actions/checkout@v4 | |
- run: ctest -Dexclude_label=python -S memcheck.cmake -VV | |
# issue with python loading writer.inc | |
linux-coverage: | |
if: false | |
needs: core-gcc | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: install hdf5 | |
run: | | |
sudo apt update | |
sudo apt install --no-install-recommends libhdf5-dev | |
- name: install Gcovr | |
run: pip install gcovr | |
- run: cmake --preset coverage | |
- run: cmake --build --parallel --preset coverage | |
- name: Code coverage | |
run: cmake --build --parallel --preset run-coverage | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report-html | |
path: build-coverage/coverage/ |