Skip to content

Add CI for vercel-quickdeploy-nextjs (install, lint, test, build)#43

Merged
Gabrielpanga merged 1 commit into
masterfrom
feat/vercel-quickdeploy-ci
May 16, 2026
Merged

Add CI for vercel-quickdeploy-nextjs (install, lint, test, build)#43
Gabrielpanga merged 1 commit into
masterfrom
feat/vercel-quickdeploy-ci

Conversation

@Gabrielpanga
Copy link
Copy Markdown
Member

Summary

Adds a GitHub Actions workflow that validates `examples/vercel-quickdeploy-nextjs` on every push to master and every PR that touches its files. Same shape as the workflows landed for `aws-sst` (#41) and `frontend/nextjs` (#42).

Workflow

`.github/workflows/vercel-quickdeploy-ci.yml` — path-filtered, concurrency-cancelled. Steps:

  1. `pnpm install --frozen-lockfile` — `preinstall` runs `pnpm audit && pnpm audit signatures`, so a vulnerable or unsigned package fails CI before any later step.
  2. Lint → `pnpm run typecheck` (`tsc --noEmit`).
  3. Test → `pnpm run test` (`tsc --noEmit`).
  4. Build → `pnpm run build` (`next build`) with dummy `PLUGGY_*`, `NEXT_PUBLIC_SUPABASE_URL`, `SUPABASE_SERVICE_ROLE_KEY` — these are read at module init in API routes; dummies are enough for the bundle.

Why typecheck for the lint step

`pnpm run lint` here is the real `eslint .` setup (with `eslint-config-next` + the new `core-web-vitals` rules). On current `master` it surfaces 19 React-anti-pattern findings — none of them auto-fixable — that need source code changes. Those are out of scope for "add CI." The Lint step uses `tsc --noEmit` until the source is addressed; tighten it to `pnpm run lint` in a follow-up PR.

Script changes

`examples/vercel-quickdeploy-nextjs/package.json`:

  • adds `typecheck` → `tsc --noEmit`
  • adds `test` → `tsc --noEmit` (placeholder until real tests)
  • existing `lint` / `lint:fix` (eslint) kept unchanged

Verification

  • `pnpm install --frozen-lockfile` succeeds (preinstall audit + signatures clean)
  • `pnpm run typecheck` passes
  • `pnpm run test` passes
  • `pnpm run build` succeeds with dummy env vars

Follow-up

  • Fix the 19 `eslint` findings in a separate PR and switch this workflow's Lint step from `pnpm run typecheck` back to `pnpm run lint`.

CI workflow runs on pushes to master and PRs that touch
examples/vercel-quickdeploy-nextjs/** or the workflow itself.

Steps:
1. pnpm install --frozen-lockfile - preinstall runs pnpm audit +
   pnpm audit signatures, so a vulnerable or unsigned package
   fails CI before any other step.
2. Lint -> pnpm run typecheck (tsc --noEmit).
   `pnpm run lint` (real `eslint .`) currently surfaces 19
   React-anti-pattern findings in source code that are out of
   scope here; tighten the CI lint step when those are addressed.
3. Test -> pnpm run test (tsc --noEmit). Placeholder until real
   tests exist.
4. Build -> pnpm run build (next build) with dummy env vars.
   The API routes read PLUGGY_*, NEXT_PUBLIC_SUPABASE_URL, and
   SUPABASE_SERVICE_ROLE_KEY at module init; dummies are enough
   for bundling, no runtime calls happen at build time.

Scripts added to package.json:
- typecheck: tsc --noEmit
- test:      tsc --noEmit (placeholder)

Existing `lint` / `lint:fix` (eslint) kept for developer use.
@Gabrielpanga Gabrielpanga requested a review from a team as a code owner May 16, 2026 15:13
@Gabrielpanga Gabrielpanga merged commit d97acca into master May 16, 2026
1 of 2 checks passed
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