-
Notifications
You must be signed in to change notification settings - Fork 857
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
base: stable2412
Are you sure you want to change the base?
[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. |
Signed-off-by: Iulian Barbu <[email protected]>
Description
When building
polkadot-sdk-parachain-template
workspace (cargo build --workspace --all-features
), based onstable2412
dependencies (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
Consensus
andRemoteCallResponse
have 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_2021
which 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-template
repo. While investigating how to fix the issue onstable2412
, I discovered a few things:pallet-revive 0.3.1
can not build withruntime-benchmarks
based on lateststable2412
, and it is also a dependency ofpallet-revive-eth-rpc 0.2.0
, and pulled bypolkadot-sdk 0.12.1
for itsruntime-benchmarks
feature.Based on some chats started here: [pallet-revive] fixture as dev dep #7844 (comment), we identified that
pallet-revive/pallet-revive-eth-rpc
were set withpublish = false
for 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-rpc
dependency ofpolkadot-sdk
. I removed the other dependencies as well since I feel it does not make sense to still keep them oncepallet-revive
is out.Releasing correct crates for
pallet-revive*
and use them inpolkadot-sdk
isn'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-sdk
when 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 forstable2412
and associated publishedpolkadot-sdk
version. If we considerpallet-revive
logic 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-sdk
for `stable2412.We also considered fixing
pallet-revive
&pallet-revive-eth-rpc
onstable2412
, and publish correct versions oncrates.io
, and then follow with apolkadot-sdk
publish that depends on them, and in the endpolkadot-sdk-parachain-template
workspace would build successfully based onstable2412
crates, 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-sdk
withpallet-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.