Skip to content

perf: add quick mode for nextjs framework tests#686

Merged
theoephraim merged 3 commits into
mainfrom
perf/nextjs-framework-test-quick-mode
May 2, 2026
Merged

perf: add quick mode for nextjs framework tests#686
theoephraim merged 3 commits into
mainfrom
perf/nextjs-framework-test-quick-mode

Conversation

@theoephraim

Copy link
Copy Markdown
Member

Summary

  • Run only Next.js v16 + turbopack for most PRs (~3-4x faster), full suite (v14/v15/v16, both bundlers) only when the nextjs integration package or test files themselves change
  • Restructures CI matrix output from plain strings to {name, testPath} objects to support per-integration test path selection
  • Adds NEXTJS_TURBO_ONLY env var for quick mode to also skip webpack bundler within v16

When each mode triggers

Trigger Mode
@varlock/nextjs-integration changed Full (all versions, both bundlers)
nextjs test files changed Full
--all / framework-tests label / release PR Full
Shared harness changed Quick (v16 turbo only)

Test plan

  • Verify CI matrix renders correctly with object entries
  • Test with framework-tests label to confirm full suite runs
  • Verify quick mode only runs v16 turbopack tests

Run only v16+turbopack for most PRs, full suite (v14/v15/v16, both
bundlers) only when the nextjs integration package or test files change.

- Restructure CI matrix from string arrays to {name, testPath} objects
- Add QUICK_TEST_PATHS config in detect-changed-integrations
- Add NEXTJS_TURBO_ONLY env var to skip webpack bundler in quick mode
- Preserve .next/cache between scenario runs so turbopack/webpack
  compilation cache speeds up subsequent builds within the same fixture
- Add NEXT_TELEMETRY_DISABLED=1 to avoid telemetry overhead
- Cache pnpm store in CI for framework test project installs
ESLint was already disabled; also skip TS type-checking since these
are framework integration tests, not type-correctness tests.
@theoephraim theoephraim merged commit be2465d into main May 2, 2026
36 of 37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant