Files
coderdailyoneandClaude Fable 5 17e27ce98a ci: typecheck the GUI in the gui-unit job
The GUI README tells contributors to run `npx tsc --noEmit` and `npm run build`
starts with `tsc`, but CI never runs either — a type error ships green today
and only surfaces when someone next builds a bundle locally. Add the check as
one step inside the existing gui-unit job so it reuses that job's npm ci and
costs no extra runner.

Verified locally: `npx tsc --noEmit` exits 0 on current main, and the vitest
suite (82 tests) still passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 10:22:48 +01:00

60 lines
1.6 KiB
YAML

# App CI — the coworker Python suite, the GUI unit tests, and the hermetic
# Playwright e2e suite (mocked /v1 + WS; no model or network needed).
name: CI
on: [push, pull_request]
jobs:
pytest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install
run: |
python -m pip install --upgrade pip
pip install -e ".[messaging,dev,bedrock]"
- name: Test
run: pytest tests -q
gui-unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: surfaces/gui/package-lock.json
- name: npm ci
working-directory: surfaces/gui
run: npm ci
- name: Typecheck
working-directory: surfaces/gui
run: npx tsc --noEmit
- name: Unit tests
working-directory: surfaces/gui
run: npm test
gui-e2e:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: surfaces/gui/package-lock.json
- name: npm ci
working-directory: surfaces/gui
run: npm ci
- name: Install Playwright browsers
working-directory: surfaces/gui
run: npx playwright install --with-deps chromium
- name: e2e
working-directory: surfaces/gui
run: npm run e2e