test(ci): give run_lint_gates a compile tier mirroring the warnings + check jobs - #8344
Merged
Conversation
added 2 commits
August 18, 2026 07:58
Deriving only from the lint job is not the same as what CI runs. #8333 left a test helper unused, main went red on the separate warnings job, and this script reported 'all 48 gates passed' throughout. Add cargo check --workspace --all-targets under -D warnings and cargo clippy --workspace, over the same host-compatible scope CI derives from workspace_architecture.py. SKIP_COMPILE_GATES=1 keeps a fast path and says so in the summary.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe lint gate script now adds optional compile checks. It derives workspace exclusions, runs warning-enforced ChangesLint gate execution
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
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.
Why
scripts/run_lint_gates.shderived its command list from test.yml'slintjob only. The compile-level gates live in two separate jobs:
warnings—cargo check --workspace --all-targetsunder-D warningscheck—cargo clippy --workspaceSo the script could report
all 48 gates passedwhilemainwas red.That is not hypothetical. #8333 rewrote two assertions in
crates/perry-codegen/tests/typed_feedback.rsand left theblock_bodyhelperwith no callers.
mainwent red onwarnings:It was merged, and every PR audited afterwards got a green "48 gates" report
from this script while the repo was broken. #8339 fixed the warning; this fixes
the blind spot that let it through. A tier you do not run is a tier that did not
pass — which is the argument this script exists to make.
What
scripts/workspace_architecture.py --print-excluded-scope host-compatible,exactly as both CI jobs do, so the anti-drift property is preserved rather
than hardcoded (18 exclude args at time of writing).
SKIP_COMPILE_GATES=1keeps a fast path for iteration. A skipped run prints(compile tier SKIPPED)in the summary, so it cannot be mistaken for a fullone.
Validation
main(with fix(codegen): silence a pre-existing dead_code warning on a test helper #8339):run_lint_gates: all 50 gates passedrun_lint_gates: 2 of 50 FAILED,naming
warnings: cargo check --workspace --all-targets. Run againstmainbefore fix(codegen): silence a pre-existing dead_code warning on a test helper #8339 it independently reported the real
block_bodyerror, i.e. itwould have caught fix(dyn_eval): root global this before env_new_root allocates; fix two pre-existing codegen tests #8333.
SKIP_COMPILE_GATES=1→all 48 gates passed (compile tier SKIPPED)bash -n scripts/run_lint_gates.shSummary by CodeRabbit
New Features
Documentation