-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Exploratory PR for checking cargo features for the most important crates #10130
Exploratory PR for checking cargo features for the most important crates #10130
Conversation
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.
thanks for looking into this,
very much supportive, but I'd like to do this incrementally.
I think we can start with the std feature changes in reth-primitives and then looking at the rpc stuff
Sure @mattsse , I can split this into 4 PRs actually.
Does this plan work? |
Closing as splitted PRs got merged |
Hello!
Sovereign team uses reth for building ZK rollups and for this we need crates
reth-primitives
andreth-rpc-types
to be compiled without default features or with some minimal set of features.This PR adds
cargo hack
to CI and makefile to validate that cratesreth-primitives-traits
,reth-primitives
,reth-codecs
andreth-rpc-types
can compile with all feature combinations.These checks fail on recent main branch, so this PR also introduces fixes for it, described below
Main fixes
thiserror
and feature gate it behind std. Some details I've described in Fix various compilation errors for no-std in crates #9478 (comment) . But this PR does not remove it from whole repo, I leave it up to the reth team.zstd
is only supported together withstd
, as it is very hard to getzstd
work inno_std
c-kzg
is only supported together withstd
, for similar reason aszstd
.jsonrpsee
related types inreth-rpc-types
behinddefault
feature flag, so it is possible to compile it for riscv without default features. This was mentioned in auto-closed issue Add CI check thatreth-primitives
compiles to RISC-V #8176As I put it in the title, I treat this PR as exploratory, but I tried my best to make it mergable and the best quality.
I don't insist on any attribution for these changes, I am interested in having core idea of it in the main branch.
This means that reth team can copy paste any parts of this PR under their name in their own pace.