Repository navigation
ci: run fuzz targets in parallel, build CI test wheels without LTO - #222
Merged
Merged
Conversation
✅ Deploy Preview for dryoc-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #222 +/- ##
=======================================
Coverage 68.32% 68.32%
=======================================
Files 115 115
Lines 10032 10032
=======================================
Hits 6854 6854
Misses 3178 3178 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two runner-time cuts borrowed from brndnmtthws/hessboost#124 (which itself took the
ciprofile and abi3 matrix from #221). Wall time is unchanged: the critical path iswindows-latest / stable / default(218 s in main run 36335261574).Changes
cargo fuzz runper CPU at a time; the build step already builds every target with the same flags, so each run only checks freshness. Logs go to$RUNNER_TEMP/fuzz-logs/. After all targets finish, each target's output is printed in its own::group::, in list order: printing as each one ended interleaved the groups of targets finishing together. If any failed, the step exits 1 with an::error::naming them. Crash artifacts upload as before.pythonjob's wheels are built only to be tested, but built withpython/Cargo.toml'slto = "fat"andcodegen-units = 1. The maturin step now setsCARGO_PROFILE_RELEASE_LTO=falseandCARGO_PROFILE_RELEASE_CODEGEN_UNITS=16(maturin-action forwardsCARGO_*into the manylinux container).python-sdistandpublish.ymlstill build and test with the real release profile. Wheel builds on main took 35–109 s (Windows 109 s).Verification
actionlint1.7.12 (with shellcheck 0.11.0) on the workflow; shellcheck on the extracted fuzz step.nprocshimmed to 4: all 9 targets ran their 11 s, step took 34 s (100 s sequential in CI).cargoshim failingfuzz-kemwith exit 77. The other 8 targets still completed,fuzz-kem (exit 77)showed its output, and the step exited 1 withfuzz targets failed: fuzz-kem.cargo build --release --lockedinpython/with the two overrides builds.