Skip to content

ci: test on every push, gate Vercel production deploy on tests#2

Merged
nimkimi merged 3 commits into
mainfrom
ci-pipeline
Jun 21, 2026
Merged

ci: test on every push, gate Vercel production deploy on tests#2
nimkimi merged 3 commits into
mainfrom
ci-pipeline

Conversation

@nimkimi

@nimkimi nimkimi commented Jun 2, 2026

Copy link
Copy Markdown
Owner

Adds a GitHub Actions pipeline and routes production through it.

CI (.github/workflows/ci.yml)

  • On every push + PR: npm ci → lint → tsc --noEmit → Vitest (239) → Playwright E2E (13).
  • deploy job runs only on main after tests pass: vercel build --prodvercel deploy --prebuilt --prod.

vercel.json

  • Disables Vercel auto-deploy for main only; PR/branch preview deploys still work.

Required before merge — add GitHub repo secrets: VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID (org/project IDs from .vercel/project.json after vercel link). Until then the production deploy job will fail.

@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hackimi Ready Ready Preview, Comment Jun 17, 2026 2:44pm

nimkimi added 3 commits June 2, 2026 20:15
GitHub Actions runs lint, type-check, Vitest, and Playwright E2E on every
push and PR. A deploy job runs only on main after tests pass
(vercel build/deploy --prebuilt --prod). vercel.json disables Vercel's
auto-deploy for main only, so PR/branch previews keep working while
production flows exclusively through the tested CI gate.
- .nvmrc 22.4.0 -> 24; engines.node >=22.12.0 (several deps require >=22.12)
- npm update within semver ranges: Next 15.5.19, React/React-DOM 19.2.7,
  Zod 4.4.3, Prettier 3.8.3, TypeScript 5.9.3, @tabler/icons 3.44, etc.
- Node 24 ships npm 11, which fixes the optional-dependency bug (#4828) that
  blocked Rolldown's native binary on CI under the old npm 10.
Verified: tsc, lint, 239 tests, production build, and E2E all green.
Deferred to a follow-up: Next 16, Tailwind 4, TypeScript 6, ESLint 10, nodemailer 8.
CI now runs Playwright against 'next build && next start' instead of
'next dev', eliminating on-demand-compile/hydration flake (the contact
'Sending…' pending-state assertion). The contact test also holds its
mocked server-action request open until assertions finish rather than
racing a fixed timeout.
@nimkimi nimkimi merged commit 0509c2b into main Jun 21, 2026
7 checks passed
@nimkimi nimkimi deleted the ci-pipeline branch June 21, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant