-
Notifications
You must be signed in to change notification settings - Fork 325
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
feat: multi-crate ELF building support #1750
Conversation
SP1 Performance Test Results Branch: aurelien/gro-154-multi-crate-elf
|
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.
Are test artifacts automatically built when running tests? Is it feasible to do this in CI now, or even with a build.rs in the test-artifacts
crate?
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.
LGTM
just for my own understanding, you use --binaries
when you need to build multiple elfs for multiple sp1 programs within the same package, and you use --packages
when you need to build multiple packages?
Does that mean code like this is now deprecated (from RSP)?
use sp1_build::build_program;
fn main() {
build_program("../client-eth");
build_program("../client-op");
build_program("../client-linea");
}
And you'd instead do something like
build_program_with_args("path_to_workspace_root", BuildArgs{packages=vec!["client-linea", "client-op", "client-eth"], ..Default}
This is better than the previous approach, because it's parallelized.
@yuwen01 Yes exactly. And if the 3 crates in your example above are the only ones in theirs workspace, you don't even neet to specify them as |
I renamed
--binary
to--binaries
as it's more accurate now, but I'm not sure as it's a breaking change.Also, maybe I can do this:
sp1/crates/build/src/utils.rs
Lines 21 to 23 in 97bb83d