Repository navigation
ci(ts): translate moq-net in the merge gate - #548
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 25 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. CodeRabbit Verify
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — read the full diff against main, and verified every recipe, scope-map, and workflow claim in the PR body against the source.
- Merge queue gets the translation:
test_ts()insh/dispatch.shrunsjust ts moqbeforejust ts test, so anyts/ordriver/diff translates moq-net at the pin and type-checks it injust ci, ending the nightly-only blind spot that let #519's panic through. - Nightly stops duplicating it:
nightly.yml'stsjob drops its separate Translate step, sincejust gateruns every module unchanged, and the job is renamedts/TypeScript packagewhile keeping the flake build and the sysroot-less fixtures. - Quest closed:
quest/m0/ts-moq-gate.mdis deleted and its entry removed fromquest/m0/README.md, with no stale references left anywhere.
Verified against the source: the scope map selects the ts module for ^(ts|driver)/ diffs (the exact #519 class), just ts check already runs moq-pin so the checkout is warm when test_ts runs, the new multiline function body matches the existing shfmt style, and just gate feeds dispatch.sh ci --all through the same test_ts. The measured costs are consistent with the recipes: tsc -p "$out" reuses the driver's dev build that just ts test keeps warm. Merge-queue checks were still skipping at review time, so just ci's green here rests on the body's local run.
glm-5.3-flash | 𝕏

Problem
Only
nightly.ymlranjust ts moq, so moq-dev/rust2#519 landed a panic in moq-net's translation that a bench run found hours later (moq-dev/rust2#545 fixed it). moq is the driver's first consumer, and its translation is the one break the fixtures can only approximate.Approach
just ci's ts module runsjust ts moqbeforejust ts test. The ts module already runs for any change underts/ordriver/, andjust ts checkalready checks out the pin, so this adds building moq-net's dependencies through the driver, translating it, andtscon the output. It runs first since it is the cheaper of the two and shares the driver's dev build with the tests.nightly.ymldrops its separate Translate step, since itsjust gatenow covers it; the job keeps the flake build and the sysroot-less fixtures, renamedTypeScript package.quest/m0/ts-moq-gate.mdand deletes it.Measured in CPU seconds (user+sys) on the host, 32 cores, on #545's head:
just ts check, coldjust ts test, coldjust ts moqafter both (driver built, moq-net's deps cold)just ts moq, moq-net's deps cold, driver warmjust ts moq, warmjust ts census, warmThat is about 6% of a ts-only gate's cold ts module, and about 2% of the full gate's 65 CPU-minutes.
Impact
Public API: none.
Alternatives
just ts census: 5x the cost of the translation, for a report rather than a failure.ts/src,ts/runtime, orts/moq: saves 65 CPU-seconds only on fixture- or doc-only ts changes, for a second scope in the dispatch map.Follow-ups
None.
Checks
just ts moqpasses on fix(ts): erase a called function's late-bound regions before asking what its inputs hold #545's head, and fix(ts): erase a called function's late-bound regions before asking what its inputs hold #545 bisectedjust ts moqto fail on feat(ts): translate the rest of a trait object in a struct's last field #519.just cipasses on 96167f3, selecting every module.Review
Codex (
quest review), gpt-6.1-sol, medium effort, round 1 on head 96167f3: no findings.🤖 Generated with Claude Code