Conversation
joncinque
left a comment
There was a problem hiding this comment.
The JSON configuration feels a bit over-engineered -- how about having two separate jobs, one for core and one for alloc?
As for features, we should be able to keep the interfaces and programs simple enough that they don't need default features, which means we don't need to exclude.
What do you think?
The issue is the non-default features that are checked as well via check-no-std-%:
cargo $(nightly) hack check \
--target bpfel-unknown-none \
--each-feature \
+ --exclude-features atomic,batch-verify,bincode... \
--package $* \
$(ARGS)What do you think? |
|
Ah sorry I forgot about the |
joncinque
left a comment
There was a problem hiding this comment.
Just a small point, the rest looks great to me!
Co-authored-by: Jon C <me@jonc.dev>
Co-authored-by: Jon C <me@jonc.dev>
Introduces optional no-std package checks to the main action.
API
Consumers provide package lists by no-std mode:
no-std-core-packagesrunsmake check-no-std-core-<package>no-std-alloc-packagesrunsmake check-no-std-alloc-<package>The consumer owns the exact
cargo hackflags (and any necessary excludes) for each mode:Workflow usage looks like: