fix: enable CodeRabbit approvals via request_changes_workflow#12476
Conversation
CodeRabbit's effective config (from the `@coderabbitai configuration` command) showed request_changes_workflow: false, which is why it only ever commented and never approved — CodeRabbit submits approving reviews only when this is true. The dashboard toggle wasn't taking effect, so declare it in-repo. Also explicitly disable pre_merge_checks: they're enabled by default and in the dashboard (removing the block from the config did not turn them off), and they add a status block without review value here. Title enforcement stays covered by the commit-msg hook and squash-title convention.
|
Caution Review failedThe pull request is closed. Warning Ignoring CodeRabbit configuration file changes. For security, only the configuration from the base branch is applied for open source repositories. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthrough
ChangesCodeRabbit Configuration Update
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested labels
✨ 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 |
PR Summary by QodoEnable CodeRabbit approvals by turning on request_changes_workflow Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1. No PR title enforcement
|
| title: | ||
| mode: "off" |
There was a problem hiding this comment.
1. No pr title enforcement 🐞 Bug ⚙ Maintainability
Disabling reviews.pre_merge_checks.title removes CodeRabbit’s PR-title check, but the replacement referenced in comments is a local commit-msg hook that validates commit messages (not PR titles) and won’t run for GitHub-created squash merge commits. This makes Conventional-Commit-style PR/squash titles best-effort rather than reliably enforced by the repo’s automation.
Agent Prompt
### Issue description
`.coderabbit.yaml` disables CodeRabbit’s PR title pre-merge check (`pre_merge_checks.title.mode: "off"`). The file comments state title enforcement is already covered by a `commit-msg` hook, but that hook is local-only and checks commit message text, not PR titles, and it won’t run for GitHub UI–created squash merge commits.
### Issue Context
The repo documents and implements local commit-message enforcement via husky/commitlint, but that mechanism is not a server-side gate.
### Fix Focus Areas
- `.coderabbit.yaml[22-34]
- `.husky/commit-msg[1-3]
- `AGENTS.md[176-186]
### Suggested fix options
Pick one:
1) Re-enable CodeRabbit’s title check (e.g., set `pre_merge_checks.title.mode` back to `warning`/the desired non-blocking mode).
2) Add a GitHub Actions workflow that validates PR titles (and/or the would-be squash commit title) against Conventional Commits, and make it a required status check if you want it enforced.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
What
Declares
reviews.request_changes_workflow: truein.coderabbit.yamland explicitly disablespre_merge_checks.Why
CodeRabbit stopped approving PRs. Querying its effective config via the
@coderabbitai configurationcommand revealed the actual cause:request_changes_workflow: falseis dispositive — CodeRabbit submits an approving review only when this istrue; otherwise it just comments and resolves threads. The dashboard toggle for this was believed to be on, but the effective config proves it isn't being applied (likely scope/inheritance — noteinheritance: false). Declaring it in the repo config makes approvals deterministic and independent of dashboard state.pre_merge_checksare enabled by default / via the dashboard, not by our config — notetitle.requirementsis now empty, proving the block we previously removed from.coderabbit.yamlwas read and dropped, yet the checks persist. They add a status block without review value here, so they're explicitly set to"off"(quoted so YAML doesn't coerce it to booleanfalse). Title enforcement remains covered by thecommit-msghook and the squash-title convention.This supersedes the earlier theory that removing the
pre_merge_checksblock (#12474) would restore approvals — the real blocker wasrequest_changes_workflow.Written by an agent (Claude Code, claude-opus-4-8).
Summary by CodeRabbit