From 37f0cef04840427b3fd5e02cc1518e9a76ec2a87 Mon Sep 17 00:00:00 2001 From: jnasbyupgrade Date: Fri, 11 Sep 2026 16:20:35 -0500 Subject: [PATCH] README: correct CI doc to match pgxntool's unpaired-PR test-run fix The unpaired-PR path now runs pgxntool's own test job against pgxntool-test master instead of leaving zero signal, and check-test-pr's failure there is process enforcement only -- pgxntool's master currently has no branch protection configured, so nothing technically blocks a maintainer from merging past it. Reflects pgxntool PR #109 (https://github.com/Postgres-Extensions/pgxntool/pull/109, not yet merged) -- describes the pending/soon-to-land behavior, not what's live on pgxntool's master today. Co-Authored-By: Claude --- README.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 309274d..8755875 100644 --- a/README.md +++ b/README.md @@ -113,10 +113,10 @@ A change normally touches both repos, so open a PR in **each repo from a branch CI looks for a `pgxntool` branch with the same name **on your account** (the PR's head fork). If it exists, tests run against that branch; if not, they run against `pgxntool` master **from Postgres-Extensions**. Results appear directly on your pgxntool-test PR. **When you open a PR in `pgxntool`:** -CI waits for the paired pgxntool-test PR (matched by branch name **and** account) to complete (polling for up to 20 minutes), then checks whether it passed. pgxntool CI does not run tests itself — it relies entirely on the pgxntool-test CI results. +CI waits for the paired pgxntool-test PR (matched by branch name **and** account) to complete (polling for up to 20 minutes), then checks whether it passed. When a paired PR is found, pgxntool CI does not run tests itself — it relies entirely on the pgxntool-test CI results, avoiding duplicate work. When no paired PR is found, pgxntool's own test job runs the tests directly against pgxntool-test master instead (see below). - **If a paired test PR is found and its CI passes**: pgxntool CI passes. There is no test duplication. -- **If no paired test PR is found**: pgxntool CI fails (see below). +- **If no paired test PR is found**: the `check-test-pr` check still fails (see below), but pgxntool's test job also runs against pgxntool-test master regardless, so there's a real pass/fail signal to inform whether overriding the failed check is safe. > **Fork contributors — security note:** CI only ever pairs branches within the **same account**. It will never match your fork's branch to a same-named branch on a different account (including Postgres-Extensions). When there is no paired branch, the *other* repo is always taken from **`Postgres-Extensions/master`** — never a fork's `master` — so a stale or modified fork `master` can't influence the run. `master` is the only ref ever taken cross-account. @@ -144,11 +144,7 @@ To request the label: ### Branch protection -The `check-test-pr` status check on pgxntool is a required check for merging to `master`. It only passes when either: -- A corresponding pgxntool-test PR exists (matching branch name **and** account) and its tests are **passing**, or -- A maintainer has applied the `commit-with-no-tests` label. - -This ensures pgxntool changes cannot be merged without passing test coverage. +pgxntool's `master` currently has no branch protection configured, so `check-test-pr` is not a technically-enforced merge gate — a maintainer can merge via GitHub regardless of whether it passed. It's process enforcement only: its failure is visible on the PR and signals that a pairing is missing or the paired tests failed, but nothing prevents merging past it. ## Development