GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||
GeezerVison is showing github.com — CI: hermetic env for production suites' tool spawns (#823) by mikolalysenko · Pull Request #1532 · SocketDev/socket-patch Conversation
|
| helper | drift |
|---|---|
| all of them | no SOCKET_* scrub, so an ambient SOCKET_* reached every package-manager child (and any socket-patch it might run) |
hosted tool() |
removed VIRTUAL_ENV after applying the leg's env, so the uv legs' own VIRTUAL_ENV pin never reached uv |
vendored corepack() |
removed YARN_NODE_LINKER but not npm_config_node_linker, unlike tool() |
| probes | ran with no scrub at all, so they didn't answer for the environment the legs run in |
One pm_command(program) per suite: hermetic::scrub_socket_vars,
hermetic::Extra::Venv, and the two node-linker overrides, applied
before cache_env::isolate and the leg's env, so a leg's own pins
win. Every package-manager child and probe in both suites now goes
through it. bundle() keeps its BUNDLE_*/GEM_*/RUBYOPT sweep
unchanged.
cargo fmt --all -- --check and cargo clippy --workspace --all-features -- -D warnings pass. Both suites compile. With--tests, clippy on these two test targets reports the same 13common/ includes).pnpm, yarn_berry, yarn_classic, gem_bundler,pypi_uv_lock, pypi_requirements_txt, hosted and vendored) werescan, because this sandbox'spatches-api.socket.dev. The results are identical onorigin/main (1 passed, 5 failed with the same tunnel error), so thehosted-e2e job runs the hostedTest-only. No workflow changes, so a lean PR run keeps the same job
count and minutes (about 28 Linux jobs, ~8 min wall), before and after.
/code-review high)Extra::Yarn/Pnpm/YarnClassic/Bundle/Composer/... sweeps on every child. Thosenpm_config_https_proxy,YARN_HTTPS_PROXY, NPM_CONFIG_USERCONFIG) these live-registryYarnClassic sweep removes PREFIX for everySOCKET_*.Command::new(program) rather than tool_command, so abundle() removesGEM_HOME/GEM_PATH, which cache_env.rs warns breaks rvm/chrubye2e_vendor_gem_build.rs ande2e_redirect_gem_build.rs. Changing it changes where gems install,socket-patch child in run()/run_socket() getsExtra::Venv beyond hermetic::command. Adding theBundle, Composer) is a follow-up.pm_command is duplicated across the two suites. Movingcommon/hermetic.rs would collide with CI: hermetic env for the PTY test spawns (#823) #1530, which isGEM_* sweep in the three bundle helpers (see above).🤖 Generated with Claude Code
https://claude.ai/code/session_01W9FQvgb6aG8vSapKuKMwKY
Generated by Claude Code
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Assisted-by: Claude Code:claude-opus-5-5
The live production suites spawned uv, pnpm, yarn, corepack and bundle with their own scrubs, which had drifted from the shared hermetic helpers: none removed ambient SOCKET_* vars, corepack() kept an ambient npm_config_node_linker, and the hosted tool() removed VIRTUAL_ENV after applying a leg's env, so the uv legs' own VIRTUAL_ENV pin never reached uv. Every package-manager child and its probe now goes through one pm_command builder per suite: tool_command, scrub_socket_vars and the hermetic::Extra scrubs, then cache_env::isolate, then the leg's env last. bundle() keeps its own GEM_*/RUBYOPT sweep. Refs #823 Assisted-by: Claude Code:claude-opus-5-5
The first version swept every YARN_*, npm_config_* and BUNDLE_* var from all package-manager children. That also removed the proxy and CA settings a developer behind a proxy needs to reach the live registries, so their install proofs would quietly soft-skip. pm_command now removes every ambient SOCKET_*, an activated venv and the two node-linker overrides, the scrubs these helpers already made, and spawns the program as before. bundle() keeps its own BUNDLE_*/GEM_*/RUBYOPT sweep unchanged. Refs #823 Assisted-by: Claude Code:claude-opus-5-5
|
BugBot review Generated by Claude Code |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ 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 fe7b67d. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.