[codex] Speed up local nextest runs - #26479
Merged
Merged
Conversation
anp-oai
commented
Jun 4, 2026
anp-oai
force-pushed
the
codex/local-nextest-profile
branch
2 times, most recently
from
June 4, 2026 23:47
7dac808 to
b5ce188
Compare
anp-oai
marked this pull request as ready for review
June 5, 2026 01:36
pakrym-oai
reviewed
Jun 5, 2026
anp-oai
force-pushed
the
codex/local-nextest-profile
branch
from
June 5, 2026 04:18
004ece0 to
0de53ff
Compare
bolinfest
approved these changes
Jun 5, 2026
bolinfest
reviewed
Jun 5, 2026
anp-oai
force-pushed
the
codex/local-nextest-profile
branch
from
June 9, 2026 19:16
0de53ff to
bfa7824
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
just testcurrently uses the CI-oriented nextest profile, which serializes app-server integration tests even on developer machines that can run several safely. Bounded local parallelism substantially shortens this common iteration loop without changing CI behavior.Eight-worker experiments were faster, but keeping them reliable required relaxing several test deadlines. Four workers for integration tests is a solid tradeoff that speeds up local testing without needing to change test logic.
What changed
localnextest profile that inherits the existing defaults.just testselect the local profile on Unix and Windows.The tests use separate processes, randomized temporary
CODEX_HOMEdirectories, and ephemeral ports. The remaining shared constraints are system resources; each app-server also uses a multi-thread Tokio runtime, and fuzzy-search tests can create additional worker threads, so the local cap remains intentionally conservative.Performance and validation
All measurements below are warm, execution-only app-server runs with nextest retries disabled.
On the current rebased branch, an AMD EPYC 7763 machine with 16 logical CPUs and 62 GiB RAM completed three consecutive runs:
The mean wall time was 145.28s. The slow-inventory, approval replay, and zsh-fork tests all passed with their original deadlines.
Earlier measurements on the same Linux machine, before the suite grew, showed the scaling that motivated the change:
Four workers reduced that execution time by about 70%, a roughly 3.3x speedup over serialization.