Skip to content

Commit d1b1ebc

Browse files
committed
ci: add gcc 14
1 parent 942cabd commit d1b1ebc

File tree

2 files changed

+79
-42
lines changed

2 files changed

+79
-42
lines changed

.github/workflows/ci.yml

Lines changed: 22 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,18 @@ on:
2424

2525
jobs:
2626

27-
core:
27+
core-gcc:
2828
timeout-minutes: 15
2929

3030
strategy:
3131
matrix:
32-
os: [ubuntu-latest]
32+
os: [ubuntu-24.04]
3333
shared: [false]
34-
gcc: [9, 10, 11, 12, 13]
34+
gcc: [12, 13, 14]
3535
include:
36-
- os: ubuntu-latest
36+
- os: ubuntu-24.04
3737
shared: true
38-
gcc: 13
38+
gcc: 14
3939
- os: macos-latest
4040
shared: true
4141
gcc: 13
@@ -49,51 +49,31 @@ jobs:
4949
FC: gfortran-${{ matrix.gcc }}
5050

5151
steps:
52-
53-
- uses: actions/setup-python@v4
54-
with:
55-
python-version: '3.12'
56-
57-
- name: Python pkgs
58-
run: pip install numpy h5py
59-
60-
- name: install HDF5 (Linux)
61-
if: runner.os == 'Linux'
62-
run: |
63-
sudo apt update
64-
sudo apt install --no-install-recommends ninja-build libhdf5-dev
65-
66-
- name: Install HDF5 (MacOS)
67-
if: runner.os == 'macOS'
68-
run: brew install hdf5 ninja
69-
7052
- uses: actions/checkout@v4
53+
- uses: ./.github/workflows/composite-unix
7154

72-
- name: Configure
73-
run: >-
74-
cmake --preset multi
75-
-DBUILD_SHARED_LIBS:BOOL=${{ matrix.shared }}
76-
77-
- name: Build / test Debug
78-
run: cmake --workflow --preset debug
7955

80-
- name: Build Release
81-
run: cmake --workflow --preset release
82-
83-
- name: install package
84-
run: cmake --install build
56+
gcc-old:
57+
timeout-minutes: 15
8558

86-
- name: example workflow
87-
run: cmake -S example -B example/build
59+
strategy:
60+
matrix:
61+
shared: [false]
62+
gcc: [9, 10, 11]
8863

89-
- run: cmake --build example/build
64+
runs-on: ubuntu-22.04
65+
env:
66+
CC: gcc-${{ matrix.gcc }}
67+
FC: gfortran-${{ matrix.gcc }}
9068

91-
- run: ctest --test-dir example/build -V
69+
steps:
70+
- uses: actions/checkout@v4
71+
- uses: ./.github/workflows/composite-unix
9272

9373

9474
valgrind-memory:
9575
runs-on: ubuntu-latest
96-
needs: core
76+
needs: core-gcc
9777
timeout-minutes: 10
9878

9979
steps:
@@ -111,13 +91,13 @@ jobs:
11191
# issue with python loading writer.inc
11292
linux-coverage:
11393
if: false
114-
needs: core
94+
needs: core-gcc
11595
runs-on: ubuntu-latest
11696
timeout-minutes: 10
11797

11898
steps:
11999
- uses: actions/checkout@v4
120-
- uses: actions/setup-python@v4
100+
- uses: actions/setup-python@v5
121101
with:
122102
python-version: '3.x'
123103

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: "build-test-install-example"
2+
3+
runs:
4+
5+
using: "composite"
6+
7+
steps:
8+
9+
- uses: actions/setup-python@v5
10+
with:
11+
python-version: '3.12'
12+
13+
- name: Python pkgs
14+
shell: bash
15+
run: pip install numpy h5py
16+
17+
- name: install HDF5 (Linux)
18+
shell: bash
19+
if: runner.os == 'Linux'
20+
run: |
21+
sudo apt update
22+
sudo apt install --no-install-recommends ninja-build libhdf5-dev
23+
24+
- name: Install HDF5 (MacOS)
25+
shell: bash
26+
if: runner.os == 'macOS'
27+
run: brew install hdf5 ninja
28+
29+
- name: Configure
30+
shell: bash
31+
run: >-
32+
cmake --preset multi
33+
-DBUILD_SHARED_LIBS:BOOL=${{ matrix.shared }}
34+
35+
- name: Build / test Debug
36+
shell: bash
37+
run: cmake --workflow --preset debug
38+
39+
- name: Build Release
40+
shell: bash
41+
run: cmake --workflow --preset release
42+
43+
- name: install package
44+
shell: bash
45+
run: cmake --install build
46+
47+
- name: example workflow
48+
shell: bash
49+
run: cmake -S example -B example/build
50+
51+
- name: Build examples
52+
shell: bash
53+
run: cmake --build example/build
54+
55+
- name: Test examples
56+
shell: bash
57+
run: ctest --test-dir example/build -V

0 commit comments

Comments
 (0)