Skip to content

[Infra] Stand up a full CI pipeline (lint, typecheck, unit, e2e, build, a11y) #2

Description

@grantfox-oss

Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0

Why this matters

There is no .github/workflows directory in this repo, so nothing is verified on push or pull request. Prettier, ESLint, TypeScript, Jest unit tests, Playwright e2e, the production build, and the a11y audit can all break on main with no signal. Every other quality issue in this batch depends on a gate that actually runs.

Acceptance criteria

  • Add .github/workflows/ci.yml running on pull_request and push to main
  • Jobs: install (npm ci with cache), prettier check, eslint, typecheck (tsc --noEmit), jest unit with coverage, next build, and a Playwright e2e job with the report uploaded as an artifact
  • Run the existing audit:a11y (axe-playwright) as its own job or step
  • Node 20, fail fast off so all jobs report, and concurrency cancel-in-progress for the same ref
  • CI is green on a clean checkout of main (fix or file follow-ups for anything it surfaces)

Files to touch

  • .github/workflows/ci.yml (new)
  • package.json (scripts referenced by CI, see the scripts issue)
  • playwright.config.ts, e2e/
  • jest.config.js

Implementation notes

Pair this with the test and typecheck script issue so CI has real commands to call. Cache ~/.npm and the Playwright browser download.

Out of scope

  • Deployment / release workflows
  • Required-status-check branch protection (maintainer setting)

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official CampaignenhancementNew feature or requesthardAdvanced / high-difficulty issuehelp wantedExtra attention is needed

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions