chore(public-sync): apply scrub rules from .public-sync #255
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: test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| python: | |
| name: python ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v8.1.0 | |
| with: | |
| enable-cache: true | |
| - name: Set up Python 3.12 | |
| run: uv python install 3.12 | |
| - name: Install dependencies | |
| run: uv sync --all-extras | |
| - name: Run pytest | |
| run: uv run pytest -v --tb=short | |
| - name: Lint with ruff | |
| run: uv run ruff check . | |
| # Audit 2026-05-07 P2-5: frontend tests + production build now gate | |
| # PRs the same way Python does. The previous release cycle's biggest | |
| # regressions were React/Tauri glue (wizard provider field, persona | |
| # threading, role-label leaks, stale bubbles); none would have been | |
| # caught by the python-only matrix. | |
| frontend: | |
| name: frontend (vitest + vite build) | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| with: | |
| version: 9 | |
| - name: Install Node 22 | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| cache-dependency-path: app/pnpm-lock.yaml | |
| - name: pnpm install | |
| working-directory: app | |
| run: pnpm install --frozen-lockfile | |
| - name: pnpm test (vitest) | |
| working-directory: app | |
| run: pnpm test | |
| - name: pnpm build (tsc + vite) | |
| working-directory: app | |
| run: pnpm build | |
| # Audit 2026-05-07 P2-5: Rust check + test on every PR. Tauri | |
| # commands (port parsing, persona validation, app config healing, | |
| # nell_command resolution, subprocess timeouts) are mostly Rust; | |
| # without a CI gate, regressions only surface at release-build | |
| # time or on first user double-click. | |
| tauri: | |
| name: tauri (cargo check + test) | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: cargo check | |
| working-directory: app/src-tauri | |
| run: cargo check | |
| - name: cargo test | |
| working-directory: app/src-tauri | |
| run: cargo test |