@@ -52,11 +52,11 @@ jobs:
52
52
dry-run : " true"
53
53
54
54
test_ubuntu_gcc :
55
- name : Ubuntu (GCC 12 )
56
- runs-on : ubuntu-22 .04
55
+ name : Ubuntu (GCC 14 )
56
+ runs-on : ubuntu-24 .04
57
57
env :
58
- CC : gcc-12
59
- CXX : g++-12
58
+ CC : gcc
59
+ CXX : g++
60
60
61
61
steps :
62
62
- uses : actions/checkout@v4
@@ -67,12 +67,12 @@ jobs:
67
67
run : |
68
68
sudo apt update
69
69
sudo apt install -y cmake build-essential libjemalloc-dev libomp-dev gcc-12 g++-12
70
- cmake -B build_artifacts -DCMAKE_BUILD_TYPE =RelWithDebInfo -DUSEARCH_BUILD_TEST_CPP =1 -DUSEARCH_BUILD_TEST_C =1 -DUSEARCH_BUILD_LIB_C =1 -DUSEARCH_BUILD_SQLITE =1 -DUSEARCH_USE_OPENMP =1 -DUSEARCH_USE_SIMSIMD =1 -DUSEARCH_USE_JEMALLOC =1
70
+ cmake -B build_artifacts -D CMAKE_BUILD_TYPE =RelWithDebInfo -D USEARCH_BUILD_TEST_CPP =1 -D USEARCH_BUILD_TEST_C =1 -D USEARCH_BUILD_LIB_C =1 -D USEARCH_BUILD_SQLITE =1 -D USEARCH_USE_OPENMP =1 -D USEARCH_USE_SIMSIMD =1 -D USEARCH_USE_JEMALLOC =1
71
71
cmake --build build_artifacts --config RelWithDebInfo
72
72
- name : Test C++
73
- run : ./ build_artifacts/test_cpp
73
+ run : build_artifacts/test_cpp
74
74
- name : Test C
75
- run : ./ build_artifacts/test_c
75
+ run : build_artifacts/test_c
76
76
77
77
# Python
78
78
- name : Set up Python ${{ env.PYTHON_VERSION }}
@@ -141,11 +141,11 @@ jobs:
141
141
working-directory : ${{ github.workspace }}/golang/
142
142
143
143
test_ubuntu_clang :
144
- name : Ubuntu (Clang 16 )
145
- runs-on : ubuntu-22 .04
144
+ name : Ubuntu (Clang 18 )
145
+ runs-on : ubuntu-24 .04
146
146
env :
147
- CC : clang-16
148
- CXX : clang++-16
147
+ CC : clang
148
+ CXX : clang++
149
149
150
150
steps :
151
151
- uses : actions/checkout@v4
@@ -156,16 +156,13 @@ jobs:
156
156
- name : Build C/C++
157
157
run : |
158
158
sudo apt update
159
- sudo apt install -y cmake build-essential libjemalloc-dev
160
- wget https://apt.llvm.org/llvm.sh
161
- chmod +x llvm.sh
162
- sudo ./llvm.sh 16
163
- cmake -B build_artifacts -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSEARCH_BUILD_TEST_CPP=1 -DUSEARCH_BUILD_TEST_C=1 -DUSEARCH_BUILD_LIB_C=1 -DUSEARCH_BUILD_SQLITE=1 -DUSEARCH_USE_OPENMP=0 -DUSEARCH_USE_SIMSIMD=1 -DUSEARCH_USE_JEMALLOC=1
159
+ sudo apt install -y cmake build-essential libjemalloc-dev clang
160
+ cmake -B build_artifacts -D CMAKE_BUILD_TYPE=RelWithDebInfo -D USEARCH_BUILD_TEST_CPP=1 -D USEARCH_BUILD_TEST_C=1 -D USEARCH_BUILD_LIB_C=1 -D USEARCH_BUILD_SQLITE=1 -D USEARCH_USE_OPENMP=0 -D USEARCH_USE_SIMSIMD=1 -D USEARCH_USE_JEMALLOC=1
164
161
cmake --build build_artifacts --config RelWithDebInfo
165
162
- name : Test C++
166
- run : ./ build_artifacts/test_cpp
163
+ run : build_artifacts/test_cpp
167
164
- name : Test C
168
- run : ./ build_artifacts/test_c
165
+ run : build_artifacts/test_c
169
166
170
167
# JavaScript
171
168
- name : Set up Node.js
@@ -190,6 +187,9 @@ jobs:
190
187
pip install pytest pytest-repeat numpy numba cppyy
191
188
pip install --upgrade git+https://github.com/Maratyszcza/PeachPy
192
189
python -m pip install .
190
+ env :
191
+ CXX : clang++
192
+ CC : clang++ # Override the default compiler
193
193
- name : Test Python
194
194
run : pytest
195
195
@@ -208,7 +208,7 @@ jobs:
208
208
209
209
test_macos :
210
210
name : MacOS
211
- runs-on : macos-12
211
+ runs-on : macos-14
212
212
213
213
steps :
214
214
- uses : actions/checkout@v4
@@ -219,12 +219,12 @@ jobs:
219
219
run : |
220
220
brew update
221
221
brew install cmake
222
- cmake -B build_artifacts -DCMAKE_BUILD_TYPE =RelWithDebInfo -DUSEARCH_BUILD_TEST_CPP =1 -DUSEARCH_BUILD_TEST_C =1 -DUSEARCH_BUILD_LIB_C =1 -DUSEARCH_BUILD_SQLITE =1
222
+ cmake -B build_artifacts -D CMAKE_BUILD_TYPE =RelWithDebInfo -D USEARCH_BUILD_TEST_CPP =1 -D USEARCH_BUILD_TEST_C =1 -D USEARCH_BUILD_LIB_C =1 -D USEARCH_BUILD_SQLITE =1
223
223
cmake --build build_artifacts --config RelWithDebInfo
224
224
- name : Test C++
225
- run : ./ build_artifacts/test_cpp
225
+ run : build_artifacts/test_cpp
226
226
- name : Test C
227
- run : ./ build_artifacts/test_c
227
+ run : build_artifacts/test_c
228
228
229
229
# JavaScript
230
230
- name : Set up Node.js
@@ -248,6 +248,9 @@ jobs:
248
248
python -m pip install --upgrade pip
249
249
pip install pytest pytest-repeat numpy
250
250
python -m pip install .
251
+ env :
252
+ CXX : clang++
253
+ CC : clang++ # Override the default compiler
251
254
- name : Test Python
252
255
run : pytest
253
256
@@ -264,11 +267,13 @@ jobs:
264
267
dotnet-version : ${{ env.DOTNET_VERSION }}
265
268
- name : Test .NET
266
269
run : |
267
- mkdir -p "${{ github.workspace }}/csharp/lib/runtimes/osx-x64 /native"
268
- cp "${{ github.workspace }}/build_artifacts/libusearch_c.dylib" "${{ github.workspace }}/csharp/lib/runtimes/osx-x64 /native"
270
+ mkdir -p "${{ github.workspace }}/csharp/lib/runtimes/osx-arm64 /native"
271
+ cp "${{ github.workspace }}/build_artifacts/libusearch_c.dylib" "${{ github.workspace }}/csharp/lib/runtimes/osx-arm64 /native"
269
272
dotnet test -c Debug --logger "console;verbosity=detailed" --filter "FullyQualifiedName!=Cloud.Unum.USearch.Tests.UsearchIndexTests.PersistAndRestore"
270
273
shell : bash
271
274
working-directory : ${{ github.workspace }}/csharp
275
+ env :
276
+ DYLD_PRINT_LIBRARIES : 1
272
277
273
278
test_windows :
274
279
name : Windows
@@ -281,7 +286,7 @@ jobs:
281
286
- name : Build C/C++
282
287
run : |
283
288
choco install cmake
284
- cmake -B build_artifacts -DCMAKE_BUILD_TYPE =RelWithDebInfo -DUSEARCH_BUILD_TEST_CPP =1 -DUSEARCH_BUILD_TEST_C =1 -DUSEARCH_BUILD_LIB_C =1 -DUSEARCH_BUILD_SQLITE =0
289
+ cmake -B build_artifacts -D CMAKE_BUILD_TYPE =RelWithDebInfo -D USEARCH_BUILD_TEST_CPP =1 -D USEARCH_BUILD_TEST_C =1 -D USEARCH_BUILD_LIB_C =1 -D USEARCH_BUILD_SQLITE =0
285
290
cmake --build build_artifacts --config RelWithDebInfo
286
291
- name : Test C++
287
292
run : .\build_artifacts\test_cpp.exe
@@ -398,16 +403,16 @@ jobs:
398
403
- name : Build C/C++
399
404
run : |
400
405
cmake -B build_artifacts \
401
- -DCMAKE_BUILD_TYPE =RelWithDebInfo \
402
- -DCMAKE_EXPORT_COMPILE_COMMANDS =1 \
403
- -DCMAKE_C_COMPILER_TARGET =${{ matrix.target }} \
404
- -DCMAKE_CXX_COMPILER_TARGET =${{ matrix.target }} \
405
- -DCMAKE_SYSTEM_NAME =Linux \
406
- -DCMAKE_SYSTEM_PROCESSOR =${{ matrix.arch }} \
407
- -DUSEARCH_BUILD_LIB_C =1 \
408
- -DUSEARCH_BUILD_SQLITE =1 \
409
- -DUSEARCH_BUILD_TEST_CPP =0 \
410
- -DUSEARCH_BUILD_BENCH_CPP =0
406
+ -D CMAKE_BUILD_TYPE =RelWithDebInfo \
407
+ -D CMAKE_EXPORT_COMPILE_COMMANDS =1 \
408
+ -D CMAKE_C_COMPILER_TARGET =${{ matrix.target }} \
409
+ -D CMAKE_CXX_COMPILER_TARGET =${{ matrix.target }} \
410
+ -D CMAKE_SYSTEM_NAME =Linux \
411
+ -D CMAKE_SYSTEM_PROCESSOR =${{ matrix.arch }} \
412
+ -D USEARCH_BUILD_LIB_C =1 \
413
+ -D USEARCH_BUILD_SQLITE =1 \
414
+ -D USEARCH_BUILD_TEST_CPP =0 \
415
+ -D USEARCH_BUILD_BENCH_CPP =0
411
416
412
417
cmake --build build_artifacts --config RelWithDebInfo
413
418
0 commit comments