Skip to content

perf(ci): reuse test archives and parallelize CI checks - #2986

Draft
fengmk2 wants to merge 9 commits into
mainfrom
perf/ci-test-scheduling
Draft

fengmk2 wants to merge 9 commits into
mainfrom
perf/ci-test-scheduling

Conversation

@fengmk2

@fengmk2 fengmk2 commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Platform checks delay test builds, and snapshots wait for unrelated compilation. Run platform checks independently and build the Windows snapshot archive separately. The final CI gate still requires every check.

Split Windows unit tests across three runners and keep three snapshot runners per platform. Run each repository-install check in a separate job. Each repository still receives an initial install and a cached second install. These changes add parallel jobs.

Reuse Windows test archives and complete Unix CLI test archives when their inputs match. Cache hits skip toolchain setup and compilation. Snapshot utility tests and all consumer suites still run. Include the embedded Vitest entry-point map in the native cache key.

Cache Cargo dependencies for the musl job. Install GNU tar and zstd so the cache action can save its archive. Use one workspace entry for the shared target/ directory. Save this cache only on main.

These full CI runs compare this PR at 18f3f9fa7 with the workflow from main at 205cfaba2.
Both variants use identical product source, runner profiles, and six fixed install repositories.
Shared browser fixtures select available API ports. The benchmark source references record this setup.

Each variant has one complete cold run. Both runs bypass configured caches, save no caches, and execute the same snapshot cases.
Warm-cache measurements are incomplete. Required cache entries disappeared before measurement, and the strict cache checks rejected both attempts.
The repository has a 10 GB cache limit. Failed runs contribute no timing results.

Elapsed time includes queueing, setup, tests, and final checks.

Cache Before After Change
Cold 15m58s 19m11s 🔴 ↑3m13s (20.1%)

This pair shows no cold-cache improvement. The Windows native build took 11m13s before and 12m27s after.
Its MSVC download took 3m43s before and 5m41s after. Windows snapshot execution and queueing also took longer.
Splitting Windows jobs also increases MSVC downloads from two to four when caches are empty.
The snapshot commands and runner profile are identical. This pair does not establish the cause of their longer execution time.

Total runner time sums all job durations. Parallel jobs count separately.

Cache Runner time before Runner time after Change
Cold 97m36s 109m02s 🔴 ↑11m26s (11.7%)

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://perf-ci-test-scheduling-viteplus-dev.voidzero-docs.workers.dev (commit 18f3f9f)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://1bdeac52-viteplus-dev.voidzero-docs.workers.dev 18f3f9f 2026-10-13T00:36:11.890Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://7051297a-viteplus-dev.voidzero-docs.workers.dev 429f1c6 2026-10-12T10:12:51.478Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://db5dee90-viteplus-dev.voidzero-docs.workers.dev d48fba7 2026-10-12T05:48:18.117Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://9caa3dd2-viteplus-dev.voidzero-docs.workers.dev ffa489b 2026-10-12T05:27:48.073Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://3bfe6103-viteplus-dev.voidzero-docs.workers.dev 4f19531 2026-10-12T04:20:19.355Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://0773c297-viteplus-dev.voidzero-docs.workers.dev 72d633e 2026-10-12T02:49:42.608Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://3e57b719-viteplus-dev.voidzero-docs.workers.dev 416cba8 2026-10-11T03:11:08.164Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://8fa0b938-viteplus-dev.voidzero-docs.workers.dev a3c169b 2026-10-11T02:31:28.404Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://086ee4f9-viteplus-dev.voidzero-docs.workers.dev dd6039f 2026-10-11T02:23:24.511Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://342e00f6-viteplus-dev.voidzero-docs.workers.dev 00c7c45 2026-10-11T02:12:59.061Z Visit the dashboard ↗

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

CLI artifact sizes (18f3f9f)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.
The dist rows use the Linux build. The core total excludes .node files to match the release artifact.

Artifact Format Base PR Change
packages/cli/dist Directory total 2.08 MiB 2.08 MiB 0 B (0.00%)
packages/core/dist Directory total 4.08 MiB 4.08 MiB 0 B (0.00%)
Combined package dist Directory total 6.16 MiB 6.16 MiB 0 B (0.00%)
vp (Linux x64) Binary 11.42 MiB 11.42 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.94 MiB 4.94 MiB 0 B (0.00%)
NAPI (Linux x64) Binary 32.79 MiB 32.79 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 13.03 MiB 13.03 MiB 0 B (0.00%)
vp (macOS ARM64) Binary 8.50 MiB 8.50 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.31 MiB 4.31 MiB 0 B (0.00%)
NAPI (macOS ARM64) Binary 40.24 MiB 40.24 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 17.30 MiB 17.30 MiB 0 B (0.00%)
vp (Windows x64) Binary 9.29 MiB 9.29 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 4.05 MiB 4.05 MiB 0 B (0.00%)
NAPI (Windows x64) Binary 27.66 MiB 27.66 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 11.11 MiB 11.11 MiB -8 B (-0.00%)
Trampoline (Windows x64) Binary 13.50 KiB 13.50 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.09 KiB 7.09 KiB -1 B (-0.01%)
Installer (Windows x64) Binary 4.63 MiB 4.63 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.17 MiB 2.17 MiB +1 B (+0.00%)

@fengmk2 fengmk2 changed the title perf(ci): shorten test scheduling and cache musl builds perf(ci): reuse test archives and parallelize CI checks Oct 12, 2026
@fengmk2
fengmk2 added this pull request to stack #3007 October 12, 2026 09:16

This branch has not been deployed

No deployments
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