Skip to content

Fan out rust-ci-full nextest by platform#23358

Merged
starr-openai merged 11 commits into
mainfrom
starr/rust-ci-full-platform-fanout-20260517
May 20, 2026
Merged

Fan out rust-ci-full nextest by platform#23358
starr-openai merged 11 commits into
mainfrom
starr/rust-ci-full-platform-fanout-20260517

Conversation

@starr-openai
Copy link
Copy Markdown
Contributor

@starr-openai starr-openai commented May 18, 2026

Why

rust-ci-full was paying the full Cargo nextest build-and-run cost once per platform, with Windows ARM64 as the long pole. This change moves the heavy work into one reusable per-platform flow: build a nextest archive once, then replay it across four shards so the platform lane spends less time running tests serially. For Windows ARM64, the archive is cross-compiled on Windows x64 and replayed on native Windows ARM64 shards so the slow ARM64 machine is used for execution rather than compilation.

What changed

  • split the rust-ci-full nextest matrix into five explicit per-platform reusable-workflow calls
  • add .github/workflows/rust-ci-full-nextest-platform.yml to build one archive, upload timings/helpers, replay four nextest shards, upload per-shard JUnit, and roll the shard status back up per platform
  • add Windows CI helpers for Dev Drive setup and MSVC ARM64 linker environment export so the Windows ARM64 archive can be produced on Windows x64
  • keep the existing Cargo git CLI fetch hardening inside the reusable workflow, since caller workflow-level env does not flow through workflow_call
  • document the archive-backed shard shape in .github/workflows/README.md
  • raise the default nextest slow timeout to 30s so the sharded full-CI path does not treat every >15s test as stuck

Verification

  • validated the archive/shard flow with live GitHub Actions runs on this PR branch
  • Windows ARM64 cross-compile latency on completed runs:
  • comparable pre-cross-compile sharded Windows ARM64 runs were 55m01s, 50m21s, and 46m42s, so the completed cross-compile runs improved the lane by roughly 12m to 24m versus the prior range
  • latest corrected cross-compile run: https://github.com/openai/codex/actions/runs/26120777976
    • Windows ARM64 archive built successfully on Windows x64
    • native Windows ARM64 shards started immediately after the archive upload
    • 3/4 Windows ARM64 shards passed; the failing shard hit the same existing code_mode test failure seen outside this lane
  • downloaded failed-shard JUnit XML from the validation runs and confirmed the remaining red is from known test failures, not archive/shard wiring
  • no local Codex tests run per repo guidance

Notes

  • this PR does not change developers.openai.com documentation

@starr-openai starr-openai force-pushed the starr/rust-ci-full-platform-fanout-20260517 branch from 240ad00 to bfbec89 Compare May 19, 2026 04:45
@starr-openai starr-openai marked this pull request as ready for review May 19, 2026 23:18
Comment thread .github/actions/setup-msvc-env/action.yml
Comment thread .github/workflows/rust-ci-full-nextest-platform.yml
Comment thread .github/workflows/rust-ci-full-nextest-platform.yml
@starr-openai starr-openai merged commit 64ef6cd into main May 20, 2026
31 of 32 checks passed
@starr-openai starr-openai deleted the starr/rust-ci-full-platform-fanout-20260517 branch May 20, 2026 00:54
@github-actions github-actions Bot locked and limited conversation to collaborators May 20, 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