krz/hutch

an ios client for sourcehut

clone: git clone https://gitbay.org/krz/hutch.git

0f06540640b6c648aeb96657c651004a8b56e7ba

verified · cmc

author: Christian Cleberg <hello@cleberg.net> · 2026-07-16T04:38:07Z

ci: skip the suite for root markdown changes

A README or ROADMAP edit spent five minutes on a macOS runner building an iOS
app to prove that prose had not broken it.

Scoped to `*.md`, which in a GitHub path filter matches root level only, so the
four root docs are skipped while Docs/**.md and everything under Hutch/ stay
gated. A skip rule that is too broad is how a real change slips through
ungated.

Safe on pull_request because main has no required status checks. A run skipped
by a path filter never reports, so a required check would leave a docs-only PR
waiting on a status that never arrives.
 .github/workflows/test.yml | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 283daec..49bc312 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -3,10 +3,19 @@ name: Tests
 # builds.sr.ht is the canonical CI for this project, but it has no macOS images
 # and will not add them, so xcodebuild cannot run there. This job exists to run
 # the test plan on the GitHub mirror; see builds/swift-ci.yml for the rest.
+# paths-ignore is deliberately `*.md`, which matches root level only. Docs/**.md
+# still runs the suite, and so does anything under Hutch/ — a skip rule that is
+# too broad is how a real change slips through ungated.
+#
+# Safe on pull_request only because main has no required status checks: a run
+# skipped by a path filter never reports, so a required check would leave a
+# docs-only PR waiting forever.
 on:
   push:
     branches: [main]
+    paths-ignore: ['*.md']
   pull_request:
+    paths-ignore: ['*.md']
   workflow_dispatch:
 
 # Without this, GITHUB_TOKEN inherits the repository default, which is