feat: M4/M5 features (cloud sync, share links, Yjs CRDT, M5 validators + board) + M0–M3 audit #9
Workflow file for this run
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: rust | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| rust: | |
| name: rust (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, macos-14] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| targets: wasm32-unknown-unknown | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: "." | |
| - name: Install wasm-pack | |
| uses: jetli/wasm-pack-action@v0.4.0 | |
| with: | |
| version: latest | |
| - name: cargo fmt --check | |
| run: cargo fmt --check --all | |
| - name: cargo clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - name: cargo test | |
| run: cargo test --workspace | |
| # M0-Q-02 — explicit round-trip CI gate. Same suite that runs as | |
| # part of `cargo test --workspace`, repeated here with --nocapture | |
| # so a failing round-trip surfaces the unified diff directly in | |
| # the CI log (instead of forcing a re-run with backtraces). | |
| - name: M0-Q-02 golden-file round-trip gate | |
| run: cargo test -p kiclaude-golden --tests -- --nocapture | |
| - name: wasm-pack build (ki) | |
| # `--features wasm-api` enables ki's `src/wasm.rs` exports. | |
| # Off by default so the `cad → ki` Rust dep doesn't drag ki's | |
| # `#[wasm_bindgen]` surface into cad's wasm-pack build (would | |
| # duplicate-link `crateVersion` and friends). | |
| run: wasm-pack build --target web crates/ki -- --features wasm-api | |
| - name: wasm-pack build (cad) | |
| run: wasm-pack build --target web crates/cad |