ci(260613-fp9): fix changes paths-filter so doc/.gitea/.planning PRs skip heavy jobs
dorny/paths-filter combines patterns with Array.some, and picomatch compiles '!.gitea/**' as 'any path not under .gitea'. The '- !.gitea/**' line (from quick task 260613-dmw) therefore matched every non-.gitea file — including .planning/** and *.md — so code=true for doc-only PRs and the heavy api/harness jobs ran anyway. It also never excluded .gitea (the **/*.yml glob already matched workflow files), regressing the Phase 15 doc-only skip. Switch to predicate-quantifier 'every' with negation-only globs: a file counts as code only if it is outside .gitea/, outside .planning/, and not Markdown. Verified with picomatch against representative file sets.
This commit is contained in:
+13
-11
@@ -16,20 +16,22 @@ jobs:
|
|||||||
- uses: dorny/paths-filter@v4
|
- uses: dorny/paths-filter@v4
|
||||||
id: filter
|
id: filter
|
||||||
with:
|
with:
|
||||||
|
# 'every' + negation-only globs. dorny combines a filter's patterns with
|
||||||
|
# Array.some by default, and picomatch compiles '!.gitea/**' as "matches any
|
||||||
|
# path NOT under .gitea" — so under 'some' that single line matched EVERY
|
||||||
|
# non-.gitea file (incl. .planning/** and *.md), flipping code=true for
|
||||||
|
# doc-only PRs and silently running the heavy api/harness jobs (regression
|
||||||
|
# introduced by quick task 260613-dmw; the old positive allowlist also never
|
||||||
|
# actually excluded .gitea because '**/*.yml' already matched workflow files).
|
||||||
|
# With predicate-quantifier 'every' a changed file counts as "code" ONLY if it
|
||||||
|
# matches ALL patterns — i.e. it is outside .gitea/, outside .planning/, and is
|
||||||
|
# not Markdown. Verified against representative file sets in quick task 260613-fp9.
|
||||||
|
predicate-quantifier: 'every'
|
||||||
filters: |
|
filters: |
|
||||||
code:
|
code:
|
||||||
- '**/*.ts'
|
|
||||||
- '**/*.tsx'
|
|
||||||
- '**/*.js'
|
|
||||||
- '**/*.json'
|
|
||||||
- '**/*.yaml'
|
|
||||||
- '**/*.yml'
|
|
||||||
- 'apps/**'
|
|
||||||
- 'packages/**'
|
|
||||||
- 'pnpm-lock.yaml'
|
|
||||||
- 'Dockerfile'
|
|
||||||
- 'docker-compose*.yml'
|
|
||||||
- '!.gitea/**'
|
- '!.gitea/**'
|
||||||
|
- '!.planning/**'
|
||||||
|
- '!**/*.md'
|
||||||
|
|
||||||
fast-checks:
|
fast-checks:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
Reference in New Issue
Block a user