Skip to content

tests(js_repl): remove node-related skip paths from js_repl tests#12185

Merged
fjord-oai merged 1 commit intomainfrom
fjord/js_repl_seq---4hsqonw5k_q_2b
Feb 25, 2026
Merged

tests(js_repl): remove node-related skip paths from js_repl tests#12185
fjord-oai merged 1 commit intomainfrom
fjord/js_repl_seq---4hsqonw5k_q_2b

Conversation

@fjord-oai
Copy link
Contributor

@fjord-oai fjord-oai commented Feb 18, 2026

Summary

Remove js_repl/node test-skip paths and make Node setup explicit in CI so js_repl tests always run instead of silently skipping.

Why

We had multiple “expediency” skip paths that let js_repl tests pass without actually exercising Node-backed behavior. This reduced CI signal and hid runtime/environment regressions.

What changed

CI

  • Added Node setup using codex-rs/node-version.txt in:
    • .github/workflows/rust-ci.yml
    • .github/workflows/bazel.yml
  • Added a Unix PATH copy step in Bazel workflow to expose the setup-node binary in common paths.

js_repl test harness

  • Added explicit js_repl sandbox test configuration helpers in:
    • codex-rs/core/src/tools/js_repl/mod.rs
    • codex-rs/core/src/tools/handlers/js_repl.rs
  • Added Linux arg0 dispatch glue for js_repl tests so sandbox subprocess entrypoint behavior is correct under Linux test execution.

Removed skip behavior

  • Deleted runtime guard function and early-return skips in js_repl tests (can_run_js_repl_runtime_tests and related per-test short-circuits).
  • Removed view_image integration test skip behavior:
    • dropped skip_if_no_network!(Ok(()))
    • removed “skip on Node missing/too old” branch after js_repl output inspection.

Impact

  • js_repl/node tests now consistently execute and fail loudly when the environment is not correctly provisioned.
  • CI has stronger signal for js_repl regressions instead of false green from conditional skips.

Testing

  • cargo test -p codex-core (locally) to validate js_repl unit/integration behavior with skips removed.
  • CI expected to surface any remaining environment/runtime gaps directly (rather than masking them).

git stack

@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 8e322f1 to a6b16fb Compare February 18, 2026 21:16
@fjord-oai fjord-oai changed the title tests(js_repl): remove network/node skip fallback tests(js_repl): remove node-related skip paths from js_repl tests Feb 18, 2026
@fjord-oai fjord-oai marked this pull request as draft February 18, 2026 21:17
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch 8 times, most recently from 870e89d to 3947cd5 Compare February 19, 2026 04:06
@fjord-oai fjord-oai changed the base branch from main to rewrite/fold-first---4hsvb-0v9tp76_ February 19, 2026 04:06
@fjord-oai fjord-oai changed the base branch from rewrite/fold-first---4hsvb-0v9tp76_ to main February 19, 2026 22:11
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 3947cd5 to b32da8d Compare February 19, 2026 22:11
@fjord-oai fjord-oai changed the base branch from main to rewrite/fold-first---4hsvb-0v9tp76_ February 19, 2026 22:11
@fjord-oai fjord-oai changed the base branch from rewrite/fold-first---4hsvb-0v9tp76_ to main February 19, 2026 22:11
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from b32da8d to 83af341 Compare February 19, 2026 22:11
@fjord-oai fjord-oai changed the base branch from main to rewrite/fold-first---4hsvb-0v9tp76_ February 19, 2026 22:11
@fjord-oai fjord-oai changed the base branch from rewrite/fold-first---4hsvb-0v9tp76_ to main February 20, 2026 00:07
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 83af341 to 7d559bb Compare February 20, 2026 00:07
@fjord-oai fjord-oai changed the base branch from main to rewrite/fold-first---4hsvb-0v9tp76_ February 20, 2026 00:07
@fjord-oai fjord-oai changed the base branch from rewrite/fold-first---4hsvb-0v9tp76_ to main February 20, 2026 01:31
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 7d559bb to e81a6a2 Compare February 20, 2026 01:31
@fjord-oai fjord-oai changed the base branch from main to rewrite/fold-first---4hsvb-0v9tp76_ February 20, 2026 01:31
@fjord-oai fjord-oai changed the base branch from rewrite/fold-first---4hsvb-0v9tp76_ to main February 20, 2026 03:35
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from e81a6a2 to 0faafc1 Compare February 20, 2026 03:35
@fjord-oai fjord-oai changed the base branch from main to rewrite/fold-first---4hsvb-0v9tp76_ February 20, 2026 03:35
@fjord-oai fjord-oai changed the base branch from rewrite/fold-first---4hsvb-0v9tp76_ to main February 20, 2026 19:22
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 9334c31 to 475a978 Compare February 20, 2026 19:22
@fjord-oai fjord-oai changed the base branch from main to rewrite/fold-first---4hsvb-0v9tp76_ February 20, 2026 19:22
fjord-oai added a commit that referenced this pull request Feb 20, 2026
## Summary
Install Node in the Bazel remote execution image using the version
pinned in `codex-rs/node-version.txt`.

## Why
`js_repl` tests run under Bazel remote execution and require a modern
Node runtime. Runner-level `setup-node` does not guarantee Node is
available (or recent enough) inside the remote worker container.

## What changed
- Updated `.github/workflows/Dockerfile.bazel` to install Node from
official tarballs at image build time.
- Added `xz-utils` for extracting `.tar.xz` archives.
- Copied `codex-rs/node-version.txt` into the image build context and
used it as the single source of truth for Node version.
- Added architecture mapping for multi-arch builds:
  - `amd64 -> x64`
  - `arm64 -> arm64`
- Verified install during image build with:
  - `node --version`
  - `npm --version`

## Impact
- Bazel remote workers should now have the required Node version
available for `js_repl` tests.
- Keeps Node version synchronized with repo policy via
`codex-rs/node-version.txt`.

## Testing
- Verified Dockerfile changes and build steps locally (build-time
commands are deterministic and fail fast on unsupported arch/version
fetch issues).

## Follow-up
- Rebuild and publish the Bazel runner image for both `linux/amd64` and
`linux/arm64`.
- Update image digests in `rbe.bzl` to roll out this runtime update in
CI.


#### [git stack](https://github.com/magus/git-stack-cli)
- ✅ `1` #12300
- ✅ `2` #12275
- 👉 `3` #12205
- ⏳ `4` #12185
- ⏳ `5` #10673
Base automatically changed from rewrite/fold-first---4hsvb-0v9tp76_ to main February 20, 2026 19:51
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 475a978 to cbd26e0 Compare February 20, 2026 21:32
@fjord-oai fjord-oai changed the base branch from main to fjord/js_repl_seq---4htiuce17czvot February 20, 2026 21:32
@etraut-openai etraut-openai added the oai PRs contributed by OpenAI employees label Feb 20, 2026
@fjord-oai fjord-oai changed the base branch from fjord/js_repl_seq---4htiuce17czvot to main February 20, 2026 22:53
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from cbd26e0 to 1ee5e2f Compare February 20, 2026 22:53
@fjord-oai fjord-oai changed the base branch from main to fjord/js_repl_seq---4htiuce17czvot February 20, 2026 22:53
@fjord-oai fjord-oai changed the base branch from fjord/js_repl_seq---4htiuce17czvot to main February 20, 2026 23:48
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 1ee5e2f to 54f479a Compare February 20, 2026 23:48
@fjord-oai fjord-oai changed the base branch from main to fjord/js_repl_seq---4htiuce17czvot February 20, 2026 23:48
@fjord-oai fjord-oai changed the base branch from fjord/js_repl_seq---4htiuce17czvot to main February 21, 2026 01:11
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 54f479a to 418dd8c Compare February 21, 2026 01:11
@fjord-oai fjord-oai changed the base branch from main to fjord/js_repl_seq---4htiuce17czvot February 21, 2026 01:11
@fjord-oai fjord-oai changed the base branch from fjord/js_repl_seq---4htiuce17czvot to main February 21, 2026 03:31
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 418dd8c to 2e36025 Compare February 21, 2026 03:31
@fjord-oai fjord-oai changed the base branch from main to fjord/js_repl_seq---4htiuce17czvot February 21, 2026 03:31
@fjord-oai fjord-oai changed the base branch from fjord/js_repl_seq---4htiuce17czvot to main February 21, 2026 04:29
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from 2e36025 to cfd6b97 Compare February 21, 2026 04:29
@fjord-oai fjord-oai changed the base branch from main to fjord/js_repl_seq---4htiuce17czvot February 21, 2026 04:29
@fjord-oai fjord-oai changed the base branch from fjord/js_repl_seq---4htiuce17czvot to main February 21, 2026 07:49
@fjord-oai fjord-oai force-pushed the fjord/js_repl_seq---4hsqonw5k_q_2b branch from cfd6b97 to ba92351 Compare February 21, 2026 07:49
@fjord-oai fjord-oai changed the base branch from main to fjord/js_repl_seq---4htiuce17czvot February 21, 2026 07:49
git-stack-id: fjord/js_repl_seq---4hsqonw5k_q_2b
git-stack-title: tests(js_repl): remove node-related skip paths from js_repl tests
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

oai PRs contributed by OpenAI employees

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants