name: rust on: push: branches: [master, main] paths: ['rust/**', '.github/workflows/rust.yml'] pull_request: paths: ['rust/**', '.github/workflows/rust.yml'] defaults: run: shell: pwsh working-directory: rust jobs: build: name: build / test / clippy / fmt runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Install Rust toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: '1.85' components: rustfmt, clippy - name: Cache cargo uses: Swatinem/rust-cache@v2 with: workspaces: rust - name: cargo fmt --check run: cargo fmt --all -- --check - name: cargo build --workspace run: cargo build --workspace --all-targets - name: cargo test --workspace run: cargo test --workspace --no-fail-fast env: # MX_LIVE is intentionally NOT set — live tests require an AVEVA # install + Galaxy DB which CI cannot provide. See design/60-roadmap.md # validation strategy: live probes run on the maintainer's workstation, # gated by `MX_LIVE=1` via `tools/Setup-LiveProbeEnv.ps1`. MX_LIVE: '' - name: cargo clippy --workspace -- -D warnings run: cargo clippy --workspace --all-targets -- -D warnings