Use path = [bala] for rust-bitcoin's workspace members dependencies. remove [patch.crates-io.balab] #4284
Conversation
Pull Request Test Coverage Report for Build 14099166171Details
💛 - Coveralls |
|
Doesn't work with our MSRV, sorry. Otherwise we would've done this a while ago. I agree that the current situation is pretty annoying. |
|
Hello @apoelstra , Could you please guide me where is the file: I want to run these failed CI jobs on my local machine. |
|
Just try to build the project with 1.63.0, like But the relevant files are in https://github.com/rust-bitcoin/rust-bitcoin-maintainer-tools |
❯ cargo +1.63.0 test
error: failed to load manifest for workspace member `/home/exec/Projects/github.com/rust-bitcoin/rust-bitcoin/base58`
Caused by:
failed to parse manifest at `/home/exec/Projects/github.com/rust-bitcoin/rust-bitcoin/base58/Cargo.toml`
Caused by:
feature `workspace-inheritance` is required
The package requires the Cargo feature called `workspace-inheritance`, but that feature is not stabilized in this version of Cargo (1.63.0 (fd9c4297c 2022-07-01)).
Consider trying a newer version of Cargo (this may require the nightly release).
See https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#workspace-inheritance for more information about the status of this feature.OK, the MSRV 1.63.0 not support Workspace Inheritance, So I'll remove |
fa85b1e to
0d52160
Compare
|
I removed |
path = [bala] for rust-bitcoin's workspace members dependencies. remove [patch.crates-io.balab]
Right, so in your local That being said, I don't know if there's a reason to not accept this patch to make this sort of thing work out of the box? |
There was a problem hiding this comment.
Sadly, I don't believe this is correct. The reason is secp256k1 depends on bitcoin-hashes via crates.io so doing this will cause it to pull the version from there rather than here. Since we removed ThirtyTwoByteHash this is not longer as bad as before but it still has the problem that it'll stop us from testing the chagnes to hashes with secp256k1.
However, if I understand it correctly, [patch] for hashes can still be there, so I request that you keep that one.
…review comment
Thank you, I added a commit to keep |
…review comment Signed-off-by: Eval EXEC <execvy@gmail.com>
353e0b0 to
da662fd
Compare
…review comment Signed-off-by: Eval EXEC <execvy@gmail.com>
da662fd to
bbf14a9
Compare
|
Thanks for your continued work on this. I think it's probably fine to remove the patch section for everything but Can you squash all these commits together, and add a comment next to the |
…o.toml Signed-off-by: Eval EXEC <execvy@gmail.com>
bbf14a9 to
9a572da
Compare
Thank you, I squashed and added comments for |
`cargo publish` does not allow publishing a crate without all dependencies having explicit version numbers. However in rust-bitcoin#4284 we started using `path = ../internals` for the `internals` dependency (as well as the rest of the repo crates). This means we cannot publish `units`. Change the dependency to the explicit version number of the latest `units` release.
|
This breaks |
What's the error report of cargo publish? |
|
@tcharding without this PR it's a bit annoying to directly depend on the repo. You basically have to copy/paste all the I don't think this is causing The exact error is The |
|
Oh I get it now, thanks. (I couldn't work out why one would want to do this and not be patching rust-bitcoin itself, but of course if folk want to test out |
`cargo publish` does not allow publishing a crate without all dependencies having explicit version numbers. We discovered recently that having patching the root manifest was annoying when downstream testing so we removing the version numbers in rust-bitcoin#4284 in favor of `path`. We should have included both ref: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#multiple-locations Props to nyonson for finding this. Add an explicit version number to the `internals` dep in `units`.
`cargo publish` does not allow publishing a crate without all dependencies having explicit version numbers. We discovered recently that having patching the root manifest was annoying when downstream testing so we removing the version numbers in rust-bitcoin#4284 in favor of `path`. We should have included both ref: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#multiple-locations Props to nyonson for finding this. Add an explicit version number to the `internals` dep in `units`.
`cargo publish` does not allow publishing a crate without all dependencies having explicit version numbers. We discovered recently that having patching the root manifest was annoying when downstream testing so we removing the version numbers in rust-bitcoin#4284 in favor of `path`. We can include both but having to explicitly opt in for any changes to `internals` for `units` seems better than accidentally creating something locally we cannot publish. Use an explicit version number to the `internals` dep in `units`.
`cargo publish` does not allow publishing a crate without all dependencies having explicit version numbers. We discovered recently that having patching the root manifest was annoying when downstream testing so we removing the version numbers in rust-bitcoin#4284 in favor of `path`. It turns out we can include both. Props to nyonson for discovering that. ref: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#multiple-locations Use an explicit version number to the `internals` dep in `units`.
|
Why did we remove the |
|
Probably just an oversight because we were so focused on dealing with the dependency hole. |
|
I've added version number in all the release tracking PRs. |
This PR want to:
workspace = truesyntax to import dependencies.path = [balabala]to define dependencies, instead of useing[patch.crates-io.balabala], fix: Can't use latest git version of rust-bitcoin #4283