@@ -151,40 +151,53 @@ jobs:
151
151
strategy :
152
152
fail-fast : false
153
153
matrix :
154
- msystem : [MINGW64, MINGW32, CLANG64]
154
+ msystem : [MINGW64, MINGW32, CLANG64, CLANG32 ]
155
155
idx : [int32, int64]
156
156
build-type : [Release]
157
157
include :
158
158
- msystem : MINGW64
159
159
idx : int32
160
160
target-prefix : mingw-w64-x86_64
161
- fc-pkg : mingw-w64-x86_64-gcc-fortran
161
+ fc-pkg : fc
162
162
- msystem : MINGW32
163
163
idx : int32
164
164
target-prefix : mingw-w64-i686
165
- fc-pkg : mingw-w64-i686-gcc-fortran
165
+ fc-pkg : fc
166
166
- msystem : CLANG64
167
167
idx : int32
168
168
target-prefix : mingw-w64-clang-x86_64
169
+ fc-pkg : fc
170
+ # Compiling with Flang 16 seems to cause test errors on machines
171
+ # with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
172
+ no-avx512-flags : -DNO_AVX512=1
173
+ - msystem : CLANG32
174
+ idx : int32
175
+ target-prefix : mingw-w64-clang-i686
176
+ fc-pkg : cc
169
177
c-lapack-flags : -DC_LAPACK=ON
170
178
- msystem : MINGW64
171
179
idx : int64
172
180
idx64-flags : -DBINARY=64 -DINTERFACE64=1
173
181
target-prefix : mingw-w64-x86_64
174
- fc-pkg : mingw-w64-x86_64-gcc-fortran
182
+ fc-pkg : fc
175
183
- msystem : CLANG64
176
184
idx : int64
177
185
idx64-flags : -DBINARY=64 -DINTERFACE64=1
178
186
target-prefix : mingw-w64-clang-x86_64
179
- c-lapack-flags : -DC_LAPACK=ON
187
+ fc-pkg : fc
188
+ # Compiling with Flang 16 seems to cause test errors on machines
189
+ # with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
190
+ no-avx512-flags : -DNO_AVX512=1
180
191
- msystem : MINGW64
181
192
idx : int32
182
193
target-prefix : mingw-w64-x86_64
183
- fc-pkg : mingw-w64-x86_64-gcc-fortran
194
+ fc-pkg : fc
184
195
build-type : None
185
196
exclude :
186
197
- msystem : MINGW32
187
198
idx : int64
199
+ - msystem : CLANG32
200
+ idx : int64
188
201
189
202
defaults :
190
203
run :
@@ -209,7 +222,7 @@ jobs:
209
222
install : >-
210
223
base-devel
211
224
${{ matrix.target-prefix }}-cc
212
- ${{ matrix.fc-pkg }}
225
+ ${{ matrix.target-prefix }}-${{ matrix. fc-pkg }}
213
226
${{ matrix.target-prefix }}-cmake
214
227
${{ matrix.target-prefix }}-ninja
215
228
${{ matrix.target-prefix }}-ccache
@@ -261,6 +274,7 @@ jobs:
261
274
-DTARGET=CORE2 \
262
275
${{ matrix.idx64-flags }} \
263
276
${{ matrix.c-lapack-flags }} \
277
+ ${{ matrix.no-avx512-flags }} \
264
278
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
265
279
-DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \
266
280
..
@@ -280,9 +294,22 @@ jobs:
280
294
key : ${{ steps.ccache-prepare.outputs.key }}
281
295
282
296
- name : Run tests
297
+ id : run-ctest
283
298
timeout-minutes : 60
284
299
run : cd build && ctest
285
300
301
+ - name : Re-run tests
302
+ if : always() && (steps.run-ctest.outcome == 'failure')
303
+ timeout-minutes : 60
304
+ run : |
305
+ cd build
306
+ echo "::group::Re-run ctest"
307
+ ctest --rerun-failed --output-on-failure || true
308
+ echo "::endgroup::"
309
+ echo "::group::Log from these tests"
310
+ [ ! -f Testing/Temporary/LastTest.log ] || cat Testing/Temporary/LastTest.log
311
+ echo "::endgroup::"
312
+
286
313
287
314
cross_build :
288
315
runs-on : ubuntu-22.04
0 commit comments