- Prettier 3.6.2: .prettierrc.json + .prettierignore + format/format:check scripts; formatted the web/ tree. - ESLint 9 flat config (@eslint/js + typescript-eslint + react-hooks + react-refresh, eslint-config-prettier last so Prettier owns formatting); lint script; src/components/ui/** opts out of react-refresh (shadcn primitives co-export their cva variants). 0 problems. - Playwright 1.61.1: playwright.config.ts (build+preview webServer) + an e2e Board-renders smoke against a mocked /api; test:e2e script. Reusable workflow installs chromium itself. - ci-web.yaml: required-scripts -> format:check,lint,build,test,test:e2e; run-format-check/lint/e2e -> true; e2e-browser chromium. All five scripts verified green locally.
35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
name: CI Web
|
|
|
|
# Thin caller over the org reusable front-end CI for the agent-team dashboard SPA
|
|
# (agent-team/web — Vite + React + TypeScript + vitest). Distinct job id `ci-web`
|
|
# (→ status context `ci-web / ci`) so it does NOT collide with the Python
|
|
# `ci / ci` context emitted by ci.yaml.
|
|
#
|
|
# package.json exposes the full reusable-workflow script set: format:check
|
|
# (Prettier), lint (ESLint flat config), build (`tsc -b && vite build`), test
|
|
# (vitest), and test:e2e (Playwright chromium browser smoke against a mocked
|
|
# /api). All reusable steps are enabled (#65). The reusable workflow installs the
|
|
# Playwright browser itself (`npx playwright install --with-deps chromium`).
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- "agent-team/web/**"
|
|
- ".github/workflows/ci-web.yaml"
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
ci-web:
|
|
uses: Sea-Haven-Industries/.github/.github/workflows/ci-typescript-frontend.yaml@main
|
|
with:
|
|
node-version: "24"
|
|
working-directory: agent-team/web
|
|
cache-dependency-path: agent-team/web/package-lock.json
|
|
required-scripts: "format:check,lint,build,test,test:e2e"
|
|
run-format-check: true
|
|
run-lint: true
|
|
run-e2e: true
|
|
e2e-browser: "chromium"
|