From 8f9c2cad5781e90240de6179c4427a5895507895 Mon Sep 17 00:00:00 2001 From: glenn schrooyen Date: Thu, 24 Sep 2026 14:27:19 +0200 Subject: [PATCH] CI-9 follow-up: the skip direction, written the right way round `every subsequent pull request matching it is skipped too` is the inverse of the behaviour. A pull request that MATCHES a `branches:` filter still RUNS; the one the filter EXCLUDES is what Gitea sits out, reports `skipped`, and the rollup launders into `success`. The error arrived with the generalisation in the previous commit: `33e17db` said "every subsequent pull request is skipped too", which was unqualified and true for the `[main]` case it described. Naming the wider hazard made a qualifier necessary, and the wrong one went in - contradicting the paragraph directly below it, which describes `[release/1.0]` correctly as leaving every day-to-day PR running and green. Corrected, and the direction is now stated explicitly with the failed draft recorded, because this file already carries one instance of the same shape: "That was wrong, it contradicted the checkout step's own note a few lines below, and the error was not cosmetic." Guard re-verified on the edited bytes: passes here, still refuses `branches: [release/1.0]` added to the `on:` block. Comment-only, 0 non-comment lines changed. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01BwRLw7eKYj2byVdwB6kbjU --- .gitea/workflows/checks.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/checks.yml b/.gitea/workflows/checks.yml index a7c3155..44709c0 100644 --- a/.gitea/workflows/checks.yml +++ b/.gitea/workflows/checks.yml @@ -116,8 +116,15 @@ name: checks # the guard lives inside the workflow that a filter makes Gitea skip. Blind # spot 3 is the one that matters: a filter naming a branch THIS pull request # does not target is itself skipped, lands green and untested, and then every -# subsequent pull request matching it is skipped too. That is the gate off, -# silently. +# subsequent pull request the filter DOES NOT NAME is skipped too. That is the +# gate off, silently. +# +# ⚠️ THAT DIRECTION IS THE WHOLE POINT AND IT IS EASY TO WRITE BACKWARDS. A +# pull request that MATCHES the filter still runs; it is the one the filter +# excludes that Gitea sits out, reports `skipped`, and the rollup launders +# into `success`. An earlier draft of this very clause said "matching it is +# skipped", which is the inverse of the measurement and contradicted the +# paragraph directly below. # # ⚠️ AND THE DANGEROUS ONE IS NOT `branches: [main]`, WHICH AT LEAST LOOKS # WRONG. It is `branches: [release/1.0]`, which looks like tightening onto the