[codex] Fix TypeScript build cache flake#273
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude finished @blove's task in 2m 20s —— View job PR Review: Fix TypeScript build cache flakeTasks:
SummaryThis PR correctly identifies and fixes a real source of CI flakiness. The root cause analysis is sound: The validation script and CI guard are a good defense-in-depth addition. FindingsCorrectnessAll 13 emitting packages updated correctly. Every package with
Observations on
|
|
Claude finished @blove's task in 1m 47s —— View job PR Review: Fix TypeScript build cache flakeTasks:
SummaryThe root cause analysis is correct and the fix is sound. CorrectnessAll 13 emitting tsconfigs updated correctly. Every package with CLI split handled correctly.
Script analysis (
|
|
Claude finished @blove's task in 1m 37s —— View job PR Review: Fix TypeScript build cache flakeTasks:
SummaryThe fix is correct and well-scoped. The root cause (Turbo evicting Verified:
Findings
|
Summary
distoutput directoriestsBuildInfoFileunderdistand confirms Turbo cachesdist/**ci:validatescript beforepnpm buildRoot cause
tsc -bwas writingtsconfig.tsbuildinfonext to each package tsconfig, while Turbo only cached/restoreddist/**. Ifdistdisappeared but the root-level.tsbuildinfosurvived, TypeScript considered@dawn-ai/sdkup to date and emitted no declarations.@dawn-ai/corethen ran after the SDK task, butpackages/sdk/dist/index.d.tswas still missing, causing the intermittent TS2307 cascade.Putting build-info files in
distmakes declarations and TypeScript incremental state share the same lifecycle: clean, cache restore, and cache eviction now move them together.Validation
pnpm check:build-cachepnpm lintrm -rf packages/*/dist packages/*/*.tsbuildinfo apps/web/.next examples/chat/web/.next && pnpm buildpnpm build(warm cache, 17/17 cached)packages/sdk/tsconfig.tsbuildinfo, deleted SDK/coredist,turbo run build --filter=@dawn-ai/core --force --concurrency=10dist,turbo run build --filter=@dawn-ai/core --concurrency=10pnpm typechecknode scripts/check-changesets.mjs(skipped: no user-facing changes)