diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-06-08 01:17:39 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-06-08 01:17:39 +0300 |
| commit | 1eca1bca83e69b5786a3538419df96caa0df9d97 (patch) | |
| tree | b9a4364273dc834df355d432233c9db70d4b185d | |
| parent | 69fccf7db6857106e13fa29fee63176c3b52248d (diff) | |
| download | vyos.vyos-t8966-legacy-task-id-escape.tar.gz vyos.vyos-t8966-legacy-task-id-escape.zip | |
T8966: add legacy-label escape to invalid-task-id rule (commit check exempt)t8966-legacy-task-id-escape
The per-repo T-ID rule flagged every commit's first line, but on repos that
squash-merge AND block force-push (vyos.vyos enforces non_fast_forward on ~ALL
branches, zero bypass) authors cannot rewrite history to make existing commits
conform. The label became unclearable. Keep the title check (always fixable),
and exempt the per-commit check when a maintainer applies the new `legacy`
label. New PRs are still nudged toward the convention.
🤖 Generated by [robots](https://vyos.io)
| -rw-r--r-- | .github/mergify.yml | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/.github/mergify.yml b/.github/mergify.yml index 49298b52..43353ea4 100644 --- a/.github/mergify.yml +++ b/.github/mergify.yml @@ -6,11 +6,17 @@ merge_protections_settings: pull_request_rules: - name: Flag product T-ID format violation in PR title or commit messages description: > - Product-repo convention: PR title and every commit's first line must - match `T<digits>: <text>` (optional `scope: ` prefix). Relocated from - the central config (T8966) so the T-ID convention is opt-in per product - repo. Name is intentionally distinct from any central rule name so this - stays additive (not an `extends:` override). + Product-repo convention: the PR title AND every commit's first line must + match `T<digits>: <text>` (optional `scope: ` prefix). The title is always + checked; the per-commit check is exempted when a maintainer applies the + `legacy` label — an escape hatch for grandfathered PRs whose commit history + cannot be rewritten (repos that squash-merge AND block force-push, e.g. + vyos.vyos enforces `non_fast_forward` on ~ALL branches with zero bypass). + New PRs are still nudged toward the convention; `legacy` is the deliberate, + maintainer-controlled opt-out. Relocated from the central config (T8966) + so the convention is opt-in per product repo. Name is intentionally + distinct from any central rule name so this stays additive (not an + `extends:` override). Legacy-label escape added 2026-06-08 (T8966). conditions: - '-closed' - '-merged' @@ -19,7 +25,9 @@ pull_request_rules: - 'author!=vyosbot' - or: - '-title~=^(([a-zA-Z0-9\-_.]+:\s)?)T\d+:\s+[^\s]+.*' - - 'commits[*].commit_message~=^(?!(([a-zA-Z0-9\-_.]+:\s)?)T\d+:\s+[^\s]+).*' + - and: + - 'label!=legacy' + - 'commits[*].commit_message~=^(?!(([a-zA-Z0-9\-_.]+:\s)?)T\d+:\s+[^\s]+).*' actions: label: toggle: |
