-
Notifications
You must be signed in to change notification settings - Fork 1.1k
[stable2412] pallet-revive: remove related crates from umbrella #7894
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
[stable2412] pallet-revive: remove related crates from umbrella #7894
Conversation
|
@iulianbarbu #7446 this is the pr you are searching for. This is not related to pallet-revive. The problem is scale codec or better broken code in this crate. |
|
Linked the wrong pr 🙈 #7437 is the correct one. |
Nice, thanks for the lead @bkchr ! Will take a look to clarify it on my end. I thought that the underlying reason for why sc-network 0.47.0 fails is important, but I also noticed sc-network 0.48.0 builds successfully (part of stable2412 too), so I assumed things got fixed in between. It was more important to release a working |
This looks really horrible! :D If these crates are not publishable, yes we should not add them, but with 2503 this should change, as we want to put these crates onto the production networks. |
I see. If that's the case, maybe this PR should be applied only on top of stable2412, and then ensure that |
Yes that make sense to me, ideally we want to keep pallet-revive in the umbrella crate in master as well as publishing eth-rpc to crates.io |
Signed-off-by: Iulian Barbu <[email protected]>
bacf1b3 to
0492be1
Compare
|
I rebased the branch on top of |
Signed-off-by: Iulian Barbu <[email protected]>
Signed-off-by: Iulian Barbu <[email protected]>
|
Lots of tests are failing due to various reasons which seem unrelated to the changes. I think we don't expect the CI to be green for backports like this. |
|
There are actual hard build errors here. They exist because the kitchensink-runtime still depends on
|
Signed-off-by: Iulian Barbu <[email protected]>
Signed-off-by: Iulian Barbu <[email protected]>
Signed-off-by: Iulian Barbu <[email protected]>
Signed-off-by: Iulian Barbu <[email protected]>
|
Built |
|
Multiple kitchensink tests fail to build because pallet-revive is not around anymore. I might be able to fix them, but I am not sure how valuable this is. Build failure: https://github.com/paritytech/polkadot-sdk/actions/runs/13838785891/job/38720764717?pr=7894. Other CI workflows fail but I am not sure if they are supposed to pass on the cc @athei @pgherveou, I would love another look on the PR. |
|
The build failures now are due to the fact that the |
Yep, will do that. Not sure if the tests will pass though, hopefully yes. |
TLDR, above is correct. We can tune down to minor the More context on what's failing before zepter fix:
|
|
Now the short benchmarks workflows fail after the zepter fix: https://github.com/paritytech/polkadot-sdk/actions/runs/13970718623/job/39111667946?pr=7894. It looks like some runtime API is missing. Maybe a missing backport? cc @franciscoaguirre |
|
Looks like it. These things should've been backported but I'll check which one is missing |
|
Weird, I'm able to execute this locally: Built the runtime with |
Signed-off-by: Iulian Barbu <[email protected]>
Same, trying the CI without forklift. 🤔 |
|
I had to do this on this branch to make stuff compile: a965960#diff-ca8e59f5a23b8cade9cf116fb3d9f30c56d174691d11d971b70f7251ea4c21d4R21. At the same time, master seems to use something differently: https://github.com/paritytech/polkadot-sdk/blob/master/polkadot/xcm/pallet-xcm-benchmarks/src/generic/benchmarking.rs#L22. Blaming on this line shows up a PR from Nov 28 2024: github.com/paritytech/polkadot-sdk/pull/6618. Should've this been backported too? Doesn't seem related to |
|
Did your fix work @iulianbarbu? Can you push it? |
No fix 😞 . My trials were related only to running benchmarks without forklift, which resulted in same failures. |
Signed-off-by: Iulian Barbu <[email protected]>
This reverts commit 16ae3fa.
|
I am now able to reproduce this on my dev machine on scaleway. cc @franciscoaguirre (not sure how this happens - e.g. last time I tried to reproduce it I was running ony my personal desktop machine, and for some reason all benchmark tests passed). What's more interesting is that the test started to fail on the CI after merging the zepter/missing backport commit from you. Ways to reproduce:
I am able to consistently reproduce the initiate_teleport failure. Can you try again the above? |
|
Awesome! I'll try to reproduce it and check out that error |
|
Thanks for the fix @franciscoaguirre ! Now xcm benchmarks pass again. I think we're good to go with this. cc @athei @ggwpez |
|
There seem to be some issues with the umbrella crate and the toml format? |
Signed-off-by: Iulian Barbu <[email protected]>
Fixed taplo, and I considered umbrella check not a must to fix with this PR (it fails on most of the release branches since inception). The fix is to continously update the script call to use the version from umbrella/Cargo.toml. I think we can do a proper fix for this in master, and backport it where necessary. Opened #8029. At the same time, fixing taplo dismissed @ggwpez review again. Sorry, I'll need another approve. |
|
@EgorPopelyaev looks like it is good. Are you able to merge this? |
|
Nice! Yes, will do it. |
6a5be3e
into
paritytech:stable2412
Description
When building
polkadot-sdk-parachain-templateworkspace (cargo build --workspace --all-features), based onstable2412dependencies (paritytech/polkadot-sdk-parachain-template#26), it fails with an error like below.error message
error[E0080]: evaluation of constant value failed --> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sc-network-0.47.0/src/protocol/message.rs:79:40 | 79 | #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode)] | ^^^^^^ the evaluated program panicked at 'Found variants that have duplicate indexes. Both `Consensus` and `RemoteCallResponse` have the index `6`. Use different indexes for each variant.', /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sc-network-0.47.0/src/protocol/message.rs:79:43 | = note: this error originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `::core::panic` (in Nightly builds, run with -Z macro-backtrace for more info)error[E0080]: evaluation of constant value failed
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sc-network-0.47.0/src/protocol/message.rs:79:48
|
79 | #[derive(Debug, PartialEq, Eq, Clone, Encode, Decode)]
| ^^^^^^ the evaluated program panicked at 'Found variants that have duplicate indexes. Both
ConsensusandRemoteCallResponsehave the index6. Use different indexes for each variant.', /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sc-network-0.47.0/src/protocol/message.rs:79:51|
= note: this error originates in the macro
$crate::panic::panic_2021which comes from the expansion of the macro::core::panic(in Nightly builds, run with -Z macro-backtrace for more info)For more information about this error, try
rustc --explain E0080.error: could not compile
sc-network(lib) due to 2 previous errorsThe root cause is
sc-network 0.47.0(which builds fine when >=0.48.0), a dependency ofpallet-revive-eth-rpc 0.2.0, which is a dependency ofpolkadot-sdk 0.12.1, used for various things inpolkadot-sdk-parachain-templaterepo. While investigating how to fix the issue onstable2412, I discovered a few things:pallet-revive 0.3.1can not build withruntime-benchmarksbased on lateststable2412, and it is also a dependency ofpallet-revive-eth-rpc 0.2.0, and pulled bypolkadot-sdk 0.12.1for itsruntime-benchmarksfeature.Based on some chats started here: [pallet-revive] fixture as dev dep #7844 (comment), we identified that
pallet-revive/pallet-revive-eth-rpcwere set withpublish = falsefor a good reason and it shouldn't have changed here: 31b5923. We also identified as a potential fix what this PR does, meaning removing thepallet-revive/pallet-revive-eth-rpcdependency ofpolkadot-sdk. I removed the other dependencies as well since I feel it does not make sense to still keep them oncepallet-reviveis out.Releasing correct crates for
pallet-revive*and use them inpolkadot-sdkisn't yet necessary IMO, since some things still need to be polished, and given their builds fail when building certain features, they are not usable by users fully, so maybe not worth keeping partial working functionality around just for the sake of having the crates inpolkadot-sdk- please challenge this if you think differently. Ideally, we will make these pallets available for developers to use viapolkadot-sdkwhen all builds correctly with all features.Integration
Runtime/Node devs will not be able to reference
pallet-revive*pallets anymore viapolkadot-sdk, so this is a breaking change, but if their usage is close to zero by polkadot devs we can tune it down and consider it a minor change forpolkadot-sdk.Review Notes
If we think this requires a major bump for
polkadot-sdk.. then we can't look at the PR as a fix forstable2412and associated publishedpolkadot-sdkversion. If we considerpallet-revivelogic not being necessarily used by polkadot devs so not very breaking from usage perspective, then we can go with a minor bump and finally have a workingpolkadot-sdkfor `stable2412.We also considered fixing
pallet-revive&pallet-revive-eth-rpconstable2412, and publish correct versions oncrates.io, and then follow with apolkadot-sdkpublish that depends on them, and in the endpolkadot-sdk-parachain-templateworkspace would build successfully based onstable2412crates, but this is more work which could've been done by now if it was necessary - e.g. in a scenario where actual developers were using them (instead of setting the crates withpublish = false), so I think it makes sense to remove them for now frompolkadot-sdk.IMO this PR should be backported to stable2503 too. ReleasingWe actually want to fixpolkadot-sdkwithpallet-revive*dependencies can be done with the June release if things are more stable by then.pallet-revive*crates for stable2503, so must be kept in master and 2503 branch.