Guard benchmark summary against zero-time compare ratios #151
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # .github/workflows/ci_wasm.yml | |
| name: CI – WASM | |
| on: | |
| pull_request: | |
| branches: [main, develop] | |
| workflow_dispatch: {} | |
| jobs: | |
| build_and_test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| # 1️⃣ Checkout the repository | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| # 2️⃣ Install Bazelisk (recommended Bazel launcher) | |
| - name: Setup Bazelisk | |
| uses: bazel-contrib/setup-bazel@0.19.0 | |
| with: | |
| bazelisk-version: "1.29.0" | |
| # 3️⃣ Unit tests and WASM builds (hermetic emsdk toolchain downloaded by Bazel) | |
| - name: Test web helpers, system tests, e2e, and CalcDDtablePBN | |
| run: bazel test --verbose_failures //web:web_tests //web:web_system_tests //examples/wasm:all | |
| - name: Build WASM targets | |
| run: bazel build --verbose_failures //examples/wasm:all_examples_wasm | |
| # 4️⃣ Smoke test: run solve_board under Node.js — pass if it does not crash | |
| - name: Smoke test solve_board_wasm | |
| run: node bazel-bin/examples/wasm/solve_board.js | |
| # 5️⃣ Upload test logs | |
| - name: Upload test logs - WASM | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: bazel-test-logs-wasm | |
| path: bazel-testlogs/ | |
| if-no-files-found: ignore | |
| retention-days: 30 |