Skip to content

ci: speed up Windows node checks - #316

Draft
kmbroai wants to merge 8 commits into
mainfrom
dev/kyleb/windows-ci-speed
Draft

ci: speed up Windows node checks#316
kmbroai wants to merge 8 commits into
mainfrom
dev/kyleb/windows-ci-speed

Conversation

@kmbroai

@kmbroai kmbroai commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Split each Windows Node lane into seven isolated Bun shards plus a package-verification job, while retaining the original windows-latest / node-22 and windows-latest / node-24 aggregate check names.
  • Preserve every Windows test: the runner discovers every tests-ts/*.test.ts file, asserts complete assignment, and uses complementary filters only to divide the oversized api.test.ts file.
  • Move typecheck and formatting onto the lightest Windows shard so package smoke is no longer serialized behind unrelated static checks.
  • Replace the slow Windows pnpm action/cache path with an exact pnpm@11.9.0 install and avoid caches unused by test shards.
  • Reuse already-parsed npm tarball bytes for package payload checks instead of spawning tar -xOf per asset; keep both tar listings, archive validation, installed-package smoke, CLI smoke, and nested-worker smoke.

Timing

Baseline main run 31219820557:

  • Windows Node 22: 512s total, 349s Test, 59s Inspect package
  • Windows Node 24: 439s total, 315s Test, 43s Inspect package
  • Ubuntu Node 22: 109s total
  • Ubuntu Node 24: 117s total

Final PR run 31224054986:

  • Windows Node 22 critical path: 108s; slowest shard 106s
  • Windows Node 24 critical path: 112s; slowest shard 112s
  • Ubuntu Node 22: 128s
  • Ubuntu Node 24: 114s

Coverage

Final run 31224054986 on both Windows Node versions:

  • 934 pass, 53 platform skips, 0 fail
  • 987 tests across 41 files
  • Typecheck, formatting, build, pack, package inspection, installed-package smoke, CLI smoke, and nested-worker smoke all pass

Test plan

  • pnpm --dir sdk/typescript run types
  • pnpm --dir sdk/typescript run format
  • Default full suite under the sandbox ownership normalizer: 979 pass, 10 skip, 0 fail; 989 tests across 41 files in 77.47s
  • Windows shard runner under the same normalizer: 979 pass, 10 skip, 0 fail; 989 tests across 41 files in 41.20s
  • pnpm --dir sdk/typescript run build
  • pnpm --dir sdk/typescript pack --pack-destination /tmp/codex-security-dist
  • node sdk/typescript/scripts/check-package.mjs /tmp/codex-security-dist/openai-codex-security-0.1.7.tgz
  • GitHub Actions run 31224054986

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