Skip to content

CI: three test shards per OS from measured weights; Chrome tests share a browser - #503

Merged
raiseCatError merged 2 commits into
devfrom
ci/v024-test-shards
Oct 22, 2026
Merged

raiseCatError merged 2 commits into
devfrom
ci/v024-test-shards

Conversation

@raiseCatError

@raiseCatError raiseCatError commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Why

Hosted test shards ran 8–10 minutes against their 10-minute cap; PR #502's Ubuntu 2/2 shard was cancelled and so was macOS 2/2 of the dev push for 47339ff (so that dev tip has no green run yet).

Diagnosis

  • Not Mermaid: shards were already 7.5–9.7 min on 2026-10-21 (a macOS shard hit the cap on e0521eb, before Mermaid diagrams in Markdown (#462): installed Mermaid in an isolated, script-free, offline Chromium page #502).
  • Imbalance: weights in scripts/test-selection.mjs dated from 2026-10-04. Files added since default to weight 1 even when they take 30–120 s (browserEngineChrome 121 s on macOS, inputOwnershipLive 46 s, arcadeBackgroundLive 52 s, queuePreviewLive 33 s…), and several old weights were 3–4× low (startupDiscovery 22 → 87, copySelectionLive 13 → 51).
  • Repeated heavyweight setup: every browserEngineChrome test (17) and diagramsChrome test (8) launched its own Chromium.
  • Legitimate growth: about 2,000 s of summed test time per OS now.

Changes

  • Weights re-measured from run 39756506927's per-test durations, attributed to files (slower of macOS/Ubuntu).
  • sharedLab(): one browser per file for tests about pages; the launch, idle-shutdown and crash tests keep a fresh browser. Locally both files: 36 s (Mermaid tests skipped) → 22 s (all 23 running).
  • Three shards per OS. Measured on this PR: test steps 4.9–6.6 min (were 7.4–9.4), whole jobs 6.0–7.8 min. The job cap goes from 10 to 12 minutes, about 1.5× the slowest job, so a slow macOS runner passes and a hang still fails. Per-test --test-timeout=120000 is unchanged and no test is weakened or skipped.
  • docs/development-verification.md updated. Only Verify (22.x)/Verify (26.x) are required checks, so renaming the shard jobs is safe.

Verification

testSharding passes; build passes; both Chrome files pass locally with a real Chrome and Mermaid 12.2.0. This PR's own CI measures the new shard times.

…e one browser per file

Hosted test shards had grown to 8-10 minutes against their 10-minute cap (one shard of the dev push for 47339ff was
cancelled). The growth predates Mermaid: browser, document and live files added since the 2026-10-04 weights defaulted
to weight 1, and several old weights were 3-4x low. Weights now come from the CI logs' per-test durations, the Chrome
tests launch one browser per file except the launch, idle and crash tests, and the matrix runs three shards per OS so
each lands near five minutes under the unchanged 10-minute cap.
@raiseCatError
raiseCatError deleted the ci/v024-test-shards branch October 22, 2026 10:54
@raiseCatError
raiseCatError restored the ci/v024-test-shards branch October 22, 2026 10:54
@raiseCatError raiseCatError reopened this Oct 22, 2026
@raiseCatError
raiseCatError merged commit c3ef6f6 into dev Oct 22, 2026
17 checks passed
@raiseCatError
raiseCatError deleted the ci/v024-test-shards branch October 22, 2026 10:54
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