-
Notifications
You must be signed in to change notification settings - Fork 256
Fix runtime no-std/std builds, and other missing features #3426
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
Conversation
vedhavyas
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which crate was brining the std that lead to runtime builds being failed ?
| cargo -Zgitoxide -Zgit nextest run --locked | ||
| # This job checks all crates individually, including no_std and other featureless builds | ||
| cargo-check-individually: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
technically not required if we can just clippy consensus runtime and domain runtimes with no-std
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would only discover some issues. The runtimes all build with commit 94bff8b, but there are fixes to 10+ other crates that are only covered by this check (see the fix commits after that commit).
It only takes 2.5 minutes (edit: still working out how long it takes) to run these checks, so it seems worth doing them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which crate was brining the std that lead to runtime builds being failed ?
Before PR #3411, a significant number of crates had std features activated, but bug mainmatter/cargo-autoinherit#40 in the automated workspace dependency tool disabled those features.
This PR restores the previous std dependencies as they were before PR #3411.
If we want to enable/disable std in subspace-runtime, let’s do that in another PR?
Commit 94bff8b (and maybe earlier commits) are the ones to look at to make that change.
Edit: I also need to fix the CI cache keys to avoid conflicts.
| cargo -Zgitoxide -Zgit nextest run --locked | ||
| # This job checks all crates individually, including no_std and other featureless builds | ||
| cargo-check-individually: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would only discover some issues. The runtimes all build with commit 94bff8b, but there are fixes to 10+ other crates that are only covered by this check (see the fix commits after that commit).
It only takes 2.5 minutes (edit: still working out how long it takes) to run these checks, so it seems worth doing them.
bd896da to
fb6542e
Compare
This comment was marked as resolved.
This comment was marked as resolved.
| rand = { workspace = true, features = ["min_const_gen"] } | ||
|
|
||
| # test-ethereum dependencies | ||
| ethereum.workspace = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need this to be duplicated in test deps and actual deps ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because it is required by the tests, but optional for production code.
I merged that branch into this PR, and updated the names and documentation based on your review in PR #3427. |
PR #3411 removed default features that should have been included in some dependencies (but weren't included in every dependency). This PR restores those default features.
It also adds two extra jobs to PR CI, so this doesn't happen again:~~
Code contributor checklist: