Repository navigation
ci: make the path filter's exclusions take effect - #11
Closed
goosewobbler wants to merge 1 commit into
Closed
goosewobbler wants to merge 1 commit into
goosewobbler wants to merge 1 commit into
Conversation
This was referenced Oct 1, 2026
Owner
Author
|
Superseded by webdriverio#15872. |
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.
Proposed changes
Sets
predicate-quantifier: some-with-excludeson thedorny/paths-filterstep intest.yml, so the'!'exclusions in thecodefilter take effect.Current behavior: with the default quantifier,
some, a file matches a filter if any one of its patterns matches, and a'!'pattern matches every file outside its own tree. Every file is outside at least one excluded tree, socodeis true for every PR, and every PR runs the full core suite. For example,webdriverio/webdriverio#15811(README, BACKERS and website docs) andwebdriverio/webdriverio#15839(.agentsand website docs) each ran 24 jobs, including build, unit, typings, interop, smoke and every core e2e.After: an exclusion is final, which is how
pnpm run test:changedalready classifies files. A PR whose files all fall in excluded trees, or in no lane, runs only the lanes it touches:website/infra/docs@wdio/docsunit tests)packages/wdio-session,e2e/sessionpackages/wdio-display-server,e2e/wdio/display-serverpackages/wdio-browser-runner,e2e/browser-runner.agents/,examples/PRs that also touch other code, PRs that touch CI or root config, and pushes to
mainandv10still run everything.What's skipped can't be affected:
.agents/. Static analysis lintsexamples/, and it always runs.@wdio/runnerand@wdio/cliload@wdio/sessionlazily, only for--debug agent,wdio repl --sessionandwdio session, which the session lane tests.@wdio/local-runner.packages/wdio-local-runnerisn't excluded, so changes to it still run the core suite.How you tested
Three throwaway PRs on this fork, each changing only the files listed. Their Detect Changes logs show:
codeupstream-v10packages/wdio-session/README.mdtruefalse(docsandsessiontrue)packages/webdriverio/README.mdtrueThe after run went to completion and ran 10 jobs, all green: build, static analysis, unit, session e2e and the docs build. It skipped typings, interop, smoke, component, display-server and every core e2e.
Ran
dorny/paths-filter's ownFilter(src/filter.tsat the pinned commit) against this workflow's filters with both quantifiers, with the same results.actionlintpasses.This PR changes
.github/workflows/**, so its own CI runs everything.Types of changes
Checklist
Further comments
mainhas the same issue in itsxvfb,browser-runnerandscripts/docs-generationexclusions, and the same line fixes it.e2e/wdio/chromedriver/**exclusion takes effect too.🤖 Generated with Claude Code