vercel/next.js
Nine dimensions
Top findings (AI)
Rspack integration has known failing tests at scale
rspack-update-tests-manifest.yml is a recurring workflow dedicated to tracking passing/failing/skipped tests, and both Rspack test workflows use 12–16 parallel groups with 90-minute timeouts. This indicates Rspack is not yet parity-grade for production use in all Next.js scenarios.
No Dockerfile or root deployment config in repo
The framework repo has no Dockerfile, no vercel.json, and no deploy config at the root. Vercel deploys Next.js externally; this repo cannot be self-hosted from source without custom configuration. Consumers adopting self-hosted next-server need to build their own container strategy.
3,908 open issues with no defined SLA
issue_stale.yml marks issues stale after 545 days of inactivity and closes them after 7 more days, but the 3,908 open count (before the stale policy runs) means a significant backlog. The stale action runs on a daily schedule with 300 operations-per-run cap, which may not clear the queue fast enough.
No visible security-specific CI workflow
No dedicated SAST, dependency audit, or CodeQL workflow is visible in .github/workflows/. OSV scan confirmed no declared dependencies were scanned — the framework likely has transitive deps that were not in the scan surface. Security posture depends on what Vercel does internally, not what's visible in this repo.
Graphite CI optimizer is not enforced — bypass label exists
graphite_ci_optimizer.yml can be bypassed by adding label 'CI Bypass Graphite Optimization' and pushing a new commit. This means developers can skip expensive CI jobs on any PR, creating a potential gap where untested changes land on canary.
TURBO_REMOTE_CACHE requires a paid Vercel token
build_and_test.yml and build_and_deploy.yml both set TURBO_TEAM to 'vtest314-next-adapter-e2e-tests' with TURBO_TOKEN secret. Turbo remote caching is a Vercel Teams feature; the entire CI pipeline degrades to local-only cache if the secret is unavailable, per the 'degrade gracefully' comment in the config.