fix: Probot's use of ** aligns with Github's and matches paths like .github/X and abc/.env#42
Merged
ethanwharris merged 1 commit intoMay 13, 2026
Conversation
Aligns the checkgroup subproject matcher with GitHub Actions' own `paths:` filter, which uses minimatch with `dot: true`. Without it, patterns like `**` silently fail to match paths containing dot- prefixed segments — so a subproject keyed on `paths: ["**"]` won't activate for a PR that only modifies files under `.github/` or similar dot directories, even though the intent of `**` is "match everything". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
.github/X and abc/.env
k223kim
approved these changes
May 13, 2026
ethanwharris
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
GitHub Actions'
paths:filter uses minimatch withdot: true. Without it, patterns like**silently skip dot-prefixed paths — so a subproject keyed onpaths: ["**"]won't activate for a PR that only touches files under.github/,src/.foo, etc., even though the intent of**is "match everything".We hit this on a PR that modified only files under
.github/, where our general lint subproject failed to activate. Working around it incheckgroup.ymlrequires enumerating every dot-segment permutation (**,.*,.*/**,**/.*,**/.*/**) and still doesn't cover paths with multiple non-adjacent dot segments. Fixing at the matcher is the right place.Change
Pass
dot: trueto minimatch inmatchFilenamesToSubprojects.Notes
**patterns match more things — same patterns activate subprojects for more PRs, never fewer. Net effect on consumers is stricter merge gating, not weaker. And aligns with how .github paths work. So I think this is a good change.dist/. A subproject keyed onpaths: ["**"]now activates for inputs like.gitignore,.github/workflows/foo.yml,my-project/.eslintrc,my-project/dot-config-staging— none of which it activated for before.