-
Notifications
You must be signed in to change notification settings - Fork 134
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
ci: Optimize CI configuration and improve test setup #56
ci: Optimize CI configuration and improve test setup #56
Conversation
a7d927f
to
31d9ac9
Compare
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 so much for this work! We have pending housekeeping with this repo and that helps so much!
Will enable the merging queue too and add main
branch protection rules.
Also, as for the build yes, we can remove it! So feel free to. And IMO, we should add a test with no features enabled. Since now we only know results for asm
and bn-table
features. But we don't know anything for no-default-features.
@huitseeker Could you also include in the PR the |
Uses nextest (https://nexte.st/) and rust-cache (https://github.com/Swatinem/rust-cache) to improve CI. - Add new `.config/nextest.toml` config - reduce log clutter with environment variable adjustments - Increase CI efficiency by canceling in-progress jobs
- Update Rust version to 1.63.0 in Cargo.toml
6f3655b
to
d557cb6
Compare
- Update CI workflow with new trigger to support merge group - Integrate new build matrices: Test has: { no-defauit-features, default } Bench has: { default, asm, bn-table }
@CPerezz I have set up the merge_group triger, and the following feature matrices: I'm of course happy to adjust. I have also deleted the build job (beware, this may require changes to the branch protection settings to no longer mark this job as required from a CI PoV). Successful run on my fork: |
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 improving the CI so much, cargo nextest
looks so great!
@CPerezz It may have been too early to turn on the merge queue: CI jobs will only fire if their trigger is on a workflow file contained in the main branch of the repo. And the merge group statements I’m adding in this PR are, well, not yet there. IOW this PR may need manual merging, after which all others could use the merge queue. |
What?
Uses nextest (https://nexte.st/) and rust-cache (https://github.com/Swatinem/rust-cache) to improve CI.
.config/nextest.toml
configTest & perf
Nextest shows a -33% reduction in test runtime (~6 -> ~4 min).
Successful run on my fork:
https://github.com/huitseeker/halo2curves/actions/runs/5324471954/jobs/9643816689
Notes
I remark that the build target, apart for not using release mode, is redundant with the test job (and I checked debug assertions are not used in the code base). Could we eliminate it?