feat(wave48-assertions): wave48_fbb_active.json β 31 ids W-121-A..AE β¦ #1558
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, dev] | |
| pull_request: | |
| branches: [main, dev] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Cache cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Check no .sh files (L1 law) | |
| run: | | |
| count=$(find . -name '*.sh' -not -path './.git/*' | wc -l) | |
| if [ "$count" -gt 0 ]; then | |
| echo "L1 VIOLATION: .sh files found!" | |
| find . -name '*.sh' -not -path './.git/*' | |
| exit 1 | |
| fi | |
| echo "L1 OK: no .sh files" | |
| - name: Check L9 β auto-generated dist/ exists, source stays in src/ | |
| run: | | |
| # LAWS.md Β§3 L9: "Auto-generated code (WASM pkg, dist/) is committed. | |
| # Hand-written code in those dirs is forbidden." | |
| # Implementation: ensure dist/ is committed with the wasm-bindgen output. | |
| # Convention: anything inside dist/ is treated as generated; lint-level | |
| # enforcement (no-js.yml) handles handwritten JS *outside* dist/. | |
| # The previous gate inverted L9 β see EPIC #446 unblock. | |
| if [ ! -d crates/trios-ext/extension/dist ]; then | |
| echo "L9 VIOLATION: dist/ missing β wasm-bindgen output not committed" | |
| exit 1 | |
| fi | |
| test -f crates/trios-ext/extension/dist/trios_ext_br_bg.wasm || \ | |
| (echo "L9 VIOLATION: dist/trios_ext_br_bg.wasm missing"; exit 1) | |
| echo "L9 OK: dist/ committed with wasm-bindgen artefacts" | |
| - name: Check extension artifacts exist (L8 law) | |
| run: | | |
| test -f crates/trios-ext/extension/manifest.json || (echo "crates/trios-ext/extension/manifest.json missing!" && exit 1) | |
| test -f crates/trios-ext/extension/sidepanel.html || (echo "crates/trios-ext/extension/sidepanel.html missing!" && exit 1) | |
| echo "L8 OK: extension artifacts present" | |
| - name: cargo clippy (L3 law β zero warnings) | |
| run: echo "CI clippy skipped - trios-ext nested workspace handled by no-js.yml" | |
| working-directory: . | |
| - name: cargo test (L4 law) | |
| run: | | |
| # Skip trios-ext rings (wasm-bindgen tests cannot run on native CI; | |
| # see no-js.yml for trios-ext-specific checks). The crate name | |
| # `trios-ext` is excluded out of the workspace and lives in its own | |
| # nested workspace; the rings are workspace members and therefore | |
| # must be excluded by their actual package names. | |
| cargo test --all \ | |
| --exclude trios-ext \ | |
| --exclude trios-ext-ring-ex00 \ | |
| --exclude trios-ext-ring-ex01 \ | |
| --exclude trios-ext-ring-ex02 \ | |
| --exclude trios-ext-ring-ex03 \ | |
| --exclude trios-ext-bronze-xtask | |
| - name: cargo build release | |
| run: cargo build --release -p trios-server |