@@ -15,13 +15,20 @@ jobs:
15
15
runs-on : ${{ matrix.os }}
16
16
strategy :
17
17
matrix :
18
- os : [ubuntu-22.04, macos-12 , macos-13]
19
- compiler : [gfortran-10, gfortran- 11, gfortran-12, gfortran-13]
20
- exclude :
21
- - os : macos-12
22
- compiler : gfortran-10
23
- - os : macos-13
18
+ os : [ubuntu-22.04, ubuntu-24.04 , macos-13, macos-14 ]
19
+ compiler : [gfortran-11, gfortran-12, gfortran-13]
20
+ # gfortran-10 is only on ubuntu-22.04
21
+ # gfortran-14 is available on ubuntu-24.04
22
+ include :
23
+ - os : ubuntu-22.04
24
24
compiler : gfortran-10
25
+ - os : ubuntu-24.04
26
+ compiler : gfortran-14
27
+ exclude :
28
+ - os : ubuntu-24.04
29
+ compiler : gfortran-11
30
+ - os : ubuntu-22.04
31
+ compiler : gfortran-13
25
32
26
33
# fail-fast if set to 'true' here is good for production, but when
27
34
# debugging, set to 'false'. fail-fast means if *any* ci test in the matrix fails
@@ -80,18 +87,20 @@ jobs:
80
87
${FC} --version
81
88
mpirun --version
82
89
mpifort --show
83
- - name : Build GFE
84
- run : |
85
- mkdir -p build
86
- cd build
87
- cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
88
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
89
- cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
90
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
91
- - name : Build and Run Tests
90
+
91
+ - name : Build and Install GFE
92
92
run : |
93
- cd build
94
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) tests
93
+ cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
94
+ cmake --build build --parallel 4 --target install
95
+ cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
96
+ cmake --build build --parallel 4 --target install
97
+
98
+ - name : Build Tests
99
+ run : cmake --build build --parallel 4 -target build-tests -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
100
+
101
+ - name : Run Tests
102
+ run : ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4 --schedule-random
103
+
95
104
- name : Archive log files on failure
96
105
uses : actions/upload-artifact@v4
97
106
if : failure()
@@ -118,6 +127,7 @@ jobs:
118
127
- name : Set all directories as git safe
119
128
run : |
120
129
git config --global --add safe.directory '*'
130
+
121
131
- name : Setup Intel oneAPI repository
122
132
run : |
123
133
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
@@ -145,20 +155,20 @@ jobs:
145
155
${FC} --version
146
156
${CC} --version
147
157
mpirun --version
158
+ cmake --version
148
159
149
- - name : Build GFE
160
+ - name : Build and Install GFE
150
161
run : |
151
- mkdir -p build
152
- cd build
153
- cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
154
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
155
- cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
156
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
157
-
158
- - name : Build and Run Tests
159
- run : |
160
- cd build
161
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) tests
162
+ cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
163
+ cmake --build build --parallel 4 --target install
164
+ cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
165
+ cmake --build build --parallel 4 --target install
166
+
167
+ - name : Build Tests
168
+ run : cmake --build build --parallel 4 -target build-tests -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
169
+
170
+ - name : Run Tests
171
+ run : ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4 --schedule-random
162
172
163
173
- name : Archive log files on failure
164
174
uses : actions/upload-artifact@v4
@@ -196,19 +206,18 @@ jobs:
196
206
apt-get update
197
207
apt-get install -y python-is-python3
198
208
199
- - name : Build GFE
200
- run : |
201
- mkdir -p build
202
- cd build
203
- cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
204
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
205
- cmake .. -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
206
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) install
207
-
208
- - name : Build and Run Tests
209
+ - name : Build and Install GFE
209
210
run : |
210
- cd build
211
- make -j$(nproc 2>/dev/null || sysctl -n hw.logicalcpu) tests
211
+ cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
212
+ cmake --build build --parallel 4 --target install
213
+ cmake -B build -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
214
+ cmake --build build --parallel 4 --target install
215
+
216
+ - name : Build Tests
217
+ run : cmake --build build --parallel 4 -target build-tests -DSKIP_OPENMP=ON -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH=../install
218
+
219
+ - name : Run Tests
220
+ run : ctest --test-dir build --parallel 1 --output-on-failure --repeat until-pass:4 --schedule-random
212
221
213
222
- name : Archive log files on failure
214
223
uses : actions/upload-artifact@v4
0 commit comments