chore(build-engine): route production .fbuild walks through fbuild-paths - #1392
Merged
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughThe build engine replaces hard-coded ChangesFbuild path constant adoption
Estimated code review effort: 2 (Simple) | ~10 minutes ✨ 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 |
…paths Fourth ratchet batch for #1349. Allowlist 33 -> 28. Scoped to `fbuild-build-engine`'s *production* sites — the skip-lists and path walks that decide what a build looks at: - `FAST_PATH_EXCLUDES` and the source scanner's skip-list are `const` arrays, and `FBUILD_DIR_NAME` is a `const &str`, so it drops straight in. - `framework_libs`' two `matches!` arms take it as a const pattern. - `compiler`'s ancestor walk compares against it. - `symbol_analyzer`'s ELF search builds `<.fbuild>/<build>` from both segments rather than spelling the pair. These matter more than a spelling fix: a skip-list that disagrees with the real directory name silently stops excluding the build tree, so a warm build starts fingerprinting its own output. The five test-fixture files in this crate are deliberately left for the next batch — they are a different kind of change (hand-rolled layouts in assertions) and mixing them here would bury the production edits. Verified with a genuinely rebuilt lint: main already carried version 0.1.3, so the usual bump was a no-op and the first clean run could have been a stale `.so` still holding the old allowlist. Bumped to 0.1.4 and re-ran, then confirmed the lint still fires here by reintroducing a canary literal (exit 1, one finding) and removing it again. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
zackees
force-pushed
the
chore/1349-ratchet-batch4
branch
from
August 23, 2026 23:30
8edaa32 to
3a05043
Compare
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.
Fourth ratchet batch for #1349. Allowlist 33 → 28.
Scope: production sites only
The five
fbuild-build-enginefiles here are the skip-lists and path walksthat decide what a build looks at:
build_fingerprint/fast_path.rsFAST_PATH_EXCLUDESconst arraysource_scanner.rsframework_libs.rsmatches!armscompiler.rssymbol_analyzer/mod.rs<.fbuild>/<build>FBUILD_DIR_NAMEis aconst &str, so it drops straight into the constarrays and works as a const pattern in
matches!— no restructuring needed.These are worth more than a spelling fix. A skip-list that disagrees with the
real directory name silently stops excluding the build tree, and a warm build
then starts fingerprinting its own output.
The crate's five test-fixture files are deliberately left for the next
batch. They are a different kind of change — hand-rolled layouts inside
assertions — and mixing ten files of two kinds would bury the production edits
in fixture churn.
Verification, including a near-miss worth recording
Main already carried lint version
0.1.3(from #1387), so the habitual0.1.2 → 0.1.3bump was a no-op. The first clean dylint run couldtherefore have been a cached
.sostill holding the old allowlist — whichwould allowlist exactly the five files under test and report zero findings for
the wrong reason.
Bumped to
0.1.4, re-ran: still clean. Then confirmed the lint actually fireson these files by reintroducing a canary
".fbuild/canary"literal intosource_scanner.rs— exit 1, one finding — and removing it again.soldr cargo test -p fbuild-build-engine --lib: 405 passed, 0 failed-D warnings: cleanRemaining
28 entries: fbuild-build 12, fbuild-build-engine 5 (tests), fbuild-cli 9, plus
the 2 sanctioned definition sites.
fbuild-clicontinues to sit out while#1384 has
cli/args.rsopen.Summary by CodeRabbit