# Every push and pull request: build, test, clippy (report only — the tree is not rustfmt' # clean, so `cargo fmt --check` would need its own one-time reformatting change first). Release builds are release.yml's job. # # Runners (see deploy/ci/README.md): # anybot-linux a Linux computer with Docker; jobs run in anybot-builder:22.04 # # The nightly `cargo check` keeps the window honest between releases; the computer-use # bench (bench/computer-use) is NOT here on purpose: it needs a real test box (a Lima VM # with gVisor, its own volume and image — see its README "怎麼跑"), and it must never run # against a real box. Run it by hand per release, before tagging, and record the numbers # in bench/computer-use/README.md. name: CI on: pull_request: push: branches: [main] env: CARGO_TARGET_DIR: /ci-target jobs: check: runs-on: anybot-linux steps: - uses: actions/checkout@v4 - name: Build run: cargo build --bin anybot - name: Test run: cargo test --bin anybot -- --skip live 2>&1 | tail -5 - name: Clippy (report only) run: cargo clippy --bin anybot 2>&1 | tail -30 - name: Relay build and test run: cd relay && cargo test windows-check: # C9: the Windows engine is real code now; where a Windows runner exists, it must compile. # Report-only until the release ships Windows binaries. runs-on: windows continue-on-error: true steps: - uses: actions/checkout@v4 - run: cargo check --bin anybot