@@ -143,17 +143,36 @@ jobs:
143143
144144 - name : Configure XMake
145145 run : |
146- xmake config --with-benchmarks=true --with-testing=true
147- continue-on-error : true
146+ # Try to install benchmark library, but don't fail if it's not available
147+ Write-Host "Installing benchmark library..."
148+ try {
149+ xmake require benchmark
150+ Write-Host "Benchmark library installed successfully"
151+ xmake config --with-benchmarks=true --with-testing=true
152+ } catch {
153+ Write-Host "Benchmark library installation failed, building without benchmarks"
154+ xmake config --with-benchmarks=false --with-testing=true
155+ }
148156
149157 - name : Build C++ library
150158 run : |
151- xmake build
159+ Write-Host "Building C++ library..."
160+ xmake build zlayout zlayout_shared basic_example
161+ if (-not $?) {
162+ Write-Host "C++ library build failed"
163+ exit 1
164+ }
165+ Write-Host "C++ library build completed successfully"
152166
153167 - name : Run C++ tests
154168 run : |
169+ Write-Host "Running C++ tests..."
155170 xmake test
156- if (-not $?) { exit 1 }
171+ if (-not $?) {
172+ Write-Host "C++ tests failed"
173+ exit 1
174+ }
175+ Write-Host "C++ tests completed successfully"
157176
158177 - name : Run Python tests
159178 run : |
@@ -162,12 +181,35 @@ jobs:
162181
163182 - name : Build benchmarks
164183 run : |
165- xmake build bench_geometry bench_quadtree
184+ Write-Host "Attempting to build benchmarks..."
185+ try {
186+ xmake build bench_geometry bench_quadtree
187+ Write-Host "Benchmarks built successfully"
188+ } catch {
189+ Write-Host "Benchmarks build failed - continuing without benchmarks"
190+ }
191+ continue-on-error : true
166192
167193 - name : Run benchmarks
168194 run : |
169- xmake run bench_geometry --benchmark_out=docs/benchmarks/geometry_results.json --benchmark_out_format=json
170- xmake run bench_quadtree --benchmark_out=docs/benchmarks/spatial_results.json --benchmark_out_format=json
195+ Write-Host "Attempting to run benchmarks..."
196+ try {
197+ if (Test-Path "build/windows/x64/release/bench_geometry.exe") {
198+ xmake run bench_geometry --benchmark_out=docs/benchmarks/geometry_results.json --benchmark_out_format=json
199+ Write-Host "Geometry benchmarks completed"
200+ } else {
201+ Write-Host "Geometry benchmark executable not found"
202+ }
203+
204+ if (Test-Path "build/windows/x64/release/bench_quadtree.exe") {
205+ xmake run bench_quadtree --benchmark_out=docs/benchmarks/spatial_results.json --benchmark_out_format=json
206+ Write-Host "Quadtree benchmarks completed"
207+ } else {
208+ Write-Host "Quadtree benchmark executable not found"
209+ }
210+ } catch {
211+ Write-Host "Benchmark execution failed - continuing without benchmark results"
212+ }
171213 continue-on-error : true
172214
173215 - name : Create performance visualization
0 commit comments