WIP: merge queue: checking main (0273ea4) and #463 together #465

Closed
mergify[bot] wants to merge 3 commits from mergify/merge-queue/a292764acc into main
3 Commits
Author SHA1 Message Date
Mergify 8d1e8f87c1 Merge of #463 2026-07-08 22:25:41 +00:00
mergify[bot] 0273ea4d39 Merge pull request #460 from JMR-dev/ci-420-path-filter-scripts
ci(path-filter): skip E2E for scripts/docs/.claude-only PRs (#420)
2026-07-08 21:46:06 +00:00
JMR-dev b98ae99abc ci(path-filter): skip E2E for scripts/docs/.claude PRs via negated allow-list (#420)
The #399 E2E path-filter listed its safe paths as POSITIVE globs under
`predicate-quantifier: 'every'`. dorny/paths-filter's `every` makes the
per-file predicate "matches EVERY pattern", so `skippable` required a single
file to be under app/src/test AND docs AND scripts AND .claude AND be *.md at
once -- impossible. `skippable` was therefore always false and the full E2E
matrix ran for every PR, including the docs/scripts-only PRs it was meant to
skip (e.g. scripts-only #419).

Rewrite the filter the way dorny documents `every`: `non_skippable` lists the
same safe allow-globs, each NEGATED, so a file forces E2E iff it matches NONE
of them (i.e. it is outside the allow-list). e2e_needed = non_skippable, keeping
the fail-safe "run E2E unless every changed file is provably irrelevant" rule --
a mixed PR still runs the matrix.

Add an `e2e_harness` override so a change under .claude/skills/preflight/** (the
local instrumented-test harness) still forces E2E even though .claude/** is
otherwise skippable.

Skip: app/src/test/**, **/*.md, docs/**, scripts/**, .claude/** (minus preflight).
Run:  everything else -- app/**, *.gradle*, gradle/**, gradle/libs.versions.toml,
      app/schemas, app/proguard-rules.pro, .github/workflows/**, .github/scripts/**,
      .claude/skills/preflight/**. This ci.yml change itself runs the matrix.

Verified with PyYAML (valid) + a dorny-semantics simulation over representative
changed-file sets (scripts-only/docs/unit-test/.claude skip; app/androidTest/
gradle/ci.yml/preflight/.github-scripts run).

Closes #420
2026-07-08 15:22:03 -05:00