Visitar URL original
fix(release): path-only dev-deps in rustledger-wasm so publish never needs them by robcohen · Pull Request #1758 · rustledger/rustledger · GitHub
Skip to content

fix(release): path-only dev-deps in rustledger-wasm so publish never needs them - #1758

Merged
robcohen merged 1 commit into
mainfrom
fix/wasm-devdeps-pathonly
Jul 11, 2026
Merged

robcohen merged 1 commit into
mainfrom
fix/wasm-devdeps-pathonly

Conversation

@robcohen

Copy link
Copy Markdown
Member

The #1740 parity-test dev-deps used workspace = true, which carries the workspace's version = "X.Y.Z" requirement into the published package's dev-dependencies — so cargo publish -p rustledger-wasm fails whenever the sibling isn't on crates.io at that exact version yet. This broke the v0.21.0 crates.io publish (the script orders wasm before ffi-wasi; recovered by rerun once ffi-wasi@0.21.0 indexed).

Path-only dev-deps are stripped at publish — exactly right for test-only sibling deps. Verified: the parity test still runs (2 passed) and cargo publish --dry-run packages cleanly with no registry requirement.

Alternative considered: reordering the publish script — rejected, since any future test-only sibling edge would re-create the trap; version-free dev-deps kill the class.

🤖 Generated with Claude Code

…needs them

The parity-test dev-deps (#1740) used workspace inheritance, which
bakes a version requirement into the published package's dev-deps —
cargo publish of rustledger-wasm then fails whenever the sibling
isn't on crates.io at that exact version yet (broke the v0.21.0
publish: the script orders wasm before ffi-wasi). Path-only dev-deps
are stripped at publish, which is exactly right for test-only
siblings. Verified: parity test still runs; cargo publish --dry-run
packages clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@robcohen
robcohen requested a review from a team as a code owner July 11, 2026 03:04
Copilot AI review requested due to automatic review settings July 11, 2026 03:04
@codecov

codecov Bot commented Jul 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates rustledger-wasm’s host-only parity-test dev-dependencies to avoid cargo publish -p rustledger-wasm requiring sibling crates to already be available on crates.io at the exact workspace version.

Changes:

  • Replace workspace = true dev-deps on rustledger-plugin-types and rustledger-ffi-wasi with path-only dev-deps under the native-only (cfg(not(target_arch = "wasm32"))) dev-dependencies table.
  • Add in-manifest documentation explaining why path-only dev-deps are required for reliable publishing order.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Compatibility Test Results

Metric Result
Check Compatibility 100%
BQL Compatibility 100%
Full AST Match 100%
Total Files 811
What's tested
  • Check: Exit codes and error counts match bean-check
  • BQL: Query results match bean-query
  • Files: ~800 test files downloaded from 10+ beancount repositories

Full results available in workflow artifacts

@robcohen
robcohen merged commit ed83071 into main Jul 11, 2026
47 of 49 checks passed
@robcohen
robcohen deleted the fix/wasm-devdeps-pathonly branch July 11, 2026 03:36
robcohen added a commit that referenced this pull request Jul 11, 2026
#1758 made rustledger-wasm's sibling dev-deps path-only (no version)
so cargo strips them at publish and the crates.io publish order can
never fail on them. cargo-deny models a versionless path dep as a
wildcard, so 'wildcards = deny' now fails every PR (and main).
allow-wildcard-paths permits exactly this shape — path deps cannot
bind to a published version, which is what the wildcard ban guards
against.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants