Skip to content

CI: shard the full suite, never cancel main runs, nightly at 03:00 UTC - #38

Open
ankurmans wants to merge 1 commit into
mainfrom
ci/shard-tests-and-nightly
Open

ankurmans wants to merge 1 commit into
mainfrom
ci/shard-tests-and-nightly

Conversation

@ankurmans

Copy link
Copy Markdown
Owner

Runs the whole suite in four parallel shards (node --test-shard) on pull requests that need it and on the push and nightly runs, so a run takes the time of one shard instead of the whole suite. Before: 53 minutes for a pull request that ran everything (PR 36), 100 to 131 minutes for the nightly, 35 minutes for the test step. After: measured on this pull request's own run, which changes .github/ and so runs everything.

  • Jobs: lint, plan, test-subset, test (four shards), build, and check, the one name to require (green when every job passed or was skipped on purpose). Push and nightly runs: lint, build, full-suite (four shards) and test-map, which joins the shards' notes and caches the map. Nothing waits for the tests there, as before.
  • Concurrency: a new push cancels the older run of a pull request; runs on main (push, nightly, manual) are never cancelled. The group includes the event and, on main, the commit, so a nightly can't queue a push and two pushes don't replace each other.
  • Triggers: push only on main (as before). The nightly moves from 05:00 to 03:00 UTC.
  • No paths-ignore for markdown: tests read docs, READMEs and AGENTS.md as text, so skipping the workflow would skip checks. scripts/affected-tests.mjs already runs only the tests that read a changed document, none for one nothing reads.
  • Nothing installs system packages or uses sudo; setup-node caches npm. No check was weakened or removed.

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