88 pull_request :
99
1010jobs :
11- test :
11+ # =============================================================================
12+ # Linux Tests
13+ # =============================================================================
14+ test-linux :
1215 runs-on : ubuntu-latest
1316
1417 steps :
2629 python3-pip \
2730 gcovr
2831
29- - name : Configure (coverage)
30- run : meson setup build_coverage -Dbuildtype=debugoptimized -Db_coverage=true
32+ - name : Configure (coverage, no SIMD)
33+ run : |
34+ meson setup build_coverage \
35+ -Dbuildtype=debugoptimized \
36+ -Db_coverage=true \
37+ -Denable_simd_avx=false \
38+ -Denable_simd_neon=false
3139
3240 - name : Build
3341 run : meson compile -C build_coverage
@@ -50,10 +58,13 @@ jobs:
5058 - name : Upload coverage artifacts
5159 uses : actions/upload-artifact@v4
5260 with :
53- name : coverage
61+ name : coverage-linux
5462 path : coverage/
5563
56- tsan :
64+ # =============================================================================
65+ # Linux TSAN
66+ # =============================================================================
67+ tsan-linux :
5768 runs-on : ubuntu-latest
5869
5970 steps :
@@ -69,19 +80,24 @@ jobs:
6980 pkg-config \
7081 libsqlite3-dev
7182
72- - name : Configure (TSAN)
83+ - name : Configure (TSAN, no SIMD )
7384 run : |
7485 CC=clang CXX=clang++ meson setup build_tsan \
7586 -Dbuildtype=debugoptimized \
76- -Db_sanitize=thread
87+ -Db_sanitize=thread \
88+ -Denable_simd_avx=false \
89+ -Denable_simd_neon=false
7790
7891 - name : Build
7992 run : meson compile -C build_tsan
8093
8194 - name : Test
8295 run : meson test -C build_tsan
8396
84- benchmarks :
97+ # =============================================================================
98+ # Linux Benchmarks
99+ # =============================================================================
100+ benchmarks-linux :
85101 runs-on : ubuntu-latest
86102
87103 steps :
@@ -97,8 +113,13 @@ jobs:
97113 libsqlite3-dev \
98114 libbenchmark-dev
99115
100- - name : Configure (release + benchmarks)
101- run : meson setup build_bench -Dbuildtype=release -Denable_benchmarks=true
116+ - name : Configure (release + benchmarks, no SIMD)
117+ run : |
118+ meson setup build_bench \
119+ -Dbuildtype=release \
120+ -Denable_benchmarks=true \
121+ -Denable_simd_avx=false \
122+ -Denable_simd_neon=false
102123
103124 - name : Build
104125 run : meson compile -C build_bench
@@ -112,5 +133,104 @@ jobs:
112133 - name : Upload benchmark artifacts
113134 uses : actions/upload-artifact@v4
114135 with :
115- name : bench_results
136+ name : bench_results-linux
116137 path : bench_results/*.json
138+
139+ # =============================================================================
140+ # macOS Tests (ARM64 - NEON)
141+ # =============================================================================
142+ test-macos :
143+ runs-on : macos-latest
144+
145+ steps :
146+ - uses : actions/checkout@v4
147+
148+ - name : Install build dependencies
149+ run : |
150+ brew install meson ninja pkg-config sqlite
151+
152+ - name : Configure
153+ run : |
154+ meson setup build \
155+ -Dbuildtype=debugoptimized \
156+ -Denable_simd_avx=false \
157+ -Denable_simd_neon=true
158+
159+ - name : Build
160+ run : meson compile -C build
161+
162+ - name : Test
163+ run : meson test -C build
164+
165+ # =============================================================================
166+ # Windows Tests (MSVC)
167+ # =============================================================================
168+ test-windows :
169+ runs-on : windows-latest
170+
171+ steps :
172+ - uses : actions/checkout@v4
173+
174+ - name : Install build dependencies
175+ run : |
176+ pip install meson ninja
177+
178+ - name : Setup MSVC
179+ uses : ilammy/msvc-dev-cmd@v1
180+
181+ - name : Install SQLite via vcpkg
182+ run : |
183+ git clone https://github.com/microsoft/vcpkg.git C:\vcpkg
184+ C:\vcpkg\bootstrap-vcpkg.bat
185+ C:\vcpkg\vcpkg install sqlite3:x64-windows
186+
187+ - name : Configure
188+ run : |
189+ meson setup build `
190+ -Dbuildtype=debugoptimized `
191+ -Denable_simd_avx=false `
192+ -Denable_simd_neon=false `
193+ --pkg-config-path=C:\vcpkg\installed\x64-windows\lib\pkgconfig
194+
195+ - name : Build
196+ run : meson compile -C build
197+
198+ - name : Test
199+ run : meson test -C build
200+
201+ # =============================================================================
202+ # Windows Tests (MinGW)
203+ # =============================================================================
204+ test-windows-mingw :
205+ runs-on : windows-latest
206+
207+ defaults :
208+ run :
209+ shell : msys2 {0}
210+
211+ steps :
212+ - uses : actions/checkout@v4
213+
214+ - uses : msys2/setup-msys2@v2
215+ with :
216+ msystem : MINGW64
217+ update : true
218+ install : >-
219+ mingw-w64-x86_64-gcc
220+ mingw-w64-x86_64-meson
221+ mingw-w64-x86_64-ninja
222+ mingw-w64-x86_64-pkg-config
223+ mingw-w64-x86_64-sqlite3
224+
225+ - name : Configure
226+ run : |
227+ meson setup build \
228+ -Dbuildtype=debugoptimized \
229+ -Denable_simd_avx=false \
230+ -Denable_simd_neon=false
231+
232+ - name : Build
233+ run : meson compile -C build
234+
235+ - name : Test
236+ run : meson test -C build
0 commit comments