docs: add security roadmap and session log for testing/stability work #7
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 Suite | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| rust-tests: | |
| name: Rust + Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install Rust test tooling | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-nextest,cargo-llvm-cov | |
| - name: Install llvm-tools | |
| run: rustup component add llvm-tools-preview | |
| - name: Run backend tests and coverage gate | |
| run: ./scripts/test-rust.sh | |
| security: | |
| name: Dependency Security | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Install security tooling | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: cargo-audit,cargo-deny | |
| - name: Run cargo-audit | |
| run: cargo audit --deny warnings | |
| - name: Run cargo-deny | |
| run: cargo deny check advisories bans sources | |
| wasm-ui-tests: | |
| name: WASM UI Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Rust (wasm target) | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Install wasm-pack | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: wasm-pack | |
| - name: Run WASM UI tests | |
| run: ./scripts/test-wasm-ui.sh | |
| e2e-tests: | |
| name: Playwright E2E | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| cache: npm | |
| - name: Install JavaScript dependencies | |
| run: npm install | |
| - name: Install Playwright browser | |
| run: npx playwright install --with-deps chromium | |
| - name: Set up Rust (wasm target) | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Install trunk | |
| uses: taiki-e/install-action@v2 | |
| with: | |
| tool: trunk | |
| - name: Run Playwright E2E tests | |
| env: | |
| EXOCLAW_E2E_PORT: "7210" | |
| EXOCLAW_E2E_TOKEN: "e2e-test-token" | |
| run: npm run test:e2e | |
| - name: Upload Playwright artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-artifacts | |
| path: output/playwright | |
| if-no-files-found: ignore |