-
Notifications
You must be signed in to change notification settings - Fork 246
chore: update rust deps #2917
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: update rust deps #2917
Conversation
Summary of ChangesHello @tac0turtle, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request performs a comprehensive update of the project's Rust dependencies. The primary goal is to ensure the codebase benefits from the latest bug fixes, performance enhancements, and new features available in the Rust ecosystem. This routine maintenance helps keep the project secure, efficient, and compatible with modern development practices. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
The latest Buf updates on your PR. Results from workflow CI / buf-check (pull_request).
|
|
Claude finished @tac0turtle's task in 2m 30s —— View job Code Review CompleteTasks
SummaryThis PR performs a comprehensive update of Rust dependencies, with several major version bumps that require careful attention. The changes are primarily in the gRPC/protobuf toolchain and supporting libraries. All tests pass, but there are important considerations around breaking changes and compatibility. Dependency Updates AnalysisCritical Major Version Updates1. tonic: 0.10 → 0.14 (client/crates/client/Cargo.toml, Cargo.toml)
2. prost: 0.12 → 0.14 (Cargo.toml)
3. thiserror: 1.0 → 2.0 (client/crates/client/Cargo.toml)
4. tower: 0.4 → 0.5 (client/crates/client/Cargo.toml)
Moderate Updates5. tokio: 1.45 → 1.48 (client/crates/client/Cargo.toml)
Build System Changes (client/crates/types/build.rs)Migration from tonic-build to tonic-prost-build (lines 67-71) - tonic_build::configure()
+ tonic_prost_build::configure()
- .compile(&proto_files, &[proto_root.as_path()])?;
+ .compile_protos(&proto_files, std::slice::from_ref(&proto_root))?;Review Notes:
Generated Code Review (client/crates/types/src/proto/)The generated protobuf files show the following patterns: Messages (evnode.v1.messages.rs):
Services (evnode.v1.services.rs):
Security Considerations1. TLS Configuration Change - tonic = { workspace = true, features = ["transport", "tls"] }
+ tonic = { workspace = true, features = ["transport", "tls-native-roots"] }
2. Dependency Tree Cleanup
3. Dependency Versions
Testing RequirementsGiven the scope of breaking changes, the following testing is critical:
RecommendationsRequired Before Merge
Optional Improvements
ConclusionThis is a well-executed dependency update with proper code generation changes. The major version bumps are significant but necessary for keeping the codebase modern and secure. The main concern is ensuring runtime compatibility, particularly with the tonic 0.10 → 0.14 upgrade. Recommendation: ✅ Approve after runtime testing The code changes are correct, but given the scope of breaking changes in the ecosystem (tonic, tower, thiserror), thorough integration testing is essential before merging to production. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2917 +/- ##
==========================================
- Coverage 65.94% 65.80% -0.14%
==========================================
Files 87 87
Lines 7990 7990
==========================================
- Hits 5269 5258 -11
- Misses 2147 2158 +11
Partials 574 574
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates Rust dependencies, most notably tonic from version 0.10 to 0.11. This is a significant update with potential breaking changes, as tonic v0.11 introduces a new API based on hyper v1 and http v1. While the code seems to have been updated to be compatible, it's crucial to ensure that all parts of the application using tonic are thoroughly tested to catch any runtime issues. No other issues were found in this dependency update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM... e2e docker test looks unrelated.
randygrok
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utAck, interesting how the new prost adds new derives
* main: chore: execute goimports to format the code (#2924) refactor(block)!: remove GetLastState from components (#2923) feat(syncing): add grace period for missing force txs inclusion (#2915) chore: minor improvement for docs (#2918) feat: DA Client remove interface part 2, add client for celestia blob api (#2909) chore: update rust deps (#2917) feat(sequencers/based): add based batch time (#2911) build(deps): Bump golangci/golangci-lint-action from 9.1.0 to 9.2.0 (#2914) refactor(sequencers): implement batch position persistance (#2908)
Overview
closes #2912