From 68f50ecf4d43f8aebbf1a516c7ea5c3c095eff5e Mon Sep 17 00:00:00 2001 From: mergify-ci-bot Date: Mon, 28 Sep 2026 11:09:38 +0000 Subject: [PATCH 1/3] =?UTF-8?q?docs(merge-queue):=20documents=20the=20inje?= =?UTF-8?q?ction=20mode=20`merge`=20conflict=20with=20required=20status=20?= =?UTF-8?q?checks;=20says=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/merge-queue/github-rulesets.mdx | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/src/content/docs/merge-queue/github-rulesets.mdx b/src/content/docs/merge-queue/github-rulesets.mdx index bdcc89c231..ba73269fcb 100644 --- a/src/content/docs/merge-queue/github-rulesets.mdx +++ b/src/content/docs/merge-queue/github-rulesets.mdx @@ -72,7 +72,9 @@ option on your queue rules: both queuing and merging pull requests. - **`merge`** -- rules are injected as merge conditions, checked after the - queue has tested the pull request. + queue has tested the pull request. See [Injection Mode `merge` and Required + Status Checks](#injection-mode-merge-and-required-status-checks) for when this + mode conflicts with a ruleset. - **`none`** -- rules are not injected at all. This mode requires a `merge_bot_account` on the queue rule, since Mergify must merge with @@ -413,7 +415,35 @@ tested. This setting blocks the merge. branch directly and is not affected by this setting. - **Alternative:** use [in-place checks](/merge-queue/batches#in-place-checks-no-batch-prs), - which test PRs on their own branch without creating temporary batch PRs. + which test PRs on their own branch without creating temporary batch PRs. Note + that in-place checks require `batch_size: 1`, `max_parallel_checks: 1` and + serial mode, so this resolution means giving up the batches or parallel checks + that caused the conflict rather than keeping them. + +### Injection Mode `merge` and Required Status Checks + +With [`branch_protection_injection_mode: merge`](#controlling-injection), the +queue runs the required checks on the batch PR and then merges the original one. +GitHub enforces the ruleset's `required_status_checks` rule against that original +pull request, which never carried those checks, so it refuses the merge and the +queue reports an incompatibility error. + +This only arises when the batch PR is not itself what lands. A queue using the +[`fast-forward`](/merge-queue/merge-strategies#fast-forward) or +[`merge-batch`](/merge-queue/merge-strategies#merge-batch) merge method merges the +batch PR, so GitHub enforces the checks against the head that ran them. [In-place +checks](/merge-queue/batches#in-place-checks-no-batch-prs) are clear too: they +run on the original pull request, so again the head that lands is the head that +ran the checks. + +**Resolution:** + +- **Preferred:** add Mergify as a bypass actor on the ruleset, as the + [recommended setup](#recommended-ruleset-setup) already calls for. Every + bypass mode clears this one. + +- **Alternative:** leave `branch_protection_injection_mode` at its default, + `queue`. ### Review Requirements and Fast-Forward From ca59cc8977cadad3e9bc18fcd60b89674aa316ab Mon Sep 17 00:00:00 2001 From: mergify-ci-bot Date: Mon, 28 Sep 2026 11:09:44 +0000 Subject: [PATCH 2/3] docs(ci-insights): names the same test on all three commits in the flaky-detection diagram --- src/content/docs/ci-insights/flaky-test-detection.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/ci-insights/flaky-test-detection.mdx b/src/content/docs/ci-insights/flaky-test-detection.mdx index fc78e30ed7..1c51509106 100644 --- a/src/content/docs/ci-insights/flaky-test-detection.mdx +++ b/src/content/docs/ci-insights/flaky-test-detection.mdx @@ -37,7 +37,7 @@ digraph { subgraph cluster_commit1 { class="batch"; label="Commit abc123"; - commit1 [label="test_something2", shape=oval, class="config"]; + commit1 [label="test_something", shape=oval, class="config"]; } run1 [label="Run #1 — tests pass", class="merged"]; run2 [label="Run #2 — tests fail", class="failed"]; From 72d635a6cebf388aa764fd1d1717128ac15cea92 Mon Sep 17 00:00:00 2001 From: mergify-ci-bot Date: Mon, 28 Sep 2026 11:10:11 +0000 Subject: [PATCH 3/3] docs(ci-insights): documents how far back CI Insights job history goes --- src/content/docs/ci-insights/jobs.mdx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/content/docs/ci-insights/jobs.mdx b/src/content/docs/ci-insights/jobs.mdx index 25bc3e4bc3..418c182f8c 100644 --- a/src/content/docs/ci-insights/jobs.mdx +++ b/src/content/docs/ci-insights/jobs.mdx @@ -50,3 +50,10 @@ and related test results. duration to see whether the failure correlates with a performance change. ::: + +## Data Retention + +CI Insights keeps 30 days of job history. The free tier keeps only the last 24 +hours, so a date range reaching further back returns nothing older than that +rather than an error. Both views show a banner when your plan is on the shorter +window.