|
|
|
@@ -151,40 +151,53 @@ jobs: |
|
|
|
strategy: |
|
|
|
fail-fast: false |
|
|
|
matrix: |
|
|
|
msystem: [MINGW64, MINGW32, CLANG64] |
|
|
|
msystem: [MINGW64, MINGW32, CLANG64, CLANG32] |
|
|
|
idx: [int32, int64] |
|
|
|
build-type: [Release] |
|
|
|
include: |
|
|
|
- msystem: MINGW64 |
|
|
|
idx: int32 |
|
|
|
target-prefix: mingw-w64-x86_64 |
|
|
|
fc-pkg: mingw-w64-x86_64-gcc-fortran |
|
|
|
fc-pkg: fc |
|
|
|
- msystem: MINGW32 |
|
|
|
idx: int32 |
|
|
|
target-prefix: mingw-w64-i686 |
|
|
|
fc-pkg: mingw-w64-i686-gcc-fortran |
|
|
|
fc-pkg: fc |
|
|
|
- msystem: CLANG64 |
|
|
|
idx: int32 |
|
|
|
target-prefix: mingw-w64-clang-x86_64 |
|
|
|
fc-pkg: fc |
|
|
|
# Compiling with Flang 16 seems to cause test errors on machines |
|
|
|
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17. |
|
|
|
no-avx512-flags: -DNO_AVX512=1 |
|
|
|
- msystem: CLANG32 |
|
|
|
idx: int32 |
|
|
|
target-prefix: mingw-w64-clang-i686 |
|
|
|
fc-pkg: cc |
|
|
|
c-lapack-flags: -DC_LAPACK=ON |
|
|
|
- msystem: MINGW64 |
|
|
|
idx: int64 |
|
|
|
idx64-flags: -DBINARY=64 -DINTERFACE64=1 |
|
|
|
target-prefix: mingw-w64-x86_64 |
|
|
|
fc-pkg: mingw-w64-x86_64-gcc-fortran |
|
|
|
fc-pkg: fc |
|
|
|
- msystem: CLANG64 |
|
|
|
idx: int64 |
|
|
|
idx64-flags: -DBINARY=64 -DINTERFACE64=1 |
|
|
|
target-prefix: mingw-w64-clang-x86_64 |
|
|
|
c-lapack-flags: -DC_LAPACK=ON |
|
|
|
fc-pkg: fc |
|
|
|
# Compiling with Flang 16 seems to cause test errors on machines |
|
|
|
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17. |
|
|
|
no-avx512-flags: -DNO_AVX512=1 |
|
|
|
- msystem: MINGW64 |
|
|
|
idx: int32 |
|
|
|
target-prefix: mingw-w64-x86_64 |
|
|
|
fc-pkg: mingw-w64-x86_64-gcc-fortran |
|
|
|
fc-pkg: fc |
|
|
|
build-type: None |
|
|
|
exclude: |
|
|
|
- msystem: MINGW32 |
|
|
|
idx: int64 |
|
|
|
- msystem: CLANG32 |
|
|
|
idx: int64 |
|
|
|
|
|
|
|
defaults: |
|
|
|
run: |
|
|
|
@@ -209,7 +222,7 @@ jobs: |
|
|
|
install: >- |
|
|
|
base-devel |
|
|
|
${{ matrix.target-prefix }}-cc |
|
|
|
${{ matrix.fc-pkg }} |
|
|
|
${{ matrix.target-prefix }}-${{ matrix.fc-pkg }} |
|
|
|
${{ matrix.target-prefix }}-cmake |
|
|
|
${{ matrix.target-prefix }}-ninja |
|
|
|
${{ matrix.target-prefix }}-ccache |
|
|
|
@@ -261,6 +274,7 @@ jobs: |
|
|
|
-DTARGET=CORE2 \ |
|
|
|
${{ matrix.idx64-flags }} \ |
|
|
|
${{ matrix.c-lapack-flags }} \ |
|
|
|
${{ matrix.no-avx512-flags }} \ |
|
|
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \ |
|
|
|
-DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \ |
|
|
|
.. |
|
|
|
@@ -280,9 +294,22 @@ jobs: |
|
|
|
key: ${{ steps.ccache-prepare.outputs.key }} |
|
|
|
|
|
|
|
- name: Run tests |
|
|
|
id: run-ctest |
|
|
|
timeout-minutes: 60 |
|
|
|
run: cd build && ctest |
|
|
|
|
|
|
|
- name: Re-run tests |
|
|
|
if: always() && (steps.run-ctest.outcome == 'failure') |
|
|
|
timeout-minutes: 60 |
|
|
|
run: | |
|
|
|
cd build |
|
|
|
echo "::group::Re-run ctest" |
|
|
|
ctest --rerun-failed --output-on-failure || true |
|
|
|
echo "::endgroup::" |
|
|
|
echo "::group::Log from these tests" |
|
|
|
[ ! -f Testing/Temporary/LastTest.log ] || cat Testing/Temporary/LastTest.log |
|
|
|
echo "::endgroup::" |
|
|
|
|
|
|
|
|
|
|
|
cross_build: |
|
|
|
runs-on: ubuntu-22.04 |
|
|
|
|