build: update grovedb dependency from git revision to v5.0.0 tag#3971
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
📝 WalkthroughWalkthroughSix ChangesGroveDB v5.0.0 tag pin
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 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 |
|
✅ Review complete (commit 5bd6b75) |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
packages/rs-drive/Cargo.toml (1)
55-60: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick winpackages/rs-drive/Cargo.toml:55-60 — Pin these Git dependencies with
revinstead oftag. The lockfile currently resolvesv5.0.0to9b98a35644cdea73cc1b21d7c122cb58ae9fafd8, buttag = "v5.0.0"still makes future relocks depend on a mutable upstream ref. Userev = "9b98a35644cdea73cc1b21d7c122cb58ae9fafd8"here.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/rs-drive/Cargo.toml` around lines 55 - 60, The Grovedb Git dependencies in the rs-drive Cargo.toml entry are still pinned by tag, which leaves future relocks dependent on a mutable upstream ref. Update the dependency declarations for grovedb, grovedb-costs, grovedb-path, grovedb-storage, grovedb-version, and grovedb-epoch-based-storage-flags to use the fixed commit revision instead of tag, matching the resolved commit hash from the lockfile.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@packages/rs-drive/Cargo.toml`:
- Around line 55-60: The Grovedb Git dependencies in the rs-drive Cargo.toml
entry are still pinned by tag, which leaves future relocks dependent on a
mutable upstream ref. Update the dependency declarations for grovedb,
grovedb-costs, grovedb-path, grovedb-storage, grovedb-version, and
grovedb-epoch-based-storage-flags to use the fixed commit revision instead of
tag, matching the resolved commit hash from the lockfile.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: df6c3d2b-4f14-4fdd-9af6-2949393d4313
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (6)
packages/rs-dpp/Cargo.tomlpackages/rs-drive-abci/Cargo.tomlpackages/rs-drive/Cargo.tomlpackages/rs-platform-version/Cargo.tomlpackages/rs-platform-wallet/Cargo.tomlpackages/rs-sdk/Cargo.toml
thepastaclaw
left a comment
There was a problem hiding this comment.
Code Review
Verified the single actionable agent finding against the PR diff and current source. The PR introduces tag = "v5.0.0" GroveDB dependencies, and the existing switcher now preserves that tag when rewriting to rev or branch, producing invalid Cargo dependency specs. Claude coverage was degraded because its reviewer run failed authentication, and CodeRabbit supplied no actionable findings.
🟡 2 suggestion(s)
Findings not posted inline (1)
These findings could not be anchored to the current diff, but they are still part of this review.
- [SUGGESTION]
scripts/grovedb_version_switcher.py:147: Remove tag when rewriting GroveDB dependency sources — This PR changes GroveDB dependencies fromrevtotag = "v5.0.0", but the dependency switcher only removesgit,rev,branch,path, andversionbefore inserting the requested source selector. Switching a tagged dependency back to a revision or branch therefore leaves both selectors in...
🤖 Prompt for all review comments with AI agents
These findings are from an automated code review. Verify each finding against the current code and only fix it if needed.
In `scripts/grovedb_version_switcher.py`:
- [SUGGESTION] scripts/grovedb_version_switcher.py:147: Remove tag when rewriting GroveDB dependency sources
This PR changes GroveDB dependencies from `rev` to `tag = "v5.0.0"`, but the dependency switcher only removes `git`, `rev`, `branch`, `path`, and `version` before inserting the requested source selector. Switching a tagged dependency back to a revision or branch therefore leaves both selectors in the inline table, for example `{ git = "https://github.com/dashpay/grovedb", rev = "deadbeef", tag = "v5.0.0" }`, which Cargo rejects because a git dependency may specify only one of `rev`, `tag`, or `branch`. Add `tag` to the conflicting-key removal list so the script remains usable after this dependency change.
- [SUGGESTION] scripts/grovedb_version_switcher.py:147: Remove tag when rewriting GroveDB dependency sources
This PR changes GroveDB dependencies from `rev` to `tag = "v5.0.0"`, but the dependency switcher only removes `git`, `rev`, `branch`, `path`, and `version` before inserting the requested source selector. Switching a tagged dependency back to a revision or branch therefore leaves both selectors in the inline table, for example `{ git = "https://github.com/dashpay/grovedb", rev = "deadbeef", tag = "v5.0.0" }`, which Cargo rejects because a git dependency may specify only one of `rev`, `tag`, or `branch`. Add `tag` to the conflicting-key removal list so the script remains usable after this dependency change.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## v3.1-dev #3971 +/- ##
=============================================
- Coverage 87.17% 52.54% -34.63%
=============================================
Files 2629 11 -2618
Lines 327221 1707 -325514
=============================================
- Hits 285265 897 -284368
+ Misses 41956 810 -41146
🚀 New features to boost your workflow:
|
Issue being fixed or feature implemented
Replace pinned git revision (
fc814983d4d36c6ea049642556b9a31ab8d4dfaa) with thev5.0.0tag for all grovedb dependencies, making the dependency version explicit and human-readable.What was done?
Updated all 14 grovedb
rev = "fc8149..."references across 6 Cargo.toml files to usetag = "v5.0.0"instead:packages/rs-drive/Cargo.toml— grovedb, grovedb-costs, grovedb-path, grovedb-storage, grovedb-version, grovedb-epoch-based-storage-flagspackages/rs-drive-abci/Cargo.toml— grovedb-commitment-tree (deps + dev-deps), grovedb-path, grovedb-storagepackages/rs-dpp/Cargo.toml— grovedb-commitment-treepackages/rs-sdk/Cargo.toml— grovedb-commitment-treepackages/rs-platform-wallet/Cargo.toml— grovedb-commitment-treepackages/rs-platform-version/Cargo.toml— grovedb-versionThe v5.0.0 tag (commit
9b98a356) is 2 commits ahead of the previous rev (fc814983).How Has This Been Tested?
cargo check --workspacepasses cleanlycargo updateresolves all grovedb sub-crates to 5.0.0 from the tagBreaking Changes
None. This is a dependency source change (rev → tag) pointing to a near-identical commit.
Checklist:
🤖 Generated with Claude Code
Summary by CodeRabbit