Feature Description:
Add a GitHub Actions CI workflow that automatically runs a production build check on every pull request to main and development. Linting and formatting are already enforced locally via Husky pre-commit hooks (lint-staged runs ESLint + Prettier on staged files).
Problem it Solves:
Husky pre-commit hooks protect individual commits on a contributor's local machine, but they can be bypassed or may not catch every build-breaking issue (e.g., a bad import in a file that wasn't staged). A CI build step on the PR level provides a hard gate that cannot be skipped and runs in a clean environment.
Proposed Solution:
A single GitHub Actions job that:
- Checks out the repository
- Sets up Node.js with caching
- Installs dependencies (
npm ci)
- Runs
npx tsc --noEmit (TypeScript type-check — fast, no output artifacts)
- Runs
npm run build (full Next.js production build — catches import errors, missing env types, etc.)
The job should trigger on:
pull_request targeting main and development
Optionally, add a docker build job to catch container build failures
Alternatives Considered:
Additional Context:
Feature Description:
Add a GitHub Actions CI workflow that automatically runs a production build check on every pull request to
mainanddevelopment. Linting and formatting are already enforced locally via Husky pre-commit hooks (lint-stagedruns ESLint + Prettier on staged files).Problem it Solves:
Husky pre-commit hooks protect individual commits on a contributor's local machine, but they can be bypassed or may not catch every build-breaking issue (e.g., a bad import in a file that wasn't staged). A CI build step on the PR level provides a hard gate that cannot be skipped and runs in a clean environment.
Proposed Solution:
A single GitHub Actions job that:
npm ci)npx tsc --noEmit(TypeScript type-check — fast, no output artifacts)npm run build(full Next.js production build — catches import errors, missing env types, etc.)The job should trigger on:
pull_requesttargetingmainanddevelopmentOptionally, add a
docker buildjob to catch container build failuresAlternatives Considered:
Additional Context: