Skip to content

full-test: the driver's proof skips the regen check its build already made; regen beside the shards; 4 Chrome shards - #204

Merged
thejackshelton merged 12 commits into
masterfrom
fulltest-no-regen
Oct 6, 2026
Merged

thejackshelton merged 12 commits into
masterfrom
fulltest-no-regen

Conversation

@thejackshelton

Copy link
Copy Markdown
Contributor

What changed:

  • full-test.yml:
    • regen input (boolean, default true). regen-chrome and regen-host run only when it is true or the run is not a dispatch, so a manual dispatch and a fulltest label run still check regen. The landing driver dispatches with regen=false (scripts/land-devices-ci.ts fullTestWorkflow).
    • Regen beside the shards: where the regen jobs still run, they need only resolve, not the Chrome shards. With the 4 Chrome shards, one of the 6 macOS jobs then waits for the free plan's 5.
    • 4 Chrome shards (was 3), with the summary expecting all four reports.
  • scripts/test-durations.json: refreshed from runs 37399249352 and 37400820763 (231 files).

Why skipping regen is safe for the driver: buildPosition runs pnpm regen on every position it proves, and scripts/land.ts fails the build unless it exits 0. regen exits 0 only at a fixed point, a pass that changes nothing (MAX_PASSES 5, else "no fixed point"). The driver then runs the device lanes and pnpm regen again, to its fixed point, and commits the outcome. The regen-only check then confirms that commit holds only regen outputs. So the tree it proves is a fixed point by construction. The workflow's split regen --check would only re-prove that, with the same cache semantics and on the same toolchains.

Measured wall time of a land-test proof (dispatch to run completed):

run regen Chrome shards wall time note
37396636952 (before) after the summary 3 30.5 min summary at 11.9 min, regen-chrome to 30.5
37397958092 (before) after the summary 3 24.7 min summary at 11.4 min
37399249352 (before) after the summary 3 ~14+ min regen-host still running at 13.7 min
37400820763 (after) skipped 4 10.5 min durations still master's (the run tests master's tree), so the shards were unbalanced: one at 10 min, three at 5.5–6.5
37402753106 (after, this branch's tree) skipped 4 11.9 min Chrome shards 5.1, 5.5, 6.0, 11.3 min; native 5.5–6.7; platform-free 3.3
  • Target ≤ 12 min: met, but only just.
  • The long pole now: Chrome shard 1, held by tailwind-sweep/sweep.test.ts alone, 300–414 s depending on what shares its runner. A shorter proof needs that file split (REGEN-SPEED/SLOW-SPLIT) or a fifth Chrome shard (the whole macOS cap).

What passed:

  • pnpm typecheck passed.
  • vitest run land-devices-ci test-shards land passed (112 tests).
  • A new test checks:
    • the driver dispatches with regen=false;
    • the workflow declares the input with default true;
    • both regen jobs need only resolve and run only when the input allows.
  • actionlint is clean. Both dispatch runs above passed: 231 files, summary success.

🤖 Generated with Claude Code

…ild already regenerated the tree); regen jobs beside the shards; 4 Chrome shards; durations from run 37399249352
…l), strict otherwise; a device failure is a judge-devices problem with a count per case and its first details, not a driver error (#91)
…s; MQ-PREF is MQ-R2 and waits for MQ-R1 runtime and PNT1
… Chrome-proven outline geometry; a1 web, a2 native, unstacked)
…grew 1 MiB: spawnSync git ENOBUFS failed the landing proof)
@thejackshelton
thejackshelton merged commit 921b250 into master Oct 6, 2026
5 checks passed
@thejackshelton
thejackshelton deleted the fulltest-no-regen branch October 6, 2026 03:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant