From 6de41332f63bf482af539b4f6d04cb170d0a9b4b Mon Sep 17 00:00:00 2001 From: Sam & Claude Date: Thu, 25 Jun 2026 22:39:55 +0200 Subject: [PATCH] chore(ci): add wiki-lint to CI for parity with ci-checks.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scripts/ci-checks.sh runs five gates; .forgejo/workflows/ci.yml ran only four — wiki-lint --strict was missing. quality-gates.md states "ci.yml encodes the same checks" as local, which was not quite true. Add the wiki-lint step to the markdown job so CI matches local the day a runner is registered. wiki-lint is pure POSIX sh (grep/awk/sed/find), so it runs in the existing node:20 container — no new image or job. This does not by itself stop drift reaching main: as quality-gates.md notes, no Forgejo Actions runner is registered, so nothing enforces CI server-side today. The local pre-push hook remains the active enforcement layer; this change ensures CI is ready to take over once a runner exists. Verified wiki-lint passes clean on main (137 pass / 0 fail). (Sam & Claude) --- .forgejo/workflows/ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index e85a009..eecebed 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -39,6 +39,12 @@ jobs: - uses: actions/checkout@v4 - name: Markdown format gate run: ./scripts/check-format.sh + # Keep CI in parity with scripts/ci-checks.sh, which also runs wiki-lint. + # Pure POSIX sh (grep/awk/sed/find) — runs in the node:20 container. + # quality-gates.md claims CI encodes the same checks as local; this makes + # that true. (CI still only enforces once a Forgejo runner is registered.) + - name: Wiki lint (dangling refs, orphan pages, resurrected names) + run: ./scripts/wiki-lint --strict port: runs-on: ubuntu-latest