docs: pre-public audit fixes #10
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| # Cancel superseded runs on the same ref to save CI minutes. | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| matcher: | |
| name: matcher (build + test) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: matcher | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: matcher/package-lock.json | |
| - run: npm ci | |
| - run: npm run lint | |
| - run: npm run build | |
| - run: npm test | |
| mcp: | |
| name: mcp (build) | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: mcp | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: mcp/package-lock.json | |
| - run: npm ci | |
| - run: npm run build | |
| web: | |
| name: web (syntax check) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| # Vanilla JS with no build step or test runner, a syntax check is the | |
| # cheapest guard against a broken landing page / dashboard bundle. | |
| - run: node --check web/landing.js | |
| - run: node --check web/app/app.js | |
| contract: | |
| name: contract (cargo test) | |
| runs-on: ubuntu-latest | |
| # The contract pins a specific nightly (contract/rust-toolchain => | |
| # nightly-2026-01-01) and builds through the Odra framework. That exact | |
| # nightly may not be installable on the runner, so this job is advisory: | |
| # a toolchain-availability problem must not block the pipeline. The tests | |
| # themselves run against Odra's off-chain MockVM via `cargo test` and do | |
| # NOT need the wasm target, that's only required for the release wasm | |
| # build below, which is likewise best-effort. | |
| continue-on-error: true | |
| defaults: | |
| run: | |
| working-directory: contract | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Honour the toolchain the repo requests (contract/rust-toolchain). | |
| - uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| toolchain: nightly-2026-01-01 | |
| targets: wasm32-unknown-unknown | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: contract | |
| # Off-chain integration tests (6 tests in src/registry.rs). | |
| - run: cargo test | |
| # Optional: confirm the contract still compiles to wasm for casper. | |
| # Requires cargo-odra; skipped-friendly under continue-on-error. | |
| - name: cargo-odra wasm build (best effort) | |
| run: | | |
| cargo install cargo-odra --locked || true | |
| cargo odra build -b casper || cargo build --release --target wasm32-unknown-unknown |