perf(deploy): keep .next/cache while clearing stale generated types

Nuclear src replace already guarantees clean sources; restoring the build cache speeds deploys without reintroducing sticky typecheck ghosts.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-18 21:15:52 +02:00
1 parent b7fd19b6d9
commit 224ccd654b
2 files changed
+7 -4

No files matched your search

+3 -2
View File
@@ -88,8 +88,9 @@ jobs:
rm -f tsconfig.tsbuildinfo .tsbuildinfo rm -f tsconfig.tsbuildinfo .tsbuildinfo
find . -maxdepth 3 -name '*.tsbuildinfo' -delete 2>/dev/null || true find . -maxdepth 3 -name '*.tsbuildinfo' -delete 2>/dev/null || true
# Wipe .next entirely — partial cache has disagreed with clean sources. # Clear generated Next types/dev dirs, but keep .next/cache for faster rebuilds.
rm -rf .output dist .next # Full src/ nuclear replace above already guarantees sources match HEAD.
rm -rf .output dist .next/types .next/dev
# Release tag for Sentry / logs (short git sha) # Release tag for Sentry / logs (short git sha)
export APP_VERSION="$(git rev-parse --short HEAD)" export APP_VERSION="$(git rev-parse --short HEAD)"
+4 -2
View File
@@ -8,8 +8,10 @@ describe("production deploy workflow", () => {
"utf8", "utf8",
); );
it("wipes .next before build to avoid stale Next typecheck caches", () => { it("preserves the Next.js incremental build cache", () => {
expect(workflow).toContain("rm -rf .output dist .next"); // May clear .next/types or .next/dev, but must not wipe the whole .next tree.
expect(workflow).not.toMatch(/rm\s+-rf\s+\.next(?:\s|$)/);
expect(workflow).toContain("rm -rf .output dist .next/types .next/dev");
expect(workflow).toContain("pnpm install --frozen-lockfile"); expect(workflow).toContain("pnpm install --frozen-lockfile");
expect(workflow).toContain("SKIP_ENV_VALIDATION=1"); expect(workflow).toContain("SKIP_ENV_VALIDATION=1");
}); });