Skip to content

Commit c69f9a7

Browse files
committed
Fix CI workflow to handle benchmark dependencies properly
1 parent 0a886e6 commit c69f9a7

File tree

2 files changed

+49
-392
lines changed

2 files changed

+49
-392
lines changed

.github/workflows/docs.yml

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)