ci: repair fuzz smoke after decrating absorptions#83
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 34 minutes and 4 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Two fuzz targets still imported from the old pre-decrating module paths and from a crate that no longer exists: - fuzz_targets/load_state.rs imported shipper::state::load_state, but the function now lives at shipper::state::execution_state::load_state after the state module was restructured into sub-modules. - fuzz_targets/engine_parallel_chunks.rs imported the standalone shipper_engine_parallel crate, which was absorbed into shipper::engine::parallel. The return type of chunk_by_max_concurrent also needs an explicit annotation for the fuzz input to type-check. The Fuzz Smoke CI step also still invoked `cargo fuzz run policy_effects`, but that target was deleted when shipper-policy was absorbed into shipper::runtime::policy (commit 54dbadf). Drop the stale invocation so the job no longer fails on a missing target. All fuzz binaries now compile cleanly from scratch.
c31ac70 to
93e9ebd
Compare
* ci: restrict architecture-guard grep to .rs files
The architecture-guard job uses grep -rE to assert that lower layers
don't import upward. Without --include='*.rs', grep also scans the
per-layer CLAUDE.md files — which, for documentation purposes, explicitly
list the forbidden import patterns ('use crate::engine::...' etc.) as
examples of what NOT to do.
That's enough to flip the guard red on every push to main, even though
no .rs file actually violates the rule. Filter the grep to .rs files for
each of the four layer checks (ops, runtime, state, plan).
Verified locally that all four per-layer greps report clean on main.
* ci: drop policy_effects from nightly fuzz matrix
Same class of stale reference as the PR Fuzz Smoke lane (#83): the
policy_effects fuzz target was deleted when shipper-policy was absorbed
into shipper::runtime::policy (commit 54dbadf), but the nightly fuzz.yml
matrix still lists it. Would fail every scheduled nightly run at 3 AM UTC.
Summary
Two fuzz targets still referenced the pre-decrating module layout, and the Fuzz Smoke CI step still invoked a target that no longer exists:
fuzz_targets/load_state.rsimportedshipper::state::load_state, but the function moved toshipper::state::execution_state::load_statewhen the state module was split into sub-modules.fuzz_targets/engine_parallel_chunks.rsimported the standaloneshipper_engine_parallelcrate, which was absorbed intoshipper::engine::parallel. Added the explicitVec<Vec<String>>return-type annotation that the absorbed signature now requires for the fuzz input to type-check..github/workflows/ci.ymlstill rancargo fuzz run policy_effects, but that target was deleted whenshipper-policywas absorbed intoshipper::runtime::policy(54dbadf). Dropped the stale invocation.Verification
cargo check --binsagainst a cleanedfuzz/target/— all 29 fuzz binaries compile from scratch in ~36s.Test plan
This is PR 3 in the release-hardening sprint (audit → nextest → fuzz → package-truth → rehearsal → publish).