Commit 57b345b2ba

57b345b2ba3c4f8ac22cc842278286111bb32308

parent: a55d551c95

Unsigned

cmc <hello@cleberg.net> · 2026-08-07 21:07 UTC

Exclude root .txt docs from the test workflow

Add *.txt to the Tests workflow paths-ignore so a ROADMAP/SCOPE/SECURITY
edit no longer burns a macOS runner. Single-star (root only), matching the
existing *.md rule; a doc edit alongside code still runs the suite.

Layout: unified · split

.github/workflows/test.yml +7 −5
@@ -3,10 +3,12 @@ name: Tests
3# builds.sr.ht is the canonical CI for this project, but it has no macOS images 3# builds.sr.ht is the canonical CI for this project, but it has no macOS images
4# and will not add them, so xcodebuild cannot run there. This job exists to run 4# and will not add them, so xcodebuild cannot run there. This job exists to run
5# the test plan on the GitHub mirror; see builds/swift-ci.yml for the rest. 5# the test plan on the GitHub mirror; see builds/swift-ci.yml for the rest.
6# Prose only: the root docs and Docs/. Both patterns are single-star, so they 6# Prose only: the root docs (*.md, *.txt — ROADMAP/SCOPE/SECURITY and friends)
7# match those two levels and nothing deeper — a .md that ever lands inside a 7# and Docs/. Every pattern is single-star, so they match those levels and
8# source directory still runs the suite. A skip rule that is too broad is how a 8# nothing deeper — a .md or .txt that ever lands inside a source directory still
9# real change slips through ungated. 9# runs the suite. A skip rule that is too broad is how a real change slips
10# through ungated. paths-ignore skips the run only when *all* changed files
11# match, so a doc edit alongside code still tests.
10# 12#
11# pull_request only, by design. GitHub runs the suite against the merge result 13# pull_request only, by design. GitHub runs the suite against the merge result
12# (PR merged into main), so a green PR already validates exactly what lands on 14# (PR merged into main), so a green PR already validates exactly what lands on
@@ -23,7 +25,7 @@ name: Tests
23# docs-only PR waiting forever. 25# docs-only PR waiting forever.
24on: 26on:
25 pull_request: 27 pull_request:
26 paths-ignore: ['*.md', 'Docs/*.md'] 28 paths-ignore: ['*.md', '*.txt', 'Docs/*.md']
27 workflow_dispatch: 29 workflow_dispatch:
28 30
29# Without this, GITHUB_TOKEN inherits the repository default, which is 31# Without this, GITHUB_TOKEN inherits the repository default, which is