Skip to content

bench: add e2e benchmark entrypoints - #31428

Merged
anp-oai merged 1 commit into
mainfrom
codex/e2e-benchmark-entrypoints
Jul 10, 2026
Merged

bench: add e2e benchmark entrypoints#31428
anp-oai merged 1 commit into
mainfrom
codex/e2e-benchmark-entrypoints

Conversation

@anp-oai

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

Copy link
Copy Markdown
Contributor

Why

Bazel-backed macrobenchmarks need stable local entrypoints that can grow without changing every caller.

What

  • add a top-level e2e-benchmarks Bazel suite, initially containing the codex --help benchmark
  • add cross-platform just bench-e2e for direct optimized Bazel measurements
  • add cross-platform just bench-e2e-smoke for one direct fastbuild iteration through release-only Rust cfg paths

Validation

  • just --dry-run bench-e2e
  • just --dry-run bench-e2e-smoke
  • just bench-e2e-smoke

Stack

  1. #31295 bench: add codex help e2e macrobenchmark
  2. #31428 bench: add e2e benchmark entrypoints
  3. #31429 ci: smoke Bazel e2e benchmarks

@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 38360b6 to 726589b Compare July 7, 2026 17:33
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from 40d035e to f8fd71a Compare July 7, 2026 17:33
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 726589b to e6f4113 Compare July 7, 2026 17:35
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from f8fd71a to f9458bb Compare July 7, 2026 17:36
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from e6f4113 to ecf0c9c Compare July 7, 2026 18:18
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from f9458bb to 7777895 Compare July 7, 2026 18:19
anp-oai added a commit that referenced this pull request Jul 7, 2026
## Why

Remote-executor integration tests need one host-agnostic exec-server
fixture target instead of a Windows-only wrapper.

## What

- rename the testing binary target to exec-server
- make the fixture source and target host-agnostic
- update Windows remote-executor test wiring to use the shared target

## Validation

- bazel build //codex-rs/exec-server/testing:exec-server
- bazel cquery --config=ci-windows-cross
'set(//codex-rs/exec-server/testing:exec-server
//codex-rs/core/tests/remote_env_windows:smoke-test)'

## Stack

1. [#31422 test: generalize exec-server
fixture](#31422)
2. [#31425 test: add TestAppServer
builder](#31425)
3. [#31427 test: add delayed exec-server
transport](#31427)
4. [#31295 bench: add cold skill load
macrobenchmark](#31295)
5. [#31428 bench: add e2e benchmark
entrypoints](#31428)
6. [#31429 ci: smoke Bazel e2e
benchmarks](#31429)
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from ecf0c9c to 8ac3c16 Compare July 7, 2026 18:38
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from 7777895 to 67e8bf0 Compare July 7, 2026 18:39
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 8ac3c16 to 0079a34 Compare July 7, 2026 19:05
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from 67e8bf0 to b860399 Compare July 7, 2026 19:05
anp-oai added a commit that referenced this pull request Jul 7, 2026
## Why

Test callers need one composable way to create app-server fixtures
instead of a growing family of overlapping constructor implementations.

## What

- add a feature-complete TestAppServer::builder()
- make the default builder own a temporary CODEX_HOME and select the
automatic test environment
- expose builder knobs for no automatic environment, explicit
CODEX_HOME, program, arguments, plugin startup tasks, environment
overrides, managed config, and JSON logging
- keep the existing public constructor surface, but route every
constructor through the builder so the new path is exercised immediately
- remove the redundant private constructor ladders; caller migration and
public constructor removal live in the optional cleanup stack

## Validation

- just test -p codex-app-server (940/941 before updating the expected
builder error wording)
- just test -p codex-app-server
auto_env_rejects_explicit_environment_config
- just fix -p codex-app-server
- just fmt

## Follow-up stacks

Cleanup, optional for the benchmark work:

1. [#31451 test: migrate TestAppServer callers to
builder](#31451)
2. [#31452 test: remove TestAppServer
constructors](#31452)

Benchmark infrastructure:

1. [#31427 test: add delayed exec-server
transport](#31427)
2. [#31295 bench: add cold skill load
macrobenchmark](#31295)
3. [#31428 bench: add e2e benchmark
entrypoints](#31428)
4. [#31429 ci: smoke Bazel e2e
benchmarks](#31429)
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 0079a34 to ce11104 Compare July 7, 2026 22:55
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch 2 times, most recently from 29179d5 to e5b20f0 Compare July 8, 2026 00:21
anp-oai added a commit that referenced this pull request Jul 9, 2026
## Why

Macrobenchmarks benefit from having a way to exercise remote-executor
latency without depending on Docker.

This is a very minimal first cut, if we find that simulating network
conditions is useful we can always expand this scope or switch to a more
robust network shaping approach.

## What

- add a package-local exec-server binary for Cargo and Bazel test
fixtures
- add a host-local WebSocket exec-server fixture and fixed-delay
interposer
- let TestAppServer route its auto environment through that delayed
WebSocket transport
- cover the delayed thread/start path through the public app-server API

## Stack

1. [#31425 test: add TestAppServer
builder](#31425)
2. [#31427 test: add delayed exec-server
transport](#31427)
3. [#31295 bench: add cold skill load
macrobenchmark](#31295)
4. [#31428 bench: add e2e benchmark
entrypoints](#31428)
5. [#31429 ci: smoke Bazel e2e
benchmarks](#31429)
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from ce11104 to 310f235 Compare July 9, 2026 00:19
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch 2 times, most recently from 0a40f91 to 3b35b0b Compare July 9, 2026 00:27
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 7011da4 to 37b2d6d Compare July 9, 2026 02:21
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from 3b35b0b to abd411b Compare July 9, 2026 02:22
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 37b2d6d to 95a2d1f Compare July 9, 2026 02:46
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from abd411b to 4342c70 Compare July 9, 2026 02:47
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 95a2d1f to b24cbd9 Compare July 9, 2026 04:00
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from 4342c70 to 8f4d31c Compare July 9, 2026 04:00
@anp-oai
anp-oai marked this pull request as ready for review July 9, 2026 04:31
@anp-oai

anp-oai commented Jul 9, 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: 8f4d31ced6

ℹ️ 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 justfile Outdated
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch 2 times, most recently from cf5b1b0 to 572f841 Compare July 9, 2026 04:52
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch 2 times, most recently from 8510d0c to 2b339d6 Compare July 10, 2026 00:08
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from 572f841 to f97c74f Compare July 10, 2026 00:08
anp-oai added a commit that referenced this pull request Jul 10, 2026
## Why

Bazel-backed end-to-end macrobenchmark plumbing needs a small,
deterministic first consumer that does not couple the shared
infrastructure to the remote-skill scenario.

## What

- add `codex_e2e_benchmark`, a small macro for Bazel-only Divan
benchmarks and runtime binary runfiles
- keep benchmark sources under `e2e_benches/` so Cargo does not
auto-discover them
- add a CLI example that resolves the real `codex` binary and measures
`codex --help`
- assert the spawned command succeeds

## Validation

- `bazel test --compilation_mode=fastbuild
--@rules_rust//rust/settings:extra_rustc_flag=-Cdebug-assertions=no
--@rules_rust//rust/settings:extra_exec_rustc_flag=-Cdebug-assertions=no
--cache_test_results=no --test_output=errors --test_arg=--test
//codex-rs/cli:codex-help-bench`

## Stack

1. [#31295 bench: add codex help e2e
macrobenchmark](#31295)
2. [#31428 bench: add e2e benchmark
entrypoints](#31428)
3. [#31429 ci: smoke Bazel e2e
benchmarks](#31429)
Base automatically changed from codex/durable-executor-skill-benchmark to main July 10, 2026 00:23
@anp-oai
anp-oai force-pushed the codex/e2e-benchmark-entrypoints branch from f97c74f to eae9cc3 Compare July 10, 2026 00:24
@anp-oai
anp-oai merged commit 2b44896 into main Jul 10, 2026
35 checks passed
@anp-oai
anp-oai deleted the codex/e2e-benchmark-entrypoints branch July 10, 2026 00:31
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 10, 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