Skip to content

Cleaning up dependencies with cargo-machette#2743

Draft
theodorebugnet wants to merge 3 commits intodevfrom
theodore/cargo-machete
Draft

Cleaning up dependencies with cargo-machette#2743
theodorebugnet wants to merge 3 commits intodevfrom
theodore/cargo-machete

Conversation

@theodorebugnet
Copy link
Copy Markdown
Contributor

@theodorebugnet theodorebugnet commented Apr 15, 2026

Description

Our makefile's install-dev-tools section installs cargo-udeps, but it seems broken because it requires a nightly compiler and it breaks sp1 crates when I tried it.

This PR replaces it with cargo machete, which is must faster and works fine, except it has a lot of false positives. Codex worked for some hours in the background adding [package.metadata.cargo-machete] sections to Cargo.toml files where necessary to get everything to compile again.

Net changes:

  • -150 in Cargo.lock, a couple of dependency versions removed from the workspace
  • Net minus in sp1 and risc0 crate Cargo.locks
  • 10 completely unused dependencies removed from Cargo.toml
  • A number of [package.metadata.cargo-machete] noise added to many Cargo.toml files
  • With those metadata sections, cargo machete can run in CI for the future (once we update the Namespace base image)
  • I have updated CHANGELOG.md with a new entry if my PR makes any breaking changes or fixes a bug. If my PR removes a feature or changes its behavior, I provide help for users on how to migrate to the new behavior.
  • I have carefully reviewed all my Cargo.toml changes before opening the PRs. (Are all new dependencies necessary? Is any module dependency leaked into the full-node (hint: it shouldn't)?)

Linked Issues

  • Fixes # (issue, if applicable)
  • Related to # (issue)

Testing

Describe how these changes were tested. If you've added new features, have you added unit tests?

Docs

Describe where this code is documented. If it changes a documented interface, have the docs been updated?

Rendered docs are available at https://sovlabs-ci-rustdoc-artifacts.us-east-1.amazonaws.com/<BRANCH_NAME>/index.html

@theodorebugnet theodorebugnet force-pushed the theodore/cargo-machete branch 7 times, most recently from 1459f59 to e721dbe Compare April 17, 2026 17:02
@theodorebugnet theodorebugnet changed the title Initial cargo-machette pass Cleaning up dependencies with cargo-machette Apr 17, 2026
@theodorebugnet theodorebugnet force-pushed the theodore/cargo-machete branch 2 times, most recently from 490a924 to 94ed591 Compare April 20, 2026 13:21
@theodorebugnet theodorebugnet force-pushed the theodore/cargo-machete branch from 94ed591 to 8ce7668 Compare April 21, 2026 12:38
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.8%. Comparing base (18dbda9) to head (7492c08).
⚠️ Report is 56 commits behind head on dev.

Additional details and impacted files

see 48 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@theodorebugnet theodorebugnet force-pushed the theodore/cargo-machete branch 2 times, most recently from 0d9766d to a62c602 Compare April 21, 2026 17:10
CI setup action doesn't have it so it can't be added to `make lint` yet.
@theodorebugnet theodorebugnet force-pushed the theodore/cargo-machete branch from a62c602 to 6fbb59b Compare April 21, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant