Repository navigation
feat(web): compare evaluation runs by opponent #252
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
| name: UCI sandbox CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| stockfish: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 10 | |
| env: | |
| GFA_UCI_SANDBOX_PROBE: /tmp/gfa-uci-sandbox-probe | |
| GFA_SANDBOX_CANARY: must-not-reach-engine | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Install engine isolation tools | |
| run: sudo apt-get update && sudo apt-get install -y stockfish bubblewrap | |
| - name: Permit namespace setup for bubblewrap on the CI runner | |
| run: sudo apparmor_parser -r .github/ci/gfa-bwrap.apparmor | |
| - name: Build isolation probe | |
| run: cc -Wall -Wextra -Werror -O2 .github/scripts/uci-sandbox-probe.c -o "$GFA_UCI_SANDBOX_PROBE" | |
| - name: Build real engine integration test | |
| run: cargo test -p gfa-engine-uci --test stockfish --no-run --locked | |
| - name: Check sandbox startup | |
| run: cargo test -p gfa-engine-uci --lib diagnose_sandbox --locked -- --ignored --nocapture | |
| - name: Search inside the production sandbox | |
| run: cargo test -p gfa-engine-uci --test stockfish --locked -- --ignored --nocapture | |
| - name: Verify real engine through REST and atomic opponent seats | |
| env: | |
| SQLX_OFFLINE: true | |
| run: cargo test -p gfa-server --locked stockfish_http -- --ignored --nocapture | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - run: python -m pip install "maturin>=1.9,<2" | |
| - run: maturin build --release --locked --out dist | |
| - name: Install native Python wheel | |
| run: | | |
| python - <<'PY' | |
| import glob | |
| import subprocess | |
| import sys | |
| subprocess.check_call([sys.executable, "-m", "pip", "install", *[wheel + "[tournaments]" for wheel in glob.glob("dist/*.whl")]]) | |
| PY | |
| - run: python .github/scripts/python-stockfish-smoke.py | |
| - name: Verify tournament CLI against the installed SDK and real engine | |
| env: | |
| SQLX_OFFLINE: true | |
| run: python .github/scripts/tournament-cli-smoke.py |