Repository navigation
CI: hermetic spawns in e2e_redirect_cargo_shapes (#823) - #1522
Merged
Mikola Lysenko (mikolalysenko) merged 2 commits intoOct 14, 2026
Merged
Mikola Lysenko (mikolalysenko) merged 2 commits into
Mikola Lysenko (mikolalysenko) merged 2 commits into
Conversation
The cargo redirect-shapes suite started socket-patch with a bare Command::new and its own SOCKET_* sweep. That sweep never forced the update check or telemetry off, and an activated venv reached the unscoped hosted scan. It now spawns through the shared hermetic builder, scrubs VIRTUAL_ENV, and leaves PENDING_RAW_SPAWNS. Refs #823 Assisted-by: Claude Code:claude-opus-5-5
The venv scrub covers every call, not just scan: vex also discovers packages under --cwd. Reformat the two-entry PENDING_RAW_SPAWNS list the way rustfmt wants it. Assisted-by: Claude Code:claude-opus-5-5
This was referenced Oct 14, 2026
Mikola Lysenko (mikolalysenko)
marked this pull request as ready for review
October 14, 2026 06:58
Collaborator
Author
|
BugBot review Generated by Claude Code |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 4d4ade7. Configure here.
Tanmay Singla (Tanmay182003)
approved these changes
Oct 14, 2026
Mikola Lysenko (mikolalysenko)
deleted the
agent/fix-ci-hermetic-redirect-cargo-shapes
branch
October 14, 2026 07:57
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
LLM Description written by Claude Code:claude-opus-5-5
Refs #823 (slice 19: the
e2e_redirect_cargo_shapessuite). This usesRefs, so #823 stays open for the last twoPENDING_RAW_SPAWNSfiles:e2e_hosted_production.rsande2e_vendored_production.rs.Summary
run_socket_envine2e_redirect_cargo_shapes.rsnow starts socket-patch throughhermetic::binary_command()and scrubs an activated venv (Extra::Venv). It sets the leg's ownCARGO_HOMEafter those calls. The file comes offPENDING_RAW_SPAWNS(3 → 2). The change touches tests only: no product code and no workflows.Root cause
The suite spawned the CLI with a bare
Command::newand its own sweep of every ambientSOCKET_*. That sweep was mostly sound, but it had drifted from the shared harness:SOCKET_NO_CONFIG. The update check and telemetry opt-outs thathermetic::FORCED_OPT_OUTSsets were never forced. (Every call does pass--no-telemetry.)VIRTUAL_ENVreached the unscopedscanandvexruns.To be clear about impact: I found no ambient shell that fails this suite on main. Under
VIRTUAL_ENV=<real venv with six installed> SOCKET_DRY_RUN=true SOCKET_ECOSYSTEMS=npm SOCKET_NO_CONFIG=0 SOCKET_NO_UPDATE_CHECK=0 SOCKET_TELEMETRY_DISABLED=0 ..., it passes 32/32 both before and after this change. This slice is about consistency and the ratchet, not a live failure.Test evidence
PENDING_RAW_SPAWNSremoval:spawn_env_hygienefailsno_new_bare_binary_spawnswith["e2e_redirect_cargo_shapes.rs"](15 passed, 1 failed).e2e_redirect_cargo_shapes32/32 (real cargo 1.93.1 against crates.io through the wiremock mirror) andspawn_env_hygiene16/16. Both are also green under the hostile shell above.e2e_mavenis 22/22 after rebasing onto CI: hermetic spawns in the e2e_maven suite (#823) #1519.cargo fmt --checkclean, clippy on both test targets clean,spawn_env_hygiene16/16,e2e_redirect_cargo_shapes32/32.cargo fmt --all -- --checkis clean.cargo clippy --locked --workspace --all-features -- -D warningsis clean, and so isclippy --test e2e_redirect_cargo_shapes --test spawn_env_hygiene -- -D warnings./code-review high
vexalso discovers packages under--cwd.cargo_e2e_matrix::cargo_command) pinCARGO_HOMEand dropCARGO_TARGET_DIR, but they still inheritCARGO_BUILD_TARGET_DIR,CARGO_NET_OFFLINE,CARGO_REGISTRIES_*/CARGO_SOURCE_*andRUSTFLAGS. That helper is shared by every cargo matrix suite, so changing it belongs in its own slice.binary_command()+scrub_extra(Venv). Making the shared builder scrubVIRTUAL_ENVby default (or adding a ratchet for it) would remove the copies.CI cost
No workflow changes. A lean PR run costs the same before and after: about 28 Linux jobs and about 8 minutes.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FFQDbPARQNb93vs7DiZJoP
Generated by Claude Code
Generated by Claude Code