Skip to content

ci: route build IO through Dev Drives - #31357

Merged
anp-oai merged 5 commits into
mainfrom
codex/dev-drive-io-routing
Jul 8, 2026
Merged

ci: route build IO through Dev Drives#31357
anp-oai merged 5 commits into
mainfrom
codex/dev-drive-io-routing

Conversation

@anp-oai

@anp-oai anp-oai commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Why

Windows Cargo and Bazel jobs spend significant time in filesystem-heavy build and cache directories. Route those directories through one CI build root so Windows can use its Dev Drive and Unix can use a stable cache root.

What

  • Have setup-ci define CI_BUILD_ROOT, CARGO_TARGET_DIR, Bazel cache/output paths, and temp paths.
  • Require Windows to find or provision a verified Dev Drive instead of falling back to C:.
  • Pass the shared Bazel output base to setup-bazel so its explicit output_base does not defeat Dev Drive routing.
  • Point nextest, release, and V8 source-build paths at the shared environment contract.

Benchmark results

One-off cold-cache WPR/ETW traces show the explicit Bazel output-base routing removes the dominant C: traffic:

sample C:\_bazel summed C: traffic traced test step
shard 1 before 62.2 GiB 85.2 GiB 16m22s
shard 1 updated 0 16.5 GiB 12m05s
shard 3 before 67.2 GiB 84.6 GiB 16m48s
shard 3 updated 0 13.5 GiB 11m08s

For a cold x64 V8 source build, the retained build-tail sample showed D:\cargo-target at ~1.29 GiB while measured C: roots totaled ~0.45 GiB (C:\Users ~0.33 GiB, C:\Program Files ~0.06 GiB, C:\Windows ~0.03 GiB). The full cold build took 2h20m36s.

The Bazel timing improvement is directional because both refreshed shards failed tests. The V8 trace is a bounded build-tail sample, not the full build. All final samples had zero lost ETW events; VHDX traffic was excluded from the optimization ranking.

Runs: baseline Bazel, updated Bazel, V8 build tail.

Manual validation

  • Ran just fmt.
  • Ran just test-github-scripts (35 tests).
  • Parsed GitHub Actions YAML with yq.
  • Ran git diff --check.

Stack

  • #31332 — parameterize Cargo target paths
  • #31356 — Windows 2025 runner bump
  • #31357 — Dev Drive I/O routing

@anp-oai
anp-oai force-pushed the codex/dev-drive-windows-2025 branch from 2a2c345 to 251e09b Compare July 7, 2026 04:42
@anp-oai
anp-oai force-pushed the codex/dev-drive-io-routing branch from 7163e06 to 1c3f5f3 Compare July 7, 2026 04:44
Comment thread .github/actions/setup-ci/action.yml Outdated
Comment thread .github/actions/setup-ci/action.yml Outdated
Comment thread .github/workflows/v8-canary.yml Outdated
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/dev-drive-windows-2025 branch from 251e09b to 088856e Compare July 7, 2026 06:18
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/dev-drive-io-routing branch from 1c3f5f3 to c33c58b Compare July 7, 2026 06:20
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/dev-drive-windows-2025 branch from 088856e to 1bb73d7 Compare July 7, 2026 18:43
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/dev-drive-io-routing branch from c33c58b to b651571 Compare July 7, 2026 18:43
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/dev-drive-io-routing branch from b651571 to 9a9175f Compare July 7, 2026 18:54
anp-oai added a commit that referenced this pull request Jul 7, 2026
anp-oai added a commit that referenced this pull request Jul 8, 2026
## Why

Prepare CI jobs for a later build-output relocation without changing
where they write today.

## What

- Export `CARGO_TARGET_DIR` from `setup-ci` at the existing
`codex-rs/target` path.
- Route nextest, release, artifact, and signing paths through
`CARGO_TARGET_DIR`.
- Require V8 staging callers to pass an explicit target directory while
preserving the existing upstream path.

## Manual validation

- Ran `just test-github-scripts`.
- Parsed GitHub Actions YAML with `yq`.

## Stack

- [#31332](#31332) — parameterize
Cargo target paths
- [#31356](#31356) — Windows 2025
runner bump
- [#31357](#31357) — Dev Drive I/O
routing
@anp-oai
anp-oai force-pushed the codex/dev-drive-windows-2025 branch from 5daeb21 to 97b4767 Compare July 8, 2026 00:03
anp-oai added a commit that referenced this pull request Jul 8, 2026
@anp-oai
anp-oai force-pushed the codex/dev-drive-io-routing branch from 9a9175f to f245102 Compare July 8, 2026 00:04
anp-oai added a commit that referenced this pull request Jul 8, 2026
## Why

The V8 Windows source jobs need a runner image that can support the
later Dev Drive setup.

## What

Move the two V8 Windows source-build matrix entries from `windows-2022`
to `windows-2025`.
Namespace the canary source-build cache by runner image so it cannot
restore Windows 2022 native outputs.

## Manual validation

- Ran `just fmt`.
- Ran `just test-github-scripts` (33 tests).
- Parsed GitHub Actions YAML with `yq`.
- Ran `git diff --check`.

## Stack

- [#31332](#31332) — parameterize
Cargo target paths
- [#31356](#31356) — Windows 2025
runner bump
- [#31357](#31357) — Dev Drive I/O
routing
Base automatically changed from codex/dev-drive-windows-2025 to main July 8, 2026 01:12
anp-oai added a commit that referenced this pull request Jul 8, 2026
@anp-oai
anp-oai force-pushed the codex/dev-drive-io-routing branch from f245102 to 3b99045 Compare July 8, 2026 01:15
anp-oai added a commit that referenced this pull request Jul 8, 2026
anp-oai added a commit that referenced this pull request Jul 8, 2026
@anp-oai
anp-oai marked this pull request as ready for review July 8, 2026 18:11
@anp-oai
anp-oai force-pushed the codex/dev-drive-io-routing branch from 02ff4e3 to c3d96ee Compare July 8, 2026 18:11
@anp-oai

anp-oai commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c3d96ee6d3

ℹ️ 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".

Comment thread .github/actions/setup-ci/action.yml
Comment thread .github/actions/setup-ci/action.yml
Comment thread .github/actions/setup-ci/action.yml
@anp-oai

anp-oai commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dedbddbecd

ℹ️ 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".

Comment thread scripts/test-remote-env.sh Outdated
@anp-oai
anp-oai merged commit bd5c860 into main Jul 8, 2026
47 checks passed
@anp-oai
anp-oai deleted the codex/dev-drive-io-routing branch July 8, 2026 21:06
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 8, 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