From 606143cc425dadaa9178d6c397b9447a71be176e Mon Sep 17 00:00:00 2001 From: iris Date: Sun, 20 Sep 2026 18:59:46 +0200 Subject: [PATCH] check-issue-refs.sh: scan .ini files too; drop tracker tags from .vale.ini .vale.ini's own comments named the issues that gated write-good.Passive, but the tracker-tag lint's extension list didn't cover .ini, so it never caught its own violation. Extend the scope and reword the comment to prose that stands on its own. --- .vale.ini | 6 +++--- scripts/check-issue-refs.sh | 11 +++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.vale.ini b/.vale.ini index b8023a93..fe09e706 100644 --- a/.vale.ini +++ b/.vale.ini @@ -11,9 +11,9 @@ Packages = Microsoft, alex, write-good [*.md] BasedOnStyles = Microsoft, alex, write-good -# Gated on CI (hyperhive#4546) once the existing backlog cleared to zero -# (hyperhive#4548, hyperhive#4549) — every remaining hit at the time of this -# flip is a reviewed false positive, individually wrapped in a scoped +# Gated on CI once the existing backlog of write-good.Passive hits cleared +# to zero — every remaining hit at the time of this flip is a reviewed +# false positive, individually wrapped in a scoped # `` pair rather than bulk-ignored. write-good.Passive = error diff --git a/scripts/check-issue-refs.sh b/scripts/check-issue-refs.sh index cbca969d..8c5a3f66 100755 --- a/scripts/check-issue-refs.sh +++ b/scripts/check-issue-refs.sh @@ -12,8 +12,11 @@ # required CI job (branch protection) — a hit blocks merge. # # Scope: every tracked `*.rs *.nix *.js *.mjs *.ts *.tsx *.css *.html *.md -# *.yml *.yaml`. CI workflow files (`.forgejo/workflows/*.yml`) are explicitly in -# scope: a step comment is still a comment. The pattern matches a hash, +# *.yml *.yaml *.ini`. CI workflow files (`.forgejo/workflows/*.yml`) are explicitly in +# scope: a step comment is still a comment. `.ini` covers `.vale.ini`, whose +# own inline comments are exactly the kind of prose this lint polices +# elsewhere — added after a `.vale.ini` comment named a tracker issue and +# nothing scanned the file to catch it. The pattern matches a hash, # 2-5 digits, then a non-alphanumeric char or end-of-line (skips # letter-bearing hex colours and digit-runs-then-letter, e.g. `#24h`; # residual: a pure-numeric short hex trips it, write the six-digit form to @@ -32,7 +35,7 @@ pattern='#[0-9]{2,5}([^0-9a-zA-Z]|$)|/issues/[0-9]+([^0-9a-zA-Z]|$)' # one file — mirrors the assertion in scripts/check-doc-refs.sh. If a rename # or extension-list edit silences `git ls-files` here, that is a failure of # this script, not a property of the tree. -file_count="$(git ls-files '*.rs' '*.nix' '*.js' '*.mjs' '*.ts' '*.tsx' '*.css' '*.html' '*.md' '*.yml' '*.yaml' | wc -l)" +file_count="$(git ls-files '*.rs' '*.nix' '*.js' '*.mjs' '*.ts' '*.tsx' '*.css' '*.html' '*.md' '*.yml' '*.yaml' '*.ini' | wc -l)" if [ "$file_count" -eq 0 ]; then echo 'check-issue-refs: file-list search matched nothing — pattern or tree changed' >&2 exit 1 @@ -50,7 +53,7 @@ fi # capture the status, then branch on it explicitly rather than erasing it. if matches="$( git grep -nE "$pattern" -- '*.rs' '*.nix' '*.js' '*.mjs' '*.ts' '*.tsx' '*.css' '*.html' '*.md' \ - '*.yml' '*.yaml' + '*.yml' '*.yaml' '*.ini' )"; then grep_status=0 else