Repository navigation
ci: run only what a pull request can affect - #332
Merged
Merged
Conversation
Every pull request waited about 11 minutes, nearly all of it on four Windows PHPUnit jobs taking about 9 minutes each against 17 seconds on Ubuntu, and then ran everything a second time when merged into develop. Pull requests now run on Ubuntu only, and each workflow runs only when its paths changed. A push to main stays the full check, Windows included. The develop push is gone, and a new push to a pull request cancels the run it replaces. PHPUnit also stops loading Xdebug: the job runs test:no-coverage, so it was only slowing the tests down. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
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.
Every PR waited about 11 minutes. Nearly all of it was four Windows PHPUnit jobs: 9 minutes each, against 17 seconds on Ubuntu for the same 9,245 tests. Everything then ran a second time on merge into
develop.Changes
mainonly. PRs run PHPUnit on Ubuntu with all four PHP versions. A push tomainadds Windows.pushruns ondevelop. PRs andmainremain.mainhave no filter, so it stays the full check before a release.mainalways finish.test:no-coverage, socoverage: xdebugonly slowed it down. This may also shrink the Windows time; the first run onmainwill show.Docs:
CONTRIBUTING.mdand its copy no longer say the locale check runs everywhere, andCLAUDE.mdexplains the setup, including adding a path to a workflow when a new test reads a file outside its list.Choosing the filters
Two are deliberately broad, so a cross-check can't be skipped by mistake:
src/**andlocale/**, because guard tests such asPluralKeysExistTestscan TypeScript and locale files.tests/fixtures/**is shared with the frontend tests.src/**, because the CSS purge step scans PHP views.cypress/**is included becauseeslint .lints it.Psalm uses
**.phpbecause it scans the whole repo, not justsrc/.Trade-offs
main, at release time.main.Verification
This PR touches all five workflows, so it runs all of them: expect 10 checks and no Windows job. The filters themselves are confirmed by the next docs-only PR. All workflow files parse as YAML.
🤖 Generated with Claude Code