Skip to content

CI

Pipeline Stages

Main workflow: .github/workflows/ci.yml

  1. Install and environment prep
  2. Prisma migrate + generate
  3. Static validation: typecheck, lint, npm audit --audit-level=high
  4. Focused unit tests
  5. Production build
  6. App-backed tests: test:integration, test:public-share-ui, test:workbench-ui

Decisions

Keep

Stage Reason
typecheck + lint Cheap, catch regressions early
npm audit --audit-level=high Security gate — app handles auth, sharing, exports, billing
Production build Required before app-backed tests; validates production artifact, not just dev
Both browser tests One covers public share portal; one covers authenticated workbench smoke path

Optimisations Applied

  • Workflow concurrency cancellation — superseded pushes/PR updates cancel older CI runs; reduces wasted build and browser time on active branches
  • Playwright browser caching — Chromium cached by lockfile; reduces repeated install cost

No Fully Redundant Stages

Each current stage covers a distinct risk: - Static correctness - Security dependency review - Helper and service regressions - Production build validity - App-backed API behaviour - Browser-visible critical flows

If CI Becomes Slow or Flaky

Review in this order:

  1. Browser test scope creep
  2. Integration script size and setup cost
  3. Whether npm audit should move to a scheduled job (in addition to PR gating)

Do not remove the build or app-backed tests just to make CI faster.