Skip to content

ci: run Vitest in parallel and stop PRs saving Windows caches - #16922

Merged
midleman merged 5 commits into
mainfrom
midleman/slow-unit-tests
Oct 27, 2026
Merged

midleman merged 5 commits into
mainfrom
midleman/slow-unit-tests

Conversation

@midleman

@midleman midleman commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Cuts unit-test wall clock by running Vitest beside the unit job and by freeing GitHub cache space that PRs were filling.

  • Vitest now runs as its own test / vitest job instead of adding ~10m to test / unit, which is renamed test / vscode (it runs VS Code's Mocha suites)
  • Windows e2e no longer saves caches from PRs (~1.8 GB per PR, readable only by that PR); merges still save
  • Windows uv, R, and Graphviz caches save from any non-PR run (merge and nightly), never from PRs
  • Background: the repo sits at the 10 GB cache limit, so the unit job reinstalled npm (~15m) on ~90% of sampled runs
Screenshot 2026-10-27 at 1 46 09 PM

Release Notes

New Features

  • N/A

Bug Fixes

  • N/A

Validation Steps

@:win

CI-only. Check that test / vscode and test / vitest both pass, and that Windows e2e shard 1 skips its "Save caches", "Save Python packages cache", "Save R packages cache", and "Save Graphviz cache" steps.

…aches

Vitest only needs node_modules, so it now runs as its own job instead of
adding ~10m to the unit job's critical path.

Windows e2e saved caches on PR refs (~1.8 GB per PR), which only that PR
can read and which evict main's npm caches from the 10 GB repo limit.
PRs now restore only; test-merge.yml still saves.
@midleman midleman changed the title CI: run Vitest in parallel and stop PRs saving Windows caches ci: run Vitest in parallel and stop PRs saving Windows caches Oct 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

E2E Tests 🚀
This PR will run tests tagged with: @:critical @:win

Why these tags?
Tag Source
@:critical Always runs (required)
@:win PR description

More on automatic tags from changed files.

Test count: Linux: 62 tests, Windows: 49 tests.

readme  valid tags

…es, fix timeouts

- Add vitest to the notify filter_jobs regex in test-merge and test-full-suite
- Windows e2e: save uv/R/Graphviz caches on any non-PR run (restores nightly saves); Graphviz no longer saves from PRs
- Unit job timeout 65m with an accurate comment; vitest job 70m to fit an install retry
Bare and runtime-only tests no longer import the workbench module graph.
Presets load in beforeAll so their module-level singletons are created
before leak tracking starts.
It runs VS Code's Mocha suites; Vitest now has its own job.
@midleman
midleman marked this pull request as ready for review October 27, 2026 18:47

@jonvanausdeln jonvanausdeln left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@midleman
midleman merged commit c85b40e into main Oct 27, 2026
41 of 45 checks passed
@midleman
midleman deleted the midleman/slow-unit-tests branch October 27, 2026 20:15
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 27, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants