Do not run PHP workflows when Playwright tests were modified
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
The PHP workflows (integration, lint, phpunit and rector) are run when there are changes in **/tests/**. For example:
https://github.com/nextcloud/server/blob/03c7d2d168bff981439f67d4ca2419c8081c5aec/.github/workflows/integration-sqlite.yml#L33
However, since the introduction of Playwright tests in tests/playwright the condition matches when Playwright tests are modified. Due to that the PHP workflows are unnecessarily run in pull request that only touch JavaScript files. See, for example, https://github.com/nextcloud/server/actions/runs/32932697481/job/98074074362?pr=63227 for https://github.com/nextcloud/server/pull/63227/changes
I guess this could be fixed by using predicate-quantifier: 'some-with-excludes', which was introduced in dorny/paths-filter 4.0.3, and adding something like - '!tests/playwright/**'.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the paths-filter configuration in .github/workflows/integration-sqlite.yml and inspect the corresponding PHP workflow files for the tests/** condition. Exclude tests/playwright/** from the PHP workflow filters, using the proposed predicate-quantifier approach if supported. Verify that a pull request changing only Playwright tests no longer runs the integration, lint, phpunit, or rector workflows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, php
- Domain
- ci-cd
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 78/100