@@ -151,40 +151,53 @@ jobs:
151151 strategy :
152152 fail-fast : false
153153 matrix :
154- msystem : [MINGW64, MINGW32, CLANG64]
154+ msystem : [MINGW64, MINGW32, CLANG64, CLANG32 ]
155155 idx : [int32, int64]
156156 build-type : [Release]
157157 include :
158158 - msystem : MINGW64
159159 idx : int32
160160 target-prefix : mingw-w64-x86_64
161- fc-pkg : mingw-w64-x86_64-gcc-fortran
161+ fc-pkg : fc
162162 - msystem : MINGW32
163163 idx : int32
164164 target-prefix : mingw-w64-i686
165- fc-pkg : mingw-w64-i686-gcc-fortran
165+ fc-pkg : fc
166166 - msystem : CLANG64
167167 idx : int32
168168 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
169177 c-lapack-flags : -DC_LAPACK=ON
170178 - msystem : MINGW64
171179 idx : int64
172180 idx64-flags : -DBINARY=64 -DINTERFACE64=1
173181 target-prefix : mingw-w64-x86_64
174- fc-pkg : mingw-w64-x86_64-gcc-fortran
182+ fc-pkg : fc
175183 - msystem : CLANG64
176184 idx : int64
177185 idx64-flags : -DBINARY=64 -DINTERFACE64=1
178186 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
180191 - msystem : MINGW64
181192 idx : int32
182193 target-prefix : mingw-w64-x86_64
183- fc-pkg : mingw-w64-x86_64-gcc-fortran
194+ fc-pkg : fc
184195 build-type : None
185196 exclude :
186197 - msystem : MINGW32
187198 idx : int64
199+ - msystem : CLANG32
200+ idx : int64
188201
189202 defaults :
190203 run :
@@ -209,7 +222,7 @@ jobs:
209222 install : >-
210223 base-devel
211224 ${{ matrix.target-prefix }}-cc
212- ${{ matrix.fc-pkg }}
225+ ${{ matrix.target-prefix }}-${{ matrix. fc-pkg }}
213226 ${{ matrix.target-prefix }}-cmake
214227 ${{ matrix.target-prefix }}-ninja
215228 ${{ matrix.target-prefix }}-ccache
@@ -261,6 +274,7 @@ jobs:
261274 -DTARGET=CORE2 \
262275 ${{ matrix.idx64-flags }} \
263276 ${{ matrix.c-lapack-flags }} \
277+ ${{ matrix.no-avx512-flags }} \
264278 -DCMAKE_C_COMPILER_LAUNCHER=ccache \
265279 -DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \
266280 ..
@@ -280,9 +294,22 @@ jobs:
280294 key : ${{ steps.ccache-prepare.outputs.key }}
281295
282296 - name : Run tests
297+ id : run-ctest
283298 timeout-minutes : 60
284299 run : cd build && ctest
285300
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+
286313
287314 cross_build :
288315 runs-on : ubuntu-22.04
0 commit comments