ci: parallelize Node tests on ubuntu, single Node 24 on macOS/windows#8570
ci: parallelize Node tests on ubuntu, single Node 24 on macOS/windows#8570
Conversation
Replace sequential Node version test blocks with a matrix strategy in both reusable-node-test and reusable-node-dev-server-test workflows. Each Node version now runs as a separate parallel job, reducing wall-clock time on the critical path (especially Windows dev-server-test). Tradeoff: 3x CI runner minutes per workflow, but significantly reduced wall-clock time. Closes #8553 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
✅ Deploy Preview for rolldown-rs canceled.
|
There was a problem hiding this comment.
Pull request overview
This PR optimizes CI wall-clock time by converting the Node 20/22/24 test execution in the reusable Node workflows from sequential steps into a parallel strategy.matrix, while keeping the rollup pass-diff behavior aligned with the previous ordering (only Node 24 performs the pass-diff check).
Changes:
- Parallelize Node 20/22/24 in
reusable-node-testusing a matrix job name and a single shared step set. - Parallelize Node 20/22/24 in
reusable-node-dev-server-testusing the same matrix strategy. - Preserve rollup
SKIP_PASS_DIFFsemantics so the pass-diff check only runs on Node 24.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/reusable-node-test.yml | Replaces sequential Node 20/22/24 blocks with a matrix and gates rollup pass-diff to Node 24. |
| .github/workflows/reusable-node-dev-server-test.yml | Replaces sequential Node 20/22/24 dev-server test blocks with a matrix. |
…e job - Remove setup-rust from reusable-node-test and reusable-node-dev-server-test workflows since no step uses Rust or just tooling - Extract Type Check and Node Type Test into a standalone job in ci.yml that runs once on ubuntu instead of 9 times across the matrix Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7098944cd6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ndows Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
## [1.0.0-rc.8] - 2026-03-09 ### 🚀 Features - watch: enable full functional fs watcher in wasm (#8575) by @hyf0 - watch: expose debounce related options (#8572) by @hyf0 ### 🐛 Bug Fixes - detect new URL(…, import.meta.url) with no-sub template literal (#8565) by @char - devtools: trace dynamic imports in devtools (#8581) by @cal-gooo - watch: rebuild when a previously missing file is created (#8562) by @hyf0-agent - watch: filter out Access events to prevent infinite rebuild loop on Linux (#8557) by @hyf0-agent ### 🚜 Refactor - watch: remove auto watch for fail imports (#8585) by @hyf0 - fs_watcher: unify the way of constructing watcher (#8571) by @hyf0 - cli: migrate CLI to CAC (#8551) by @h-a-n-a - switch asset module support from hard-code to builtin plugin (#8546) by @hyf0 ### 📚 Documentation - fix subject-verb agreement in why-bundlers.md (#8591) by @brandonzylstra - maintenance: align release and canary workflow guide (#8538) by @minsoo-web - add `format` option to directives example config (#8590) by @shulaoda - fix: change twitter to x logo in team (#8552) by @mdong1909 - correct composable filter support explanation (#8550) by @sapphi-red ### ⚡ Performance - testing: share tokio runtime across fixture tests (#8567) by @Boshen ### 🧪 Testing - hmr: fix infinite loop in dev server test retry logic (#8576) by @hyf0-agent - cli: add more cli-e2e test cases (#8548) by @h-a-n-a ### ⚙️ Miscellaneous Tasks - docs: update in-depth/directives for `output.strict` option (#8535) by @minsoo-web - add PNPM_HOME Dev Drive mapping to Windows CI workflows (#8589) by @Boshen - deps: update github-actions (#8588) by @renovate[bot] - move Windows cargo target dir to Dev Drive (#8586) by @Boshen - optimize cache keys to fix race conditions and reduce usage (#8578) by @Boshen - remove WASI build & test pipeline (#8580) by @Boshen - remove unnecessary submodule checkouts (#8577) by @Boshen - use Dev Drive for Windows CI jobs (#8574) by @Boshen - skip redundant native binding build for browser and remove standalone job (#8573) by @Boshen - parallelize Node tests on ubuntu, single Node 24 on macOS/windows (#8570) by @Boshen - docs: bump @voidzero-dev/vitepress-theme to 4.8.0 (#8558) by @crusty-voidzero - dedupe type-check from dev server workflow (#8554) by @Boshen ### ❤️ New Contributors * @brandonzylstra made their first contribution in [#8591](#8591) * @char made their first contribution in [#8565](#8565) * @cal-gooo made their first contribution in [#8581](#8581) * @hyf0-agent made their first contribution in [#8562](#8562) * @h-a-n-a made their first contribution in [#8551](#8551) Co-authored-by: shulaoda <165626830+shulaoda@users.noreply.github.com>
Summary
reusable-node-testandreusable-node-dev-server-testworkflowsRelated #8553
🤖 Generated with Claude Code