deps(rust): migrate to running-process 4.0.0 mono-crate#272
Conversation
Upstream (zackees/running-process) consolidated `running-process-core`,
`-proto`, `-client`, `-daemon`, and `daemon-trampoline` into a single
`running-process` crate with feature-gated subsystems (see CHANGELOG
4.0.0). The Python wheel ABI is unchanged; only direct Rust consumers
need to update their dependency name and import paths.
fbuild only uses the spawn API + containment primitives, so the
dependency is pinned with `default-features = false` to skip the
`client`/`daemon` features (and their prost/interprocess/tokio
transitives).
Changes:
- Cargo.toml: `running-process-core = "3.4"` ->
`running-process = { version = "4.0.0", default-features = false }`
- crates/fbuild-core/Cargo.toml: track new dep name via workspace.
- crates/fbuild-core/src/{subprocess,containment}.rs:
`running_process_core::` -> `running_process::`. No behavioural
change; same `NativeProcess`, `ContainedProcessGroup`,
`ORIGINATOR_ENV_VAR`, `CommandSpec`, `ProcessConfig`, etc.
- Doc-comment + lint/allowlist text references updated to the new
crate name for accuracy.
Tests: `soldr cargo test --workspace --no-fail-fast` is fully green
on Windows, including the #129 containment regression
in `fbuild-core` (sequential contained spawns + EPERM avoidance).
Closes #271.
Refs zackees/running-process#203.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (8)
📝 WalkthroughWalkthroughThis PR migrates fbuild's subprocess infrastructure from the deprecated ChangesRunning-process consolidation migration
🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
running-process-core,-proto,-client,-daemon,daemon-trampoline) into a singlerunning-processcrate with feature-gated subsystems. fbuild only consumes the spawn API + containment primitives, so the new dep is pinned withdefault-features = false(theclient/daemonfeatures and their prost/interprocess/tokio transitives stay out of fbuild's graph).use running_process_core::rewritten touse running_process::incrates/fbuild-core/src/{subprocess,containment}.rs. No behavioural change; identicalNativeProcess,ContainedProcessGroup,ORIGINATOR_ENV_VAR,CommandSpec,ProcessConfig,StdinMode,StderrMode,ProcessErrorsurface as 3.4.dylints/ban_raw_subprocessREADME/allowlist/lint message, and thelint-subprocessworkflow header updated to reference the new crate name (no functional dylint change).Test plan
soldr cargo check --workspace --all-targets— clean.soldr cargo test --workspace --no-fail-fast— all suites pass on Windows MSVC, including:fbuild-core::containment::tests::sequential_contained_spawns_do_not_fail_with_eperm(fbuild-2.1.18 broken: wheel script missing exec bit + 'Operation not permitted' on every build #129 regression)fbuild-core::containment::tests::spawn_contained_without_init_falls_back_to_uncontainedfbuild-core::subprocess::tests::{run_echo, run_captures_stderr, run_nonexistent_command}cargo tree -p running-processconfirms onlycoredeps (libc, portable-pty, serde, sysinfo) — no prost/tokio/interprocess pulled in via running-process.Notes
running-process-coreleft insubprocess.rs/containment.rsdoc comments are intentional — they describe the prior API divergence (the pre-publicationContainedProcessGroup::spawn_with_containmentand the post-3.4SpawnedChildvsChildmismatch) that motivated the current bridge code. Rewriting them to "4.0" would erase the historical accuracy of why this file exists.Cargo.lockregenerated bycargo update -p running-process-core --precise 0.0.0, which removed the 3.4.1 entry and addedrunning-process v4.0.0(no other dependency churn beyond the prost/protox build-script chain that running-process 4.0 brings in for its own optionalclientfeature build — but those crates aren't compiled becausedefault-features = falsestrips them).Closes #271.
Refs zackees/running-process#203.
Generated with Claude Code (claude.ai/code)
Summary by CodeRabbit