Public: anyone can read this; the crew can change it.
Sentinel: red:01m23vygyffx5hg2f5vm8r74sr was degraded 10 minutes today: trevato/forge: main is red at 9927fdd — error TS5033: Could not write file '.forge-cache/tsc.tsbuildinfo': ENOENT: no s… #1914
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/1881-sentinel-red-01m23vygyffx5hg2f5vm8r74sr → main 6 commits fork 2 threads · 2 unresolved
3 files
changed +8
−3
README.md +3 −1
| @@ -712,7 +712,9 @@ across how many files, in how long, then the slowest and fastest shard. | ||
| 712 | 712 | The check's first step is the gate-list audit (`bun scripts/gate.ts`), so a |
| 713 | 713 | test file listed in neither `GATE` nor `EXCLUDED` fails in under a second, |
| 714 | 714 | before install-heavy work. `tsc` then runs `--incremental` with a 2 GB heap, |
| 715 | its build info in `.forge-cache/`. It is TypeScript 7, the native compiler (a | |
| 715 | its build info in `.forge-cache/` (made first with `mkdir -p`: tsc will not | |
| 716 | create the directory, and a checkout with no restored cache failed on it, | |
| 717 | #1881). It is TypeScript 7, the native compiler (a | |
| 716 | 718 | Go binary, so the bound is `GOMEMLIMIT=2GiB`): on this tree a cold check is |
| 717 | 719 | ~3 s and ~17 CPU-s where 5.9 took ~30 s and ~50 CPU-s (#1864). 5.9 stays as |
| 718 | 720 | the dev dependency `typescript-api` only because `scripts/hollow.ts` walks |
forge.json +2 −2
| @@ -14,8 +14,8 @@ | ||
| 14 | 14 | } |
| 15 | 15 | }, |
| 16 | 16 | "check": { |
| 17 | "fast": "bun scripts/gate.ts && GOMEMLIMIT=2GiB ./node_modules/typescript/bin/tsc --noEmit --incremental --tsBuildInfoFile .forge-cache/tsc.tsbuildinfo && bun scripts/test-shards.ts --timeout 60000 --tier fast --diff $FORGE_CHECK_BASE..HEAD --learned \"$FORGE_CHECK_LEARNED\"", | |
| 18 | "run": "bun scripts/gate.ts && GOMEMLIMIT=2GiB ./node_modules/typescript/bin/tsc --noEmit --incremental --tsBuildInfoFile .forge-cache/tsc.tsbuildinfo && bun scripts/test-shards.ts --timeout 60000 --gate --impact", | |
| 17 | "fast": "bun scripts/gate.ts && mkdir -p .forge-cache && GOMEMLIMIT=2GiB ./node_modules/typescript/bin/tsc --noEmit --incremental --tsBuildInfoFile .forge-cache/tsc.tsbuildinfo && bun scripts/test-shards.ts --timeout 60000 --tier fast --diff $FORGE_CHECK_BASE..HEAD --learned \"$FORGE_CHECK_LEARNED\"", | |
| 18 | "run": "bun scripts/gate.ts && mkdir -p .forge-cache && GOMEMLIMIT=2GiB ./node_modules/typescript/bin/tsc --noEmit --incremental --tsBuildInfoFile .forge-cache/tsc.tsbuildinfo && bun scripts/test-shards.ts --timeout 60000 --gate --impact", | |
| 19 | 19 | "timeout": 7200, |
| 20 | 20 | "limits": { |
| 21 | 21 | "memory": 8192, |
test/shards.test.ts +3
| @@ -516,6 +516,9 @@ describe("the gate audit alone, first in the check", () => { | ||
| 516 | 516 | // TypeScript 7 (#1864): a Go binary, so its heap bound is GOMEMLIMIT, not node's. |
| 517 | 517 | expect(command).toContain(" && GOMEMLIMIT=2GiB ./node_modules/typescript/bin/tsc --noEmit "); |
| 518 | 518 | expect(command.indexOf("scripts/gate.ts")).toBeLessThan(command.indexOf("bin/tsc")); |
| 519 | // tsc will not create its build-info directory (#1881): a checkout with no restored cache failed TS5033. | |
| 520 | expect(command).toContain(`mkdir -p ${CHECK_CACHE} && `); | |
| 521 | expect(command.indexOf(`mkdir -p ${CHECK_CACHE}`)).toBeLessThan(command.indexOf("bin/tsc")); | |
| 519 | 522 | expect(command).toContain(`--incremental --tsBuildInfoFile ${CHECK_CACHE}/tsc.tsbuildinfo`); |
| 520 | 523 | } |
| 521 | 524 | }); |
new above
offline
Correct place (after gate.ts, before tsc). Needs a test that fails without it: assert mkdir -p precedes bin/tsc in both run and fast, in test/shards.test.ts.