-
Notifications
You must be signed in to change notification settings - Fork 700
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
More flexible decl_test_parachains
macro in XCM emulator for BlockNumber
type
#4428
Comments
decl_test_parachains
macro in XCM emulatordecl_test_parachains
macro in XCM emulator for type BlockNumber
type
decl_test_parachains
macro in XCM emulator for type BlockNumber
typedecl_test_parachains
macro in XCM emulator for BlockNumber
type
@ntn-x2 And another question: Could you please elaborate further on what you mean exactly by 'cumulus 1.0 and trying to migrate to 1.1'? Are you attempting to update your Polkadot SDK dependencies to which version? This is just a guess, are you using this?
What is your desired target version here: Another topic, there is also possibility to change
I mean, if this fix works for you, I could possibly backport it to some older versions, for example: https://crates.io/crates/xcm-emulator/versions, just let me know :) |
@bkontur it looks like it would, yes 😄 But I need to pull in the changes to verify that.
Yes, we are migrating from
This would be a different thing, as we have not yet checked how old branch/tag refs change to crates.io releases. So the best for us would be to backport the fix basically to all releases of polkadot-sdk, if possible. That would need to be the same anyway even if fixes are to be pushed to crates.io, or not? Not sure how semver works in that case. |
@bkontur any updates on this? Can we hope to see it backported in all releases starting from 1.1? |
Hey @ntn-x2, sorry for the delayed response. It's no problem to backport stuff, but there's something I'd like to clarify before we proceed. I noticed that you want to stick to tag revisions like The issue here is that we don't typically backport pallet fixes to these branches. For runtime or pallet-related code, we usually use That's why I suggested considering the use of polkadot-sdk crates.io releases instead. Because it does not make sense to backport this kind of fixes to Another thing, I notice that you have two types of nodes - We have a tool for managing polkadot-sdk versions: https://github.com/paritytech/psvm, I've never tried it yet, but maybe @patriciobcs could help. There is also a @kianenigma's |
Thanks for the useful insights @bkontur! This is our first PR where we upgrade from the different repo to the monorepo, so we are still on time to switch to the branch that makes the most sense! I'll give time to other people from your side to chip in by Monday, after which we'll make an attempt to switch to the monorepo using a different mechanism. In that case I guess backporting the fix to the crates.io releases would make sense, and perhaps it should be done regardless, right? So that we can see if any other issues arise after that fix lands on the relevant versions. Cheers! |
This is not a critical issue that we can prioritize unfortunately. |
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428 (cherry picked from commit 9e0e5fc)
Hi @acatangiu, I understand. Thanks for your input. I opened a backport PR here: #4493. I hope it can get merged soon as it is resulting in failing to compile our integration tests. |
@ntn-x2 I checked you PR, yes, go ahead, and prepare backports for also my suggestion is to start with I did this bumping stuff for fellows for 1.7.0, you can also check some of my hints: polkadot-fellows/runtimes#101 (comment) |
I am not sure I understand your point? Are you suggesting that we could bump our runtime directly from 1.0 to 1.7? Will open the other backport PRs right away 🚀 |
Yes, exactly, from version 1.0 to 1.7. That's how I would do it, you can save a lot of work and time. So, thats why I think it does not make sense to start backporting before 1.7.0 |
I see. We will check that and perhaps bump directly to 1.7.0 and open backport PRs for those only. I think it's ok to still merge the backport PR to 1.1, which is basically what anyone would get after switching to the monorepo. As for the other intermediate versions, if you are implying there could be other issues as well, then perhaps it's ok to skip those. For the time being I will then open only PRs from 1.7 to 1.11 + 1.1, and open other ones if for some reason we will have to stop to those intermediate versions. Thanks for the guidance! |
…kNumber=u32` (#4434) (#4493) Cherry-picked from `master` (#4434). Context: #4428. I don't see any other way than opening other PRs for each of the released branches with this fix. If you guys have an alternative proposal, I am all ears. Otherwise, I'll go ahead and open the other ones once this gets merged. Co-authored-by: Branislav Kontur <[email protected]>
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428
@bkontur I am still struggling to find more info about the new way of depending on polkadot-sdk versions. I see few tools being built around crates.io versions since they are apparently hard to manage, but no mentions, not even in the release notes for the 1.1 version, about the change in the branching strategy. All I found out is that releases are still based on the |
…kNumber=u32` (#4434) (#4496) Context: #4428 and #4493. Co-authored-by: Branislav Kontur <[email protected]>
…kNumber=u32` (#4434) (#4497) Context: #4428 and #4493. Co-authored-by: Branislav Kontur <[email protected]>
…kNumber=u32` (#4434) (#4498) Context: #4428 and #4493. Co-authored-by: Branislav Kontur <[email protected]>
…kNumber=u32` (#4434) (#4499) Context: #4428 and #4493. Co-authored-by: Branislav Kontur <[email protected]>
…kNumber=u32` (#4434) (#4500) Context: #4428 and #4493. Co-authored-by: Branislav Kontur <[email protected]>
I asked others for more materials (I will let you know), but at least check this: https://forum.polkadot.network/t/polkadot-sdk-version-manager/ |
@bkontur hey any updates on the release strategy you mentioned? We found out other projects mostly follow the |
As a follow-up point, we noticed that, at least for v1.1.0, |
@ntn-x2 I would definitely go with crates.io dependencies and For example, |
@bkontur yes, we've used the crates.io release branch for our runtime components. My doubt is more on what strategy we should follow for our client side, which is of course not a concern for the runtimes repo, with which we agree for runtime dependencies 😊 |
really, I would suggest to use just crates.io dependencies everywhere instead of any release branch, we release patches when needed to crates.io :) E.g. this is just client library: https://crates.io/crates/cumulus-relay-chain-inprocess-interface, everything is there in the crates.io. So e.g. instead of: https://github.com/KILTprotocol/kilt-node/blob/master/Cargo.toml#L131
I would go everywhere just directly from crates.io:
|
@ntn-x2 Is this for KILT parachain? Do you run any custom client logic in your KILT collators/RPC/nodes? If not you should be able to simply use the If you can't use |
Interesting, we will check this. Thanks @acatangiu! |
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428
The history of this is a bit messy because we used to not have any crate releases and git was the recommended way to use polkadot. The Now that we have crates.io releases, we have a similar but separate system to generate the releases. We branch off of the same commit that These two branches exist because we use them to generate our releases. They are visible because we are open source and they can be useful for hacking/investigation purposes. I do not recommend any one uses the |
@Morganamilo For instance, the Rococo runtime in Polkadot version 1.7.0 corresponds to crates.io version 8.0.0. This crate does not compile, and I noticed that there is a backported fix in the release-crates-io-v1.7.0 branch (fix). However, this fix does not appear to be present in the crates.io version - there the crate is not compiling at all. Could you please clarify where the releases for the crates.io version are made? Thank you for your comment. I appreciate your work and don't mean to criticize, but as a developer, it is frustrating when there are inconsistencies and differing instructions. |
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428
…kNumber=u32` (paritytech#4434) Closes: paritytech#4428
The following line
polkadot-sdk/cumulus/xcm/xcm-emulator/src/lib.rs
Line 660 in 0044077
u32
. When this assumption is not maintained, XCM emulators-based tests do not compile. We think theBlockNumber
definition should come from the runtime implementation of theframe_system
pallet and not hardcoded to beu32
as specified inparachains_common
.We are on cumulus 1.0 and trying to migrate to 1.1. The issue still persists today, so I am wondering if we should comment out the integration tests until we upgrade to a version of the XCM emulator that includes the fix?
The text was updated successfully, but these errors were encountered: