chore: remove dead remote-signer feature from arc-node-execution - #254
chore: remove dead remote-signer feature from arc-node-execution#254teyrebaz33 wants to merge 1 commit into
Conversation
osr21
left a comment
There was a problem hiding this comment.
Diff matches exactly what #253's analysis called for, including the conservative integration = [] choice — keeping the empty feature makes the change provably inert to CI's workspace-wide --features integration invocation, so nothing about the existing command lines needs re-reasoning. Scope is right, rationale in the description is complete, and all the verification from the issue carries over (no build.rs, no source refs, isolated case, publish = false).
One blocking item: Cargo.lock needs to be regenerated in this PR. On main, the lock's arc-node-execution entry still lists both removed deps (protox at line 1884, tonic-build at 1905 of the package's dependency array), and this PR doesn't touch the lock. Three CI invocations run with --locked:
cargo nextest run --locked --workspace --exclude arc-test-integrationcargo nextest run --locked -p arc-test-integration --test-threads 1cargo nextest run --locked --workspace --exclude arc-test-integration --features integration
plus the Makefile's UNIT_TEST_ARGS := --locked --workspace. With the manifest edited and the lock stale, --locked refuses to proceed ("the lock file … needs to be updated but --locked was passed"), so as pushed this fails every Rust test job before running a single test. The fix is one command locally — any lock-touching invocation, e.g. cargo update -p arc-node-execution or just cargo check -p arc-node-execution — then commit the lock diff. That diff is also where the payoff becomes visible: the two entries disappear from the EL binary's dependency array, and (nice side effect worth checking in the same diff) if nothing else in the graph pulls protox, its standalone package entry drops out of the lock entirely.
Cosmetic, same commit if you're touching it anyway: the removal leaves a double blank line where [build-dependencies] used to sit (between the jemallocator block and [dev-dependencies]).
Caveat as on the issue: no Rust toolchain in my environment, so this is static analysis of the lock and workflow files — but the --locked failure mode isn't speculative; it's cargo's documented behavior when the manifest and lock disagree. Once the lock lands, this is a clean merge.
725f272 to
6b9e262
Compare
|
Good catch — regenerated Cargo.lock with under |
|
Verified the amended head (
With the lock in, everything blocking is resolved: manifest and lock agree, the dead feature and both unused build-deps are gone, |
The remote-signer feature gated protox/tonic-build as optional build-dependencies, but crates/node has no build.rs to invoke either of them, and nothing in crates/node/src references the feature. arc-node-execution (the Execution Layer) has no dependency on arc-remote-signer either, directly or transitively — remote signing is a consensus-layer concern this crate has no reason to touch. Removes the now-unused protox/tonic-build build-dependencies and the remote-signer entry from integration's feature list. No other crate in the workspace with build-dependencies has this issue; each has its own build.rs that genuinely consumes them. Fixes circlefin#253
6b9e262 to
3b01f5c
Compare
|
Fixed the blank-line nit too at 3b01f5c — was staring at plain sed output earlier and two consecutive blank lines don't visually stand out that way; |
|
Confirmed at And yes, Nothing left on this one from my side: manifest and lock agree, the two dead edges are gone from the graph, |
Fixes #253
The
remote-signerfeature incrates/node/Cargo.tomlgatedprotox/tonic-buildas optional build-dependencies, but the crate has nobuild.rsto invoke either of them, and nothing incrates/node/srcreferences the feature.arc-node-executiondoesn't depend onarc-remote-signereither — remote signing is a consensus-layer concern, not something the execution layer touches.Removes the dead
protox/tonic-buildbuild-dependencies and theremote-signerentry fromintegration's feature list (left asintegration = []rather than removed entirely, since CI invokes--features integrationworkspace-wide).Checked every other crate with a
[build-dependencies]section (crates/remote-signer,crates/types,crates/version) — each has its ownbuild.rsthat genuinely consumes its build-deps, so this was an isolated leftover, not a pattern to sweep more broadly.arc-node-executionisn't published (publish = falseat the workspace root), so nothing external could be depending on theremote-signerfeature name.