This repository has been archived on 2026-08-04. You can view files and clone it, but cannot push or open issues or pull requests.
orchestrator/.github/workflows/ci-web.yaml
Adam Moussa 8530074551 ci(agent-team-web): wire Prettier + ESLint + Playwright and enable the CI steps (#65)
- 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.
2026-06-25 10:56:48 -04:00

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"