@@ -10,7 +10,7 @@ concurrency:
1010 group : ${{ github.workflow }}-${{ github.ref }}
1111 cancel-in-progress : true # Cancel any in-progress runs of this workflow when a new run is triggered on the same ref (branch or tag)
1212
13- name : test
13+ name : Test
1414jobs :
1515 build :
1616 name : Test
@@ -52,16 +52,16 @@ jobs:
5252
5353 # Basic, C++
5454 - name : Debug, C++
55- if : matrix.tests == 'basic' && runner.os != 'Windows'
55+ if : matrix.tests == 'basic' && runner.os != 'Windows' # windows already uses C++ by default
5656 run : |
5757 cmake . -B out/debug-cxx -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_USE_CXX=ON
5858 cmake --build out/debug-cxx --parallel 8 --config Debug
5959 ctest --test-dir out/debug-cxx --verbose --timeout 120 -C Debug
6060
61- - name : Release, C++, SIMD
62- if : matrix.tests == 'basic' && runner.os == 'Linux'
61+ - name : Release, C++
62+ if : matrix.tests == 'basic' && runner.os == 'Linux' # windows already uses C++ by default; macOS interpose does not work well with C++
6363 run : |
64- cmake . -B out/release-cxx -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_OPT_SIMD=ON - DMI_USE_CXX=ON
64+ cmake . -B out/release-cxx -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_USE_CXX=ON
6565 cmake --build out/release-cxx --parallel 8 --config Release
6666 ctest --test-dir out/release-cxx --verbose --timeout 120 -C Release
6767
8080 cmake --build out/release-x86 --parallel 4 --config Release
8181 ctest --test-dir out/release-x86 --verbose --timeout 120 -C Release
8282
83+ - name : Debug, clang-cl
84+ if : matrix.tests == 'extra' && runner.os == 'Windows' && !endsWith(matrix.os,'arm')
85+ run : |
86+ cmake . -B out/debug-clang -DCMAKE_BUILD_TYPE=Debug -A Win32 -T ClangCl
87+ cmake --build out/debug-clang --parallel 4 --config Debug
88+ ctest --test-dir out/debug-clang --verbose --timeout 120 -C Debug
89+
90+ - name : Release, clang-cl
91+ if : matrix.tests == 'extra' && runner.os == 'Windows' && !endsWith(matrix.os,'arm')
92+ run : |
93+ cmake . -B out/release-clang -DCMAKE_BUILD_TYPE=Release -A Win32 -T ClangCl
94+ cmake --build out/release-clang --parallel 4 --config Release
95+ ctest --test-dir out/release-clang --verbose --timeout 120 -C Release
96+
8397 # Extra
8498 - name : Release, SIMD
8599 if : matrix.tests == 'extra'
@@ -88,13 +102,27 @@ jobs:
88102 cmake --build out/release-simd --parallel 8 --config Release
89103 ctest --test-dir out/release-simd --verbose --timeout 120 -C Release
90104
91- - name : Debug, C++, clang
92- if : matrix.tests == 'extra' && runner.os != 'Windows'
105+ - name : Release, C++, SIMD
106+ if : matrix.tests == 'basic' && runner.os != 'Windows' && runner.os != 'macOS'
107+ run : |
108+ cmake . -B out/release-cxx -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_OPT_SIMD=ON -DMI_USE_CXX=ON
109+ cmake --build out/release-cxx --parallel 8 --config Release
110+ ctest --test-dir out/release-cxx --verbose --timeout 120 -C Release
111+
112+ - name : Debug, C++, clang++
113+ if : matrix.tests == 'extra' && runner.os == 'Linux'
93114 run : |
94115 CC=clang CXX=clang++ cmake . -B out/debug-clang-cxx -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_USE_CXX=ON
95116 cmake --build out/debug-clang-cxx --parallel 8 --config Debug
96117 ctest --test-dir out/debug-clang-cxx --verbose --timeout 120 -C Debug
97118
119+ - name : Release, C++, clang++
120+ if : matrix.tests == 'extra' && runner.os == 'Linux'
121+ run : |
122+ CC=clang CXX=clang++ cmake . -B out/release-clang-cxx -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_USE_CXX=ON
123+ cmake --build out/release-clang-cxx --parallel 8 --config Release
124+ ctest --test-dir out/release-clang-cxx --verbose --timeout 120 -C Release
125+
98126 - name : Debug, ASAN
99127 if : matrix.tests == 'extra' && runner.os == 'Linux'
100128 run : |
@@ -117,7 +145,7 @@ jobs:
117145 ctest --test-dir out/debug-tsan --verbose --timeout 240 -C Debug
118146
119147 - name : Debug, Guarded
120- if : matrix.tests == 'extra' && matrix.os != 'windows-11-arm'
148+ if : matrix.tests == 'extra' && matrix.os != 'windows-11-arm' && runner.os != 'macOS'
121149 run : |
122150 cmake . -B out/debug-guarded -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON -DMI_GUARDED=ON
123151 cmake --build out/debug-guarded --parallel 8 --config Debug
@@ -126,7 +154,7 @@ jobs:
126154 MIMALLOC_GUARDED_SAMPLE_RATE : 100
127155
128156 - name : Release, Guarded
129- if : matrix.tests == 'extra' && matrix .os != 'windows-11-arm '
157+ if : matrix.tests == 'extra' && runner .os != 'macOS '
130158 run : |
131159 cmake . -B out/resease-guarded -DCMAKE_BUILD_TYPE=Release -DMI_OPT_ARCH=ON -DMI_GUARDED=ON
132160 cmake --build out/resease-guarded --parallel 8 --config Release
0 commit comments