Repository navigation
ci: auto-review stacked PRs whose base is a feat/ or fix/ branch - #1822
Conversation
|
@greptileai review |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 5 remain after this review. 📝 WalkthroughWalkthroughThe repository adds ChangesAuto-review configuration
Priority: ➖ Normal Estimated code review effort: 1 (Trivial) | ~5 minutes Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to This change enables automatic reviews for stacked PRs based on feature and fix branches without changing application behavior. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ 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 |
Greptile SummaryThe PR extends CodeRabbit automatic-review eligibility to stacked PRs targeting
Confidence Score: 5/5The PR appears safe to merge with no actionable issues identified. The configuration extends automatic reviews to the intended stacked branch prefixes without disabling reviews for the default branch or broadening eligibility to unrelated branches. Important Files Changed
Reviews (1): Last reviewed commit: "ci: auto-review stacked PRs whose base i..." | Re-trigger Greptile |
|



Closes #1581.
CodeRabbit auto-review defaults to the default branch only, so on a stacked
chain every layer above the bottom is skipped and only the bottom PR is ever
read. The issue measured 14 of 18 open PRs never reviewed, each carrying a
skip notice that is easy to read as a clean result.
reviews.auto_review.base_branchesaccepts regex patterns and defaults to[], which is precisely why every stacked PR was skipped.One correction to the issue
#1581 states the repo has no
.coderabbit.yamland the fix is a pureaddition. It has one now, added by 9320c7c for #1617 to turn off the
docstring pre-merge check. So this is an edit, and that setting had to be
preserved. Verified it still parses as the string
offafter the change --the quotes are load-bearing, since unquoted
mode: offyields booleanFalse, which is schema-invalid.Why two anchored prefixes rather than
.*A base that is neither the default branch nor a recognised stack layer should
keep default behaviour rather than silently opting in.
The
^is load-bearing. Unanchored, under search semantics,feat/.*andfix/.*would also matchnotfeat/x,release/feat/x,myfix/xandhotfix/urgent. Anchored, all four correctly do not match. The trailing.*is redundant under search semantics but required under fullmatch, and the
vendor docs do not say which is used, so it is kept.
Verification
Draft202012Validator(thedialect the schema declares): 0 errors. Four controls confirm the validator
can fail -- string-not-array, a root typo key,
mode: false, a bad enum.mainbase(feat: change_signature edit operation with per-site argument mapping (#1533) #1548-feat: context tool, a graph-ranked token-budgeted context slice (#1536) #1551, feat: add Rust dynamic call-graph tracer (dyn dispatch capture) #1274, feat: add JVM runtime call tracing agent with dynamic CALLS edge provenance #1260, fix: name a Rust inline mod under class scope by one qn rule #1114, fix: claim nothing for an unrepresentable Rust #[path] target #1112, fix: count Rust super:: and self:: from the enclosing inline mod #1111) used a
feat/orfix/base. The 64
chore/docs/test/ci/refactor/perfPRs were all based onmain.feat/postcondition-contract,feat/move-op,fix/incremental-init-packageall match;maindoes not.Note when re-deriving that coverage: PRs retargeted to
mainbefore mergingnow REPORT
base=main, so recent history understates which prefixes werestack bases. #1571-#1576 read as
maintoday and werefix/...when theissue was written.
Known gap, not introduced here
Nothing validates
.coderabbit.yamlbefore merge.check-yamlchecks syntaxonly, and the vendor schema sets
additionalProperties: falseat the ROOTonly -- so a
base_brancheztypo underauto_reviewvalidates with 0 errorsand silently restores the bug this PR fixes. Measured, not assumed.
The repo has the right precedent in
scripts/validate_labels.py, wired intopre-commit and
ci.yml. A follow-up doing the same for.coderabbit.yamlwould close it. Filing separately rather than widening this PR.
Summary by CodeRabbit