docs(workflow): document when the review action actually posts - #12719
Conversation
|
This pull request is part of a Mergify stack:
|
Merge Protections🟢 All 6 merge protections satisfied — ready to merge. Show 6 satisfied protections🟢 🤖 Continuous Integration
🟢 👀 Review Requirements
🟢 Enforce conventional commitMake sure that we follow https://www.conventionalcommits.org/en/v1.0.0/
🟢 🔎 Reviews
🟢 📕 PR description
🟢 🚦 Auto-queueWhen all merge protections are satisfied, this pull request will be queued automatically. |
There was a problem hiding this comment.
🟡 Changes recommended
The new merged-PR bullet omits that APPROVE/REQUEST_CHANGES are ignored while still reporting success, which is a key behavior called out in the PR description and can materially mislead readers.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Updates the review action documentation to explain the practical rules that determine when Mergify actually posts a review, addressing previously undocumented behaviors that can surprise users configuring automated approvals/comments.
Changes:
- Adds a new “How Reviews Are Posted” section describing deduplication behavior and when reviews are re-posted.
- Documents that review deduplication is scoped to the posting account (so changing
bot_accountaffects posting). - Documents special behavior on merged pull requests and default message generation when
messageis omitted.
File summaries
| File | Description |
|---|---|
| src/content/docs/workflow/actions/review.mdx | Adds a new section documenting review-posting semantics (dedupe, bot account scoping, merged-PR behavior, default bodies). |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
The Pull Request Dependencies section said a `Depends-On:` header could point at "other repositories with Mergify installed within your organization". The constraint is the same repository *owner*, which may be a user account rather than an organization. A reference to another owner is rendered with a "depends-on conditions must have the same repository owner" warning and never satisfies. The section was also silent on what happens to a reference Mergify cannot resolve — another owner, a repository without Mergify, or a pull request that does not exist. None of those ever reach the `depends-on` attribute, so the condition stays unsatisfied and blocks the merge rather than being skipped, which is the behaviour a reader most needs to be told about. This brings the page in line with the same rules already documented for the `depends-on` merge protection in /merge-protections/builtin, which was corrected and left this page behind. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019V4gXwb2UucysW4xmB7bAw Change-Id: I790b2c0c6e38ed5eff9ac587378765c72939f264
…ount The caution scoped the deprecation to the `rebase` action "with `bot_account`" on fork pull requests. Rebasing always impersonates a GitHub user: when `bot_account` is unset Mergify falls back to the pull request author (or the command sender), and refuses to run when neither resolves. The deprecation notice is posted on any fork rebase, so a reader whose configuration sets no `bot_account` read the caution as not applying to them when it does — the one group the callout most needed to reach. The page's only example was also built on `autosquash`, which the schema marks deprecated, so the single worked example on the page taught the option we are steering people away from. Replaced with a plain label-triggered rebase, matching the "Squash on Label" example on the squash page. Nothing is lost by dropping `autosquash` from the example: the Parameters table still renders its `deprecated` badge from the schema, and Rebase Requirements still documents its effect on the `#commits > 1` disjunct. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019V4gXwb2UucysW4xmB7bAw Change-Id: Ibf1f715b72dbd21e819305a61b27555cf62874c7
The page documented the parameters and nothing about when a review is posted, which is where the surprises are. Four behaviours are load-bearing and were undocumented: - A review whose type and body match one Mergify already posted is skipped, unless it has posted the opposite type since. So a rule that re-approves on every push posts once, not once per push. - That comparison is per account, so changing `bot_account` re-posts an otherwise identical review under the new one. - On a merged pull request only `COMMENT` is posted; `APPROVE` and `REQUEST_CHANGES` are ignored and reported as a success, so a green check is not proof the review landed. - A `REQUEST_CHANGES` or `COMMENT` with no `message` is posted with a generated default body rather than an empty one. This is the last of the three corrections Mergifyio/ci-bot#442 collects; the other two are the commits below it in this stack, so the issue closes once the whole stack has landed. Fixes Mergifyio/ci-bot#442 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019V4gXwb2UucysW4xmB7bAw Change-Id: Ieb0af482a6b6c0934a9322c3e9d0b2c0fe005479
cbc7596 to
8fcbd1c
Compare
Revision history
|
|
Re-pushed to address the review: the merged-pull-request bullet now says the action still reports a success when Compare: |
Merge Queue Status
This pull request spent 2 minutes 34 seconds in the queue, including 2 minutes 9 seconds running CI. Required conditions to merge
|
The page documented the parameters and nothing about when a review is posted,
which is where the surprises are. Four behaviours are load-bearing and were
undocumented:
unless it has posted the opposite type since. So a rule that re-approves on
every push posts once, not once per push.
bot_accountre-posts anotherwise identical review under the new one.
COMMENTis posted;APPROVEandREQUEST_CHANGESare ignored and reported as a success, so a green check isnot proof the review landed.
REQUEST_CHANGESorCOMMENTwith nomessageis posted with a generateddefault body rather than an empty one.
This is the last of the three corrections Mergifyio/ci-bot#442 collects; the
other two are the commits below it in this stack, so the issue closes once the
whole stack has landed.
Fixes Mergifyio/ci-bot#442
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_019V4gXwb2UucysW4xmB7bAw