Repository navigation
Closed
Labels
[Type] TaskIssues or PRs that have been broken down into an individual action to takeIssues or PRs that have been broken down into an individual action to take
Description
Instructions
- Comment below to claim a given fix.
- If you’re able, edit the table below to add yourself as the reviewer for that fix.
- When you claim a given fix, you are pledging that you will explicitly submit a review with an approval or a request for change on every PR in that row. An approving review is required for every PR in a given stack, otherwise the stack cannot be merged.
- Claim one row at a time. You can always claim another after you complete the first.
Progress
| Count | Percentage | |
|---|---|---|
| Rows completed | 108 of 110 | 98.2% |
| Cells completed | 557 of 560 | 99.5% |
| Rows not started | 2 of 110 | 1.8% |
Last updated: 2026-10-28 12:30 UTC
Legend
- ✅ The PR contains an approving review that satisfies merge requirements, or when in the Fixes column, all PRs for that fix have approving reviews that satisfy merge requirements.
- ☑️ A PR has an approving review, but not one that satisfies the merge requirements. An additional approving review is required.
- ❕ Previously reviewed or commented on, but no approval given or new review requested.
| Fix | PRs | Reviewer | 7.1 | 7.0 | 6.9 | 6.8 | 6.7 | 6.6 | 6.5 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.9 | 5.8 | 5.7 | 5.6 | 5.5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ✅ A. Remove obsolete and trunk-only workflows | 17 | @lucatume | ✅ 1 - 82787 | ✅ 1 - 82797 | ✅ 1 - 82864 | ✅ 1 - 82881 | ✅ 1 - 82896 | ✅ 1 - 82913 | ✅ 1 - 82988 | ✅ 1 - 83667 | ✅ 1 - 83695 | ✅ 1 - 84215 | ✅ 1 - 84240 | ✅ 1 - 84263 | ✅ 1 - 84395 | ✅ 1 - 84429 | ✅ 1 - 84762 | ✅ 1 - 84952 | ✅ 1 - 84990 |
| ✅ B. Add timeouts to CI jobs that have none | 17 | @adimoldovan | ✅ 2 - 84465 | ✅ 2 - 84467 | ✅ 2 - 84469 | ✅ 2 - 84471 | ✅ 2 - 84473 | ✅ 2 - 84475 | ✅ 2 - 84477 | ✅ 2 - 84479 | ✅ 2 - 84481 | ✅ 2 - 84483 | ✅ 2 - 84485 | ✅ 2 - 84487 | ✅ 2 - 84489 | ✅ 2 - 84491 | ✅ 2 - 84763 | ✅ 2 - 84953 | ✅ 2 - 84991 |
| ✅ C. Reference trunk's reusable workflow-lint job | 3 | @adimoldovan | ✅ 3 - 82788 | ✅ 3 - 82799 | ✅ 3 - 82866 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ D. Disable npm caching in release workflows | 11 | @lucatume | ✅ 4 - 83400 | ✅ 4 - 83401 | ✅ 4 - 83402 | ✅ 3 - 83403 | ✅ 3 - 83404 | ✅ 3 - 83405 | ✅ 3 - 83406 | ✅ 3 - 83668 | ✅ 3 - 83696 | ✅ 3 - 84216 | ✅ 3 - 84241 | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ E. Update GitHub Actions to their latest versions | 17 | @ntsekouras | ✅ 5 - 82789 | ✅ 5 - 82800 | ✅ 5 - 82867 | ✅ 4 - 82883 | ✅ 4 - 82898 | ✅ 4 - 82915 | ✅ 4 - 82990 | ✅ 4 - 83669 | ✅ 4 - 83697 | ✅ 4 - 84217 | ✅ 4 - 84242 | ✅ 3 - 84265 | ✅ 3 - 84397 | ✅ 3 - 84431 | ✅ 3 - 84764 | ✅ 3 - 84954 | ✅ 3 - 84992 |
✅ F. Remove svn --version debug check |
4 | @adimoldovan | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 5 - 83001 | ✅ 5 - 83670 | ✅ 5 - 83698 | ✅ 5 - 84218 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
✅ G. Refine push branch filters |
17 | @lucatume | ✅ 6 - 82793 | ✅ 6 - 82806 | ✅ 6 - 82872 | ✅ 5 - 82892 | ✅ 5 - 82908 | ✅ 5 - 82924 | ✅ 6 - 82999 | ✅ 6 - 83671 | ✅ 6 - 83699 | ✅ 6 - 84219 | ✅ 5 - 84243 | ✅ 4 - 84266 | ✅ 4 - 84398 | ✅ 4 - 84432 | ✅ 4 - 84765 | ✅ 4 - 84955 | ✅ 4 - 84993 |
| ✅ H. Add concurrency configuration to workflows | 3 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 5 - 84766 | ✅ 5 - 84956 | ✅ 5 - 84994 |
| ✅ I. Remove the broken flaky-test issue reporting job | 9 | @andrewserong | N/A | ✅ 7 - 82803 | ✅ 7 - 83286 | ✅ 6 - 82889 | ✅ 6 - 82904 | ✅ 6 - 82921 | ✅ 7 - 82996 | ✅ 7 - 83673 | ✅ 7 - 83700 | ✅ 7 - 84220 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
✅ J. Remove SimenB/github-actions-cpu-cores dependency |
5 | @andrewserong | N/A | ✅ 8 - 82804 | ✅ 8 - 82871 | ✅ 7 - 82890 | ✅ 7 - 82906 | ✅ 7 - 82922 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ K. Remove the mobile-unit-js job | 16 | @tellthemachines | N/A | ✅ 9 - 82810 | ✅ 9 - 82875 | ✅ 8 - 83294 | ✅ 8 - 83295 | ✅ 8 - 83296 | ✅ 8 - 83297 | ✅ 8 - 83674 | ✅ 8 - 83701 | ✅ 8 - 84221 | ✅ 6 - 84244 | ✅ 5 - 84267 | ✅ 5 - 84399 | ✅ 5 - 84433 | ✅ 6 - 84767 | ✅ 6 - 84957 | ✅ 6 - 84995 |
| ✅ L. Pin WordPress 7.1 for performance testing | 1 | @ramonjd | ✅ 7 - 83152 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ M. Test against a single Node.js version | 15 | @lucatume | ✅ 8 - 82790 | ✅ 10 - 82801 | ✅ 10 - 82868 | ✅ 9 - 82884 | ✅ 9 - 82899 | ✅ 9 - 82916 | ✅ 9 - 82991 | ✅ 9 - 83676 | ✅ 9 - 83703 | ✅ 9 - 84222 | ✅ 7 - 84245 | ✅ 6 - 84268 | ✅ 6 - 84400 | ✅ 6 - 84434 | ✅ 7 - 84768 | N/A | N/A |
✅ N. Pin runner images instead of *-latest |
16 | @ramonjd | ✅ 9 - 82792 | ✅ 11 - 82805 | N/A | ✅ 10 - 82891 | ✅ 10 - 82907 | ✅ 10 - 82923 | ✅ 10 - 82998 | ✅ 10 - 83677 | ✅ 10 - 83704 | ✅ 10 - 84223 | ✅ 8 - 84246 | ✅ 7 - 84269 | ✅ 7 - 84401 | ✅ 7 - 84435 | ✅ 8 - 84769 | ✅ 7 - 84958 | ✅ 7 - 84996 |
✅ O. Always read the Node.js version from .nvmrc |
4 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 8 - 84436 | ✅ 9 - 84770 | ✅ 8 - 84959 | ✅ 8 - 84997 |
| ✅ P. Upgrade Node.js from 16 to 20 | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 11 - 83678 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CO. Upgrade Node.js from 12 to 14 | 2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 9 - 84960 | ✅ 9 - 84998 |
| ✅ Q. Migrate wp-env to Docker Compose v2 | 11 | @adimoldovan | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 11 - 83003 | ✅ 12 - 83679 | ✅ 11 - 83705 | ✅ 11 - 84224 | ✅ 9 - 84247 | ✅ 8 - 84270 | ✅ 8 - 84402 | ✅ 9 - 84437 | ✅ 10 - 84771 | ✅ 10 - 84961 | ✅ 10 - 84999 |
| ✅ R. Fix wp-env Docker builds broken by archived Debian repositories | 9 | @lucatume | ✅ 10 - 85485 | ✅ 12 - 82808 | ✅ 11 - 82873 | ✅ 11 - 82888 | ✅ 11 - 82903 | ✅ 11 - 82920 | ✅ 12 - 82995 | ✅ 13 - 83680 | ✅ 12 - 83706 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
✅ S. Pin wp-env to the correct WordPress Core version |
10 | @ramonjd | ✅ 11 - 82791 | ✅ 13 - 82802 | ✅ 12 - 82869 | ✅ 12 - 82885 | ✅ 12 - 82900 | ✅ 12 - 82917 | ✅ 13 - 82992 | ✅ 14 - 83681 | ✅ 13 - 83707 | ✅ 12 - 84225 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CP. Remove the Axe check that runs after every e2e test | 2 | @tellthemachines | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 11 - 84962 | ✅ 11 - 85000 |
| ✅ T. Update the PHP version test matrix | 17 | @ramonjd | ✅ 12 - 82795 | ✅ 14 - 82809 | ✅ 13 - 82874 | ✅ 14 - 82893 | ✅ 14 - 82909 | ✅ 14 - 82925 | ✅ 15 - 83000 | ✅ 15 - 83682 | ✅ 14 - 83708 | ✅ 13 - 84226 | ✅ 10 - 84248 | ✅ 9 - 84271 | ✅ 9 - 84403 | ✅ 10 - 84438 | ✅ 11 - 84772 | ✅ 12 - 84963 | ✅ 13 - 85002 |
| ✅ CX. Use PHPUnit 9 for PHP 7.3 through 8.2 | 2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 10 - 85298 | ✅ 10 - 85297 | N/A | N/A | N/A | N/A |
✅ U. Remove the spatie/phpunit-watcher dev dependency |
5 | @lucatume | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 11 - 84249 | ✅ 11 - 84272 | ✅ 11 - 84404 | ✅ 11 - 84439 | ✅ 12 - 84773 | N/A | N/A |
| ✅ V. Run PHP coding standards on the runner instead of inside wp-env | 7 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 12 - 84250 | ✅ 12 - 84273 | ✅ 12 - 84405 | ✅ 12 - 84440 | ✅ 14 - 84775 | ✅ 13 - 84964 | ✅ 14 - 85003 |
| ✅ W. Let the current Composer release install this branch's dependencies | 5 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 13 - 84406 | ✅ 13 - 84441 | ✅ 16 - 84777 | ✅ 14 - 84965 | ✅ 15 - 85004 |
✅ X. Guard setAccessible() calls for PHP 8.5 |
2 | @ramonjd | N/A | ✅ 15 - 82811 | ✅ 14 - 82876 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ Y. Fix the Composer PHP platform override breaking unit tests on older PHP | 9 | @ntsekouras | N/A | N/A | N/A | ✅ 13 - 82887 | ✅ 13 - 82902 | ✅ 13 - 82919 | ✅ 14 - 82994 | ✅ 16 - 83683 | ✅ 15 - 83709 | ✅ 14 - 84227 | ✅ 13 - 84251 | ✅ 21 - 84282 | N/A | N/A | N/A | N/A | N/A |
| ✅ Z. Configure the Composer advisory policy | 9 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 16 - 83710 | ✅ 15 - 84228 | ✅ 14 - 84252 | ✅ 13 - 84274 | ✅ 14 - 84407 | ✅ 14 - 84442 | ✅ 17 - 84778 | ✅ 15 - 84966 | ✅ 16 - 85005 |
| ✅ AA. Ignore the stale Browserslist data warning in unit tests | 15 | @ramonjd | N/A | N/A | ✅ 15 - 82870 | ✅ 15 - 82886 | ✅ 15 - 82901 | ✅ 15 - 82918 | ✅ 16 - 82993 | ✅ 17 - 83684 | ✅ 17 - 83711 | ✅ 16 - 84229 | ✅ 15 - 84253 | ✅ 14 - 84275 | ✅ 15 - 84408 | ✅ 15 - 84443 | ✅ 18 - 84779 | ✅ 16 - 84967 | ✅ 17 - 85006 |
| ✅ AB. Fix Playwright browser-install failures on Ubuntu 24.04 | 7 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | ✅ 16 - 82926 | ✅ 17 - 82997 | ✅ 18 - 83685 | ✅ 18 - 83712 | ✅ 17 - 84230 | ✅ 16 - 84254 | ✅ 15 - 84276 | N/A | N/A | N/A | N/A | N/A |
✅ AC. Fix theme-activation navigation race in activate-theme.js |
9 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 18 - 83002 | ✅ 19 - 83686 | ✅ 19 - 83713 | ✅ 18 - 84231 | ✅ 17 - 84255 | ✅ 16 - 84277 | ✅ 16 - 84409 | ✅ 16 - 84444 | ✅ 19 - 84780 | N/A | N/A |
| ✅ AD. Fix flaky block switcher max-columns e2e test | 1 | @tellthemachines | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 20 - 83622 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AE. Fix flaky block switcher columns-range e2e test | 1 | @tellthemachines | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 21 - 83623 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AF. Ignore empty PHP files in the PHP coding standards scan | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 17 - 84278 | N/A | N/A | N/A | N/A | N/A |
✅ AG. Fetch react-native-screens as a pre-built tarball |
3 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 17 - 84445 | ✅ 20 - 84781 | ✅ 17 - 84968 | N/A |
✅ AH. Pin wp-phpunit/wp-phpunit to the branch's WordPress test bootstrap |
6 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 18 - 84279 | ✅ 20 - 84413 | ✅ 27 - 84942 | ✅ 30 - 84944 | ✅ 23 - 84974 | ✅ 26 - 85015 |
| ✅ AI. Use PHPUnit Polyfills' fixture method names | 2 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 19 - 84280 | ✅ 21 - 84414 | N/A | N/A | N/A | N/A |
| ✅ AJ. Stop failing PHPUnit on PHP 8.2 deprecation notices | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 18 - 84256 | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AK. Fix Test Widget e2e plugin for PHP 8 | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 19 - 84447 | N/A | N/A | N/A |
| ✅ AL. Improve reliability of TinyMCE-related tests | 12 | @ntsekouras | N/A | ✅ 16 - 83467 | ✅ 16 - 83468 | ✅ 16 - 83469 | ✅ 16 - 82905 | ✅ 18 - 83465 | ✅ 22 - 83466 | N/A | N/A | N/A | N/A | ✅ 40 - 85576 | ✅ 38 - 85577 | ✅ 36 - 85578 | ✅ 39 - 85579 | ✅ 29 - 85581 | ✅ 28 - 85583 |
| ✅ AM. Fix flaky DataViews list-layout keyboard e2e tests | 5 | @tellthemachines | N/A | ✅ 17 - 83638 | ✅ 17 - 83639 | ✅ 17 - 83640 | ✅ 17 - 83641 | ✅ 17 - 83627 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
✅ AN. Swap phpunit/phpunit for a release PHP 5.6 and 7.0 can load |
3 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 29 - 84456 | ✅ 13 - 84774 | ✅ 25 - 84976 | N/A |
✅ AO. Stop the puppeteer alias from changing package-lock.json |
3 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 21 - 84782 | ✅ 18 - 84969 | ✅ 12 - 85001 |
✅ AP. Regenerate stale core/image deprecation fixtures |
1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 21 - 83688 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
✅ AQ. Fix wp-bind PHP test for esc_url() scheme completion |
1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 22 - 83689 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AR. Retry Puppeteer plugin activation/deactivation on timeout | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 23 - 83690 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AS. Fix flaky interactivity router navigate e2e test | 8 | @ntsekouras | ✅ 13 - 83646 | ✅ 18 - 83647 | ✅ 18 - 83648 | ✅ 18 - 83650 | ✅ 18 - 83653 | ✅ 19 - 83655 | ✅ 23 - 83657 | ✅ 24 - 83692 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AT. Remove the redundant Install NVM step | 1 | @andrewserong | ✅ 14 - 83659 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AU. Fix flaky Font Library font deletion e2e test | 4 | @ntsekouras | N/A | N/A | ✅ 19 - 83649 | ✅ 19 - 83651 | ✅ 19 - 83654 | ✅ 20 - 83656 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AV. Add missing attribute defaults to the Latest Posts render test | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 22 - 84283 | N/A | N/A | N/A | N/A | N/A |
✅ AW. Use assertStringContainsString() for string haystacks |
2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 23 - 84284 | ✅ 23 - 84416 | N/A | N/A | N/A | N/A |
| ✅ AX. Fix flaky site editor URL navigation e2e test | 8 | @tellthemachines | N/A | N/A | ✅ 20 - 83716 | ✅ 20 - 83717 | ✅ 20 - 83718 | ✅ 22 - 83727 | ✅ 25 - 83728 | ✅ 25 - 83729 | ✅ 21 - 83731 | ✅ 23 - 84236 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AY. Reset preferences after navigable toolbar e2e tests | 6 | @ntsekouras | N/A | ✅ 19 - 83721 | ✅ 21 - 83722 | ✅ 21 - 83723 | ✅ 21 - 83724 | ✅ 21 - 83725 | ✅ 24 - 83726 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ AZ. Fix flaky site editor command palette e2e test | 1 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | ✅ 23 - 83736 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ BA. Pass debug step arguments through to wp-env | 7 | @andrewserong | N/A | N/A | ✅ 22 - 83800 | ✅ 22 - 83801 | ✅ 22 - 83802 | ✅ 24 - 83803 | ✅ 26 - 83804 | ✅ 26 - 83805 | ✅ 22 - 83806 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ BB. Detect the database client in the debug step | 10 | @ntsekouras | ✅ 17 - 83831 | ✅ 22 - 83832 | ✅ 23 - 83833 | ✅ 23 - 83834 | ✅ 23 - 83835 | ✅ 25 - 83836 | ✅ 27 - 83837 | ✅ 27 - 83838 | ✅ 23 - 83839 | ✅ 20 - 84233 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ BC. Fix ReflectionException on PHP 5.6/7.0 in block-pattern REST tests | 2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 19 - 84257 | ✅ 24 - 84285 | N/A | N/A | N/A | N/A | N/A |
✅ BD. Add a mariadbVersion option to wp-env |
17 | @andrewserong | ✅ 15 - 83810 | ✅ 20 - 83811 | ✅ 24 - 83812 | ✅ 24 - 83813 | ✅ 24 - 83814 | ✅ 26 - 83815 | ✅ 28 - 83816 | ✅ 28 - 83817 | ✅ 24 - 83818 | ✅ 19 - 84232 | ✅ 20 - 84258 | ✅ 26 - 84287 | ✅ 17 - 84410 | ✅ 20 - 84448 | ✅ 22 - 84783 | ✅ 19 - 84970 | ✅ 19 - 85008 |
✅ CQ. Create the wp-env development and tests databases |
2 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 20 - 84971 | ✅ 20 - 85009 |
| ✅ BE. Replace wp-env's database check with a MariaDB health check | 15 | @ntsekouras | N/A | N/A | ✅ 26 - 83862 | ✅ 26 - 83863 | ✅ 26 - 83864 | ✅ 28 - 83865 | ✅ 29 - 83866 | ✅ 29 - 83867 | ✅ 25 - 83868 | ✅ 21 - 84235 | ✅ 21 - 84260 | ✅ 27 - 84289 | ✅ 18 - 84412 | ✅ 21 - 84450 | ✅ 23 - 84784 | ✅ 21 - 84972 | ✅ 21 - 85010 |
| ✅ BF. Pin MariaDB to an era-appropriate version | 17 | @ntsekouras | ✅ 16 - 83819 | ✅ 21 - 83820 | ✅ 25 - 83821 | ✅ 25 - 83822 | ✅ 25 - 83823 | ✅ 27 - 83824 | ✅ 30 - 83825 | ✅ 30 - 83826 | ✅ 26 - 83827 | ✅ 22 - 84234 | ✅ 22 - 84259 | ✅ 28 - 84288 | ✅ 19 - 84411 | ✅ 22 - 84449 | ✅ 24 - 84785 | ✅ 22 - 84973 | ✅ 22 - 85011 |
✅ CR. Add a WP_ENV_PHP_VERSION environment variable |
1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 23 - 85012 |
| ✅ CS. Pin PHP to 7.4 in CI | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 24 - 85013 |
✅ CT. Run wp-env on the PHP test matrix version |
1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 25 - 85014 |
✅ BG. Replace the removed assertInternalType() in the block editor tests |
1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 24 - 84417 | N/A | N/A | N/A | N/A |
| ✅ BH. Assert URL details request args and schema by key | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 25 - 84418 | N/A | N/A | N/A | N/A |
✅ BI. Initialize WP_Block_Supports::$block_to_render in block render tests |
3 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 25 - 84286 | ✅ 26 - 84419 | ✅ 23 - 84451 | N/A | N/A | N/A |
| ✅ BJ. Fix flaky Openverse image drag-and-drop e2e test | 9 | @tellthemachines | ✅ 18 - 84037 | ✅ 23 - 84038 | ✅ 27 - 84039 | ✅ 27 - 84040 | ✅ 27 - 84041 | ✅ 29 - 84042 | ✅ 19 - 83621 | ✅ 20 - 83687 | ✅ 20 - 83714 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ BK. Fix flaky router styles stylesheet-failure e2e test | 1 | @tellthemachines | N/A | N/A | ✅ 28 - 84177 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ BL. Disable the node_modules cache in the Storybook check | 3 | @andrewserong | ✅ 19 - 84178 | ✅ 24 - 84179 | ✅ 29 - 84180 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ BM. Migrate the Query block e2e test to Playwright | 1 | @tellthemachines | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 24 - 84237 | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ BN. Install Xdebug 3.1.6 in wp-env on PHP 7 | 6 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 25 - 84238 | ✅ 23 - 84261 | ✅ 29 - 84290 | ✅ 27 - 84420 | ✅ 18 - 84446 | ✅ 15 - 84776 | N/A | N/A |
| ✅ BO. Pin the Node.js version in the Compressed Size workflow | 2 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 25 - 84786 | N/A | ✅ 18 - 85007 |
| ✅ BP. Omit WordPress dependencies when scaffolding in the Create Block check | 3 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 28 - 84421 | ✅ 24 - 84452 | ✅ 26 - 84787 | N/A | N/A |
| ✅ BQ. Disable remote block patterns in e2e tests | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 25 - 84453 | N/A | N/A | N/A |
| ✅ CN. Update the minimum supported WordPress version to 5.7 | 2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 26 - 84873 | ✅ 27 - 84871 | N/A | N/A |
| ✅ BS. Pin the tt1-blocks theme to 0.4.3 | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 28 - 84789 | N/A | N/A |
| ✅ BT. Use the Outline dropdown in the Site Editor save flow e2e test | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 29 - 84790 | N/A | N/A |
✅ BU. Pin phpunit/phpunit to a PHP 5.6/7.0-compatible release |
6 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 20 - 84281 | ✅ 22 - 84415 | ✅ 28 - 84455 | ✅ 31 - 84791 | ✅ 24 - 84975 | ✅ 27 - 85016 |
✅ BV. Skip the widgets REST controller test_get_items test on PHP 8 |
2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 32 - 84792 | ✅ 26 - 84977 | N/A |
| ✅ BW. Skip the Media & Text focal point fixture test before PHP 7.1 | 2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 30 - 84291 | ✅ 29 - 84422 | N/A | N/A | N/A | N/A |
| ✅ BX. Make the Site Editor export test compatible with PHP 5.6 and 7.0 | 2 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 30 - 84457 | ✅ 33 - 84793 | N/A | N/A |
✅ BY. Add wpop_keywords to the pattern directory test fixtures |
2 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 30 - 84423 | ✅ 31 - 84458 | N/A | N/A | N/A |
| ✅ BZ. Skip the flaky List View global shortcut e2e test | 1 | @tellthemachines | N/A | N/A | ✅ 30 - 84210 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CA. Check for a current screen before reading its ID in the global styles settings | 2 | @aaronjorbin / @rejaulalomkhan | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 31 - 84424 | ✅ 32 - 84459 | N/A | N/A | N/A |
| ✅ CB. Skip the flaky multiple completers autocomplete e2e test | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 31 - 84589 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
✅ CC. Set user fields directly in the createUser() e2e utility |
1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 32 - 84425 | N/A | N/A | N/A | N/A |
| ✅ CD. Handle a missing widget name when saving a widget in the widgets REST controller | 2 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 34 - 84794 | ✅ 27 - 84978 | N/A |
| ✅ CE. Set the font size through the block editor store in the multi-entity save test | 1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 27 - 84214 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CF. Remove the navigation menu edit permission e2e test | 1 | @tellthemachines | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 31 - 84292 | N/A | N/A | N/A | N/A | N/A |
| ✅ CG. Fix flaky Tabs unit test | 1 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 31 - 84588 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CH. Wait for the slash inserter option in the flaky Writing Flow and block hierarchy e2e tests | 1 | @ntsekouras | N/A | N/A | ✅ 31 - 84392 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CI. Fix flaky Pages e2e test Save click | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 32 - 84621 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CJ. Retry detached menu item clicks in the Widgets Customizer e2e tests | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 33 - 84426 | N/A | N/A | N/A | N/A |
| ✅ CK. Only read the template slug when a template exists in the templates REST controller | 1 | @andrewserong | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 35 - 84795 | N/A | N/A |
| ✅ CL. Set explicit retention periods for workflow artifacts | 15 | @ntsekouras | ✅ 20 - 84743 | ✅ 25 - 84744 | ✅ 32 - 84745 | ✅ 28 - 84746 | ✅ 28 - 84747 | ✅ 30 - 84748 | ✅ 32 - 84749 | ✅ 33 - 84750 | ✅ 28 - 84751 | ✅ 26 - 84752 | ✅ 24 - 84753 | ✅ 32 - 84754 | ✅ 34 - 84755 | ✅ 33 - 84756 | ✅ 36 - 84796 | N/A | N/A |
| ✅ CM. Use the matching wordpress-develop branch for pre-release PHPUnit tests | 1 | @ramonjd | ✅ 21 - 84760 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| ✅ CU. Remove the unused flaky test report uploads and reporter | 12 | @ramonjd | N/A | ✅ 26 - 85114 | ✅ 33 - 85113 | ✅ 29 - 85112 | ✅ 29 - 85111 | ✅ 31 - 85110 | ✅ 33 - 85109 | ✅ 34 - 85108 | ✅ 29 - 85107 | ✅ 27 - 85106 | ✅ 25 - 85105 | ✅ 33 - 85104 | ✅ 35 - 85103 | N/A | N/A | N/A | N/A |
| ✅ CV. Run macOS and Windows jobs only on WordPress/gutenberg | 12 | @ramonjd | ✅ 22 - 85127 | ✅ 27 - 85128 | ✅ 34 - 85129 | ✅ 30 - 85130 | ✅ 30 - 85131 | ✅ 32 - 85132 | ✅ 34 - 85133 | ✅ 35 - 85134 | ✅ 30 - 85135 | ✅ 28 - 85136 | ✅ 26 - 85137 | ✅ 34 - 85138 | N/A | N/A | N/A | N/A | N/A |
| ✅ CW. Fix the flaky switch to draft step in the preview e2e test | 1 | @tellthemachines | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 35 - 85149 | N/A | N/A | N/A | N/A | N/A |
| ✅ CZ. Upload each E2E job's debug artifacts under its own name | 9 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 35 - 85328 | ✅ 36 - 85329 | ✅ 31 - 85330 | ✅ 29 - 85331 | ✅ 27 - 85332 | ✅ 36 - 85333 | ✅ 36 - 85334 | ✅ 34 - 85335 | ✅ 37 - 85336 | N/A | N/A |
| ✅ CY. Pin the PHP version used by the end-to-end tests | 16 | @ramonjd | ✅ 23 - 85318 | ✅ 28 - 85317 | ✅ 35 - 85316 | ✅ 31 - 85315 | ✅ 31 - 85314 | ✅ 33 - 85313 | ✅ 36 - 85337 | ✅ 37 - 85339 | ✅ 32 - 85341 | ✅ 30 - 85343 | ✅ 28 - 85345 | ✅ 37 - 85347 | ✅ 37 - 85349 | ✅ 35 - 85351 | ✅ 38 - 85353 | ✅ 28 - 85312 | N/A |
| ✅ DA. Fix the flaky Comment Query Loop pagination test | 1 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 38 - 85404 | N/A | N/A | N/A | N/A | N/A |
| ✅ DB. Fix flaky Composite and Tabs unit tests | 1 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 37 - 85478 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
✅ DC. Pin the composer image used by wp-env to Composer 2 |
1 | @ramonjd | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 39 - 85527 | N/A | N/A | N/A | N/A | N/A |
| ✅ DD. Improve reliability of the TypeWriter E2E test | 1 | @ntsekouras | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | ✅ 40 - 85580 | N/A | N/A |
| ✅ DE. Fix the flaky WP Editor Meta Boxes e2e test | 1 | @ntsekouras | ✅ 24 - 85585 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| DF. Fix flaky component unit tests that press Tab | 1 | N/A | N/A | N/A | N/A | N/A | N/A | 38 - 85682 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | |
| DG. Fix flaky deferred store e2e test | 2 | N/A | N/A | N/A | N/A | N/A | 34 - 85684 | 39 - 85683 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
110 fixes, 560 PRs.
PRs in each wp/X.Y stack:
| 7.1 | 7.0 | 6.9 | 6.8 | 6.7 | 6.6 | 6.5 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.9 | 5.8 | 5.7 | 5.6 | 5.5 | Total | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PRs | 24 | 28 | 35 | 31 | 31 | 34 | 39 | 37 | 32 | 30 | 28 | 40 | 38 | 36 | 40 | 29 | 28 | 560 |
Reacted by Nik Tsekouras, Andrew Serong and Rejaul Alom Khan (Arman Azij)
Metadata
Metadata
Labels
[Type] TaskIssues or PRs that have been broken down into an individual action to takeIssues or PRs that have been broken down into an individual action to take
Type
Projects
- StatusShow more project fieldsDone
Activity
wp/X.Ybranches #82780desrosj commentedon Oct 15, 2026
Fixes
A. Remove obsolete and trunk-only workflows
Branch:
remove-rn-workflowsPurpose: Deletes workflows that do no useful work on a
wp/X.Ybranch: scheduled andworkflow_runjobs andpull_request_targetautomation (which always run the default branch's copy), React Native workflows, changelog and PHP-sync checks meant fortrunkdevelopment, and plugin-release automation that only runs fromtrunkorrelease/*. It also removes the performance tests, which are only maintained for the current WordPress release, and on 5.7 and 5.6cancel.yml, which nativeconcurrencyreplaces. Less dead YAML means fewer stale action pins and less lint noise.Source: #62609, #76503, #78169, #79030, #32016
B. Add timeouts to CI jobs that have none
Branch:
add-job-timeoutsPurpose: Adds
timeout-minutesto the build, e2e, static-analysis and PHP test jobs (the ones trunk's #80801 and #46510 cover, plus the Puppeteer e2e jobs) so a hung job is cancelled instead of running to GitHub's 360-minute default. Prompted by Playwright shards hanging for 2–3 hours inplaywright install --with-depsduring an apt mirror outage on 2026-10-07.Source: #46510, #80801
C. Reference trunk's reusable workflow-lint job
Branch:
reference-trunk-workflow-lintPurpose: Points
workflow-lint.ymlattrunk's reusable workflow-lint job instead of a local copy, and ports the branch filters from #82744 so workflow linting actually runs onwp/X.Ybranches.Source: #82744
Not applicable: 6.8 and older have no
workflow-lint.ymlorreusable-workflow-lint.yml, so there is nothing to point at trunk.D. Disable npm caching in release workflows
Branch:
disable-cache-for-release-buildsPurpose: Sets
package-manager-cache: falseon everyactions/setup-nodestep in the workflows that build and publish release artifacts. Those jobs are currently uncached only by accident; this makes it explicit to rule out cache poisoning of a published plugin ZIP or npm package.Source: #79835
Not applicable: 6.0, 5.9, 5.8, 5.7, 5.6 and 5.5 have no
publish-npm-packages.yml, and A removes theirbuild-plugin-zip.yml(5.6 and 5.5 never had one), so there is nothing to change. The 6.0, 5.9 and 5.8 PRs (#84264, #84396, #84430) were closed on 2026-10-09.E. Update GitHub Actions to their latest versions
Branch:
update-actions-to-latestPurpose: Bumps every third-party action to its latest release, pinned to a full commit SHA. Older versions run on deprecated Node.js runtimes or hit platform changes that stop the workflows from running.
F. Remove
svn --versiondebug checkBranch:
remove-svn-version-debug-checkPurpose: Drops the
svn --versionline from the PHP job's debug step. Current runner images no longer ship Subversion, so the diagnostic-only command fails with exit code 127.Not applicable: 7.1–6.6 no longer run
svn --version, and 6.1 and older have notest-phpdebug step.G. Refine
pushbranch filtersBranch:
fix-workflow-branch-filtersPurpose: Ports #82744's
push:branch filters (trunk,release/X.Y,wp/X.Y,wp/latest,wp/next), socreate-block.yml(and on 5.7/5.6 every workflow that only listedmaster) runs on a direct push towp/X.Y, and the looserelease/**/wp/**globs become #82744's exact patterns.pull_requesttriggers stay unfiltered. On 7.1–6.9 theworkflow-lint.ymlhalf of #82744 is in C.Source: #82744
H. Add concurrency configuration to workflows
Branch:
add-workflow-concurrencyPurpose: Ports trunk's #32016: adds a
concurrency:block so a newer push to a pull request cancels that pull request's superseded run, replacing the oldcancel.ymlworkflow that A removes.Source: #32016
I. Remove the broken flaky-test issue reporting job
Branch:
disable-flaky-test-issue-reportingPurpose: Removes the
report-to-issuesjob. It checks out livetrunkand runs trunk'sreport-flaky-testsaction, which no longer fits this branch: on 7.0 and 6.9 the action requires anoutput-pathinput the job never passes, and on 6.8–6.2 the job'snpm run build:packagesstep no longer exists on trunk. Only an automated notification is lost.Not applicable: 7.1 already uses trunk's current flaky-test report; 6.1 and older have no
report-to-issuesjob.J. Remove
SimenB/github-actions-cpu-coresdependencyBranch:
remove-cpu-cores-dependencyPurpose: Replaces the third-party action that only fed Jest's
--maxWorkerswithnproc, matching trunk's own removal of the dependency.Source: #78593
K. Remove the mobile-unit-js job
Branch:
remove-disabled-mobile-unit-js,remove-mobile-unit-js-jobPurpose: Removes the
mobile-unit-jsjob fromunit-test.yml, the last React Native CI left once A removes the React Native workflows. On 7.0 and 6.9 it is already disabled withif: false; on older branches it still runs, spending a build and a Jest run on a platform the branch no longer ships.L. Pin WordPress 7.1 for performance testing
Branch:
pin-performance-tests-wp-versionPurpose: Passes
--wp-versionto the performance CLI so the "Compare performance with base branch" step measures against WordPress 7.1 instead of silently falling back to WordPresstrunk.Not applicable:
performance.ymlonly remains on 7.1. A removes it on 7.0 and older, so their PRs were closed on 2026-10-07.M. Test against a single Node.js version
Branch:
single-node-version-testingPurpose: Removes the Node.js version matrix and
check-latest: true, so CI only tests the one Node.js version in the branch's.nvmrc. A maintenance branch never moves off its pinned version, so the extra legs add cost without value. On 6.4–6.1 the matrix already had a single value and there is nocheck-latest, so those PRs only drop the redundant matrix. Only the Node.js parts change: on 7.1–6.9 the pull request OSexcludeentries increate-block.ymlandstatic-checks.ymlstay until CV replaces them. On 5.8, whose workflows key the~/.npmcache by hand, the Node.js version also comes out of every cache key, so all jobs share one cache entry.Not applicable: 5.6 and 5.5 have no Node.js matrix.
N. Pin runner images instead of
*-latestBranch:
pin-runner-imagesPurpose: Replaces the floating
ubuntu-latest/windows-latest/macos-latestlabels with pinned images, porting trunk's #71201. GitHub warns about the floating aliases, and they let the environment change underneath a frozen branch.Source: #71201
Not applicable:
wp/6.9already contains #71201 and has no*-latestrunner labels.O. Always read the Node.js version from
.nvmrcBranch:
read-node-version-from-nvmrcPurpose: Replaces the hardcoded
node-versionvalues left in the workflows withnode-version-file: '.nvmrc'so.nvmrcis the single source of truth. No functional change.Not applicable: 5.9 and newer already read
.nvmrceverywhere.P. Upgrade Node.js from 16 to 20
Branch:
upgrade-node-to-20Purpose: Moves the branch from end-of-life Node.js 16 to 20, matching trunk's #56331. Later layers in the stack, including the Playwright upgrade, need the newer version.
Source: #56331
CO. Upgrade Node.js from 12 to 14
Branch:
upgrade-node-to-14Purpose: Moves
.nvmrcfrom Node.js 12 to 14, with thenodegitandnode-sassbumpsnpm cineeds to get prebuilt Node 14 binaries. 5.7 and newer already run Node 14 or later, and Node 12 can't load thedocker-compose(npm) releases after0.24.0.Q. Migrate wp-env to Docker Compose v2
Branch:
docker-compose-v2,fix-docker-compose-v2-debug-stepPurpose: Moves
wp-envfrom the standalonedocker-composev1 binary to thedocker composev2 plugin and, where the step exists (6.5–6.2), removes thedocker-compose -vdebug check. Current runner images no longer ship v1. (The 6.5 PR only removes the debug check. The 5.6 PR also sets explicit database credentials that the v1 failure had hidden.)Source: #51339
Not applicable: 7.1–6.6 already contain #51339 and have no
docker-compose -vstep.R. Fix wp-env Docker builds broken by archived Debian repositories
Branch:
fix-wp-env-debian-bullseye,fix-wp-env-debian-buster,archive-bullseye-security-apt-source(7.1)Purpose: Cherry-picks trunk's
wp-envfixes that point Docker builds at Debian's archive server for releases that reached end-of-life (Buster/Bullseye, and Stretch's expired signing keys on older branches). Without it,wp-env startfails withapt-get404s for the affected PHP versions. Thebullseye-securitysources now point at the archive too, instead of being dropped, so the images still get Debian's security updates.Source: #70718, #82478, #85469
On 7.1: the branch already contains #82478, so its PR only adds the
bullseye-securitychange from #85469, at the top of the stack.S. Pin
wp-envto the correct WordPress Core versionBranch:
pin-wp-env-core-versionPurpose: Pins
.wp-env.jsonto the matchingWordPress/WordPress#X.Y-branchand removes the WordPress version matrix. Unpinned,wp-envtracks Coretrunk, so the frozen branch's tests ran against an unrelated, moving version of WordPress.Not applicable: 6.1 and older already pin
.wp-env.jsontoWordPress/WordPress#X.Y-branchand have no WordPress version matrix.CP. Remove the Axe check that runs after every e2e test
Branch:
remove-global-axe-e2e-checkPurpose: Removes the global
afterEachAxe scan from the e2e test setup, as trunk did in Gutenberg 9.7; 5.7 and newer already have this. The scan failed tests that passed: the security tests'onerrorimages have no alt text, and injecting axe-core into a loading iframe was flaky.Source: #26626
T. Update the PHP version test matrix
Branch:
update-php-test-matrixPurpose: Sets the PHPUnit job's matrix to the lowest and highest supported minor of each PHP major the branch's WordPress release supports. 6.1–5.6 had no matrix, so it's added there and the single site and multisite runs split into their own legs. On 7.1–6.9 it also removes the PR-only excludes and the
eventdimension they used, so pull requests run every leg.fail-faststaystrue, as ontrunk. On 7.1–5.6 the PHP test jobs' names leave out the operating system (they ended inon Linux,on ubuntu-latestoron 'ubuntu-24.04'), which doesn't matter for these jobs.Source: #46510 (part)
CX. Use PHPUnit 9 for PHP 7.3 through 8.2
Branch:
use-phpunit-9-for-php-7-3-plusPurpose: Backports the
wp-envchange that picks the PHPUnit image for each PHP version, so PHP 7.3 through 8.2 use the PHPUnit 9 images and PHP 7.2 stays on PHPUnit 8. Without it, the 8.1 legs of the updated test matrix fall back towordpressdevelop/phpunit:latest(PHP 8.2), and the 7.4 legs run PHPUnit 8.5.Source: #46510 (part)
U. Remove the
spatie/phpunit-watcherdev dependencyBranch:
remove-phpunit-watcherPurpose: Drops a local-only convenience dependency whose
symfony/polyfill-php80autoload file is a parse error on PHP 5.6/7.0, which crashes every older-PHP leg before a single test runs. It also deletesphpunit-watcher.yml.distand the watcher instructions in the testing docs.V. Run PHP coding standards on the runner instead of inside wp-env
Branch:
run-phpcs-on-runnerPurpose: Moves
phpcsinto its own job on the runner at PHP 7.4, reporting violations as annotations. It no longer depends onwp-envstarting or repeats on every leg of the PHP matrix, and avoids WPCS 2.x crashing on PHP 8.4.Source: #46510 (part)
W. Let the current Composer release install this branch's dependencies
Branch:
fix-php-matrix-wp-env-compat,pin-composer-image,pin-wp-env-composer-php-version,use-latest-compatible-composerPurpose: Adds
config.allow-plugins(and, on 5.9, 5.8 and 5.7, aconfig.platform.phpvalue) so the current Composer release can install the branch's locked dependencies. Without it,composer installfails on the container's PHP 8.5 before any PHP job starts. It also pinswp-env'scomposerservice to thecomposer:2image instead of the floatingcomposerimage, so it keeps getting Composer 2 releases but a future Composer 3 can't break the install.X. Guard
setAccessible()calls for PHP 8.5Branch:
guard-setaccessible-php85Purpose: Wraps
ReflectionMethod/Property::setAccessible()calls inPHP_VERSION_ID < 80100checks. PHP 8.5 deprecates them, and the branch's PHPUnit config turns the deprecation into test errors on the new PHP 8.5 leg.Source: #79260
Y. Fix the Composer PHP platform override breaking unit tests on older PHP
Branch:
fix-composer-platform-overridePurpose: Removes the workflow step that overrode
platform.phpwith the bare matrix version (e.g.7.2→7.2.0) andcomposer.json's staticconfig.platform.php, and declares the release's minimum PHP asrequire.php. The override made Composer reject dependencies requiring>=7.2.5and failed the older-PHP jobs outright. 6.1 has no override step. 6.0 commits acomposer.lockthat installs on PHP 8.5, so it keepsconfig.platform.phpand lowers it to5.6.20.Source: #73358
Z. Configure the Composer advisory policy
Branch:
configure-composer-advisory-policyPurpose: Tells Composer's advisory policy to ignore advisories whose vulnerable code paths aren't reachable here (the
wp-coding-standards/wpcssniff advisory; on 6.1 and 6.0 also PHPUnit andsymfony/yamladvisories). Without it, Composer refuses everywpcs ^2.2release: the PHP jobs fail at dependency install on branches without acomposer.lock(6.3–6.1), and any dependency update fails on the rest.AA. Ignore the stale Browserslist data warning in unit tests
Branch:
ignore-browserslist-old-dataPurpose: Configures Jest to ignore Browserslist's outdated
caniuse-litewarning.@wordpress/jest-consolefails any test that emits an unexpectedconsole.warn, so whichever suite first touches Browserslist failed for an unrelated reason.Source:
a468930(committed directly towp/7.0)AB. Fix Playwright browser-install failures on Ubuntu 24.04
Branch:
fix-playwright-noble-install,upgrade-playwrightPurpose: Upgrades
@playwright/test(6.6–6.4), runs Playwright onubuntu-22.04(6.3, 6.2), or installs Chromium without--with-deps(6.1, 6.0, which only test Chromium), so the Playwright job works on Noble runners. Older Playwright releases try to install apt packages that were renamed or removed in Ubuntu 24.04.Source: #54051, #61443
AC. Fix theme-activation navigation race in
activate-theme.jsBranch:
fix-activate-theme-navigation-racePurpose: Waits for the full-page navigation after clicking "Activate" in the
activateTheme()e2e helper. Without it, all 19 change-detection tests could time out waiting for the theme to show as active.Not applicable: 6.6 and newer no longer run the Puppeteer suite (
end2end-test.ymlhas only the Playwright job), and the@wordpress/e2e-test-utilson 5.6 and 5.5 has noactivateTheme()helper.AD. Fix flaky block switcher max-columns e2e test
Branch:
fix-flaky-block-switcher-max-columns-testPurpose: Adds a short delay between the two
primary+apresses so the second press sees the first selection and expands it to a multi-block selection.AE. Fix flaky block switcher columns-range e2e test
Branch:
fix-flaky-block-switcher-columns-range-testPurpose: Replaces the asynchronous
Shift+ArrowUpselection with the same delayedprimary+adouble press used by the neighboring test, avoiding a race with the toolbar button click.AF. Ignore empty PHP files in the PHP coding standards scan
Branch:
fix-phpcs-php-deprecation-crashPurpose: Stops PHPCS's
Internal.NoCodeFoundwarning on an intentionally emptyindex.phpplaceholder from failing the coding standards job.AG. Fetch
react-native-screensas a pre-built tarballBranch:
fix-react-native-screens-git-dependencyPurpose: Replaces a git dependency whose
preparescript now fails to compile against the latest@types/node, which brokenpm ciin every CI job.AH. Pin
wp-phpunit/wp-phpunitto the branch's WordPress test bootstrapBranch:
fix-phpunit-executionPurpose: Pins
wp-phpunit/wp-phpunitto the test library matching the branch's WordPress version. On 6.0 and 5.9,^5.4resolved to WordPress 5.8's library, which rejects PHPUnit 8+, so the PHP 7.4/8.0/8.1 legs failed at startup. On 5.8, 5.7 and 5.6 the tests ran against an older release's library, and on 5.5 the old constraint resolved to 2020's5.5.1; on those four branches it also addsyoast/phpunit-polyfills, which their newer libraries require. Because no 5.6.x–5.8.x library accepts PHPUnit 8+, a separate change pins Composer's PHPUnit to 7.5 on 5.8, 5.7 and 5.6.AI. Use PHPUnit Polyfills' fixture method names
Branch:
fix-setup-teardown-polyfillsPurpose: Renames camelCase
setUp()/tearDown()overrides to the polyfills'set_up()/tear_down(). The newer test bootstrap declares the camelCase methods with: void, so the old overrides are a fatal signature mismatch.Not applicable: On 5.8, 5.7, 5.6 and 5.5, the
wp-phpunit/wp-phpunit5.5.x–5.8.x releases still declare untyped camelCasesetUp()/tearDown()onWP_UnitTestCase_Base(extendingPHPUnit\Framework\TestCasedirectly), so the existing overrides stay compatible.AJ. Stop failing PHPUnit on PHP 8.2 deprecation notices
Branch:
allow-php-deprecation-notices-in-phpunitPurpose: Sets
convertDeprecationsToExceptions="false"so deprecation notices from the branch's existing code (dynamic properties, null-to-string,staticcallables) don't fail the PHP 8.2 leg.AK. Fix Test Widget e2e plugin for PHP 8
Branch:
fix-test-widget-php8-compatPurpose: Matches
Test_Widget::update()to its parent's signature. On PHP 8 the mismatch is fatal, so the test plugin can't be activated and the Widgets Customizer tests time out.Source: #34355
AL. Improve reliability of TinyMCE-related tests
Branch:
fix-flaky-metabox-tinymce-init-race,fix-flaky-metabox-tinymce-racePurpose: Makes the meta box e2e test wait for TinyMCE's own
initializedflag instead of the iframe element, so switching editor modes doesn't race TinyMCE's startup. On 6.7 it also clicks the mode-switch tab by its WordPress 6.7 name,Text, instead ofCode. 6.0–5.5 still have the Puppeteer version of the test, which never waited for TinyMCE, so there a smallpage.waitForFunction()helper waits before switching to Text mode and after switching back to Visual.Source: #78631
AM. Fix flaky DataViews list-layout keyboard e2e tests
Branch:
fix-flaky-dataviews-list-keyboard-testsPurpose: Ports two upstream fixes: wait for the Pages list to finish loading before keyboard input, and avoid duplicate page titles that make locators match two rows. 6.8 also ports the Template hierarchy test's own-front-page change (#69692), which the page deletion needs there. 6.6 instead adds explicit page dates, extra load waits from #82117, and focuses the search box instead of clicking it, to avoid a list-layout hit-testing bug fixed upstream in #63299. 6.7 also gives its pages explicit dates and deletes leftover pages in the spec, because its list sorts by date too.
Source: #78054, #78503, #69692, #82117
AN. Swap
phpunit/phpunitfor a release PHP 5.6 and 7.0 can loadBranch:
remove-phpunit-for-old-phpPurpose: On the PHP 5.6/7.0 legs, which use the image's bundled PHPUnit, replaces the Composer-installed PHPUnit 7.5 with the newest release those versions can load (5.7 on PHP 5.6, 6.5 on PHP 7.0), because loading 7.5 is a parse error there. It can't simply be removed, because
yoast/phpunit-polyfills(a dependency of the 5.6.x–5.8.x test libraries) requiresphpunit/phpunit.AO. Stop the
puppeteeralias from changingpackage-lock.jsonBranch:
fix-puppeteer-alias-lockfile-driftPurpose: Pins the dependencies npm 6 re-resolves under the
puppeteernpm alias on every install. Otherwisenpm installrewrites the lockfile and Static Analysis'check-local-changesstep fails.AP. Regenerate stale
core/imagedeprecation fixturesBranch:
fix-stale-image-deprecation-fixturesPurpose: Updates two fixtures to the attribute order the branch's
block.jsonactually produces. A deterministic JS unit test failure, not a flake.AQ. Fix
wp-bindPHP test foresc_url()scheme completionBranch:
fix-wp-bind-esc-url-testPurpose: Changes a test fixture value from
./wordpress.pngto/wordpress.png, because Core'sesc_url()intentionally prefixeshttp://to the relative form.AR. Retry Puppeteer plugin activation/deactivation on timeout
Branch:
retry-plugin-activation-timeoutPurpose: Raises the post-click wait in
activatePlugin/deactivatePluginto 60 seconds and retries up to 3 times. These run inbeforeAll/afterAll, which Jest's test retries don't cover, so one timeout failed a whole file.AS. Fix flaky interactivity router navigate e2e test
Branch:
fix-flaky-router-navigate-testPurpose: Waits until both route handlers have run before releasing either request, so
resolveLink2()is always defined when the test calls it.Source: #80178
AT. Remove the redundant Install NVM step
Branch:
remove-install-nvm-stepPurpose: Removes a step that reinstalls nvm over the copy already present on GitHub-hosted runners. Nothing else depends on it.
Not applicable: The step is in
performance.yml, which only remains on 7.1. A removes it on 7.0 and older, so their PRs were closed on 2026-10-07.AU. Fix flaky Font Library font deletion e2e test
Branch:
fix-flaky-font-library-delete-testPurpose: Waits for the delete confirmation dialog before clicking its "Delete" button, instead of clicking the first "Delete" button twice.
Source: #74067 (part)
AV. Add missing attribute defaults to the Latest Posts render test
Branch:
fix-latest-posts-render-test-attributesPurpose: Adds the attribute defaults the render callback reads without an
isset()check (excerptLength,featuredImageSizeSlug,addLinkToFeaturedImage). PHP 8 makes the missing keys warnings, which the PHPUnit config turns into errors.AW. Use
assertStringContainsString()for string haystacksBranch:
fix-webfonts-test-string-assertionsPurpose: Replaces string-haystack
assertContains()/assertNotContains()calls, which PHPUnit 9 removed, with the polyfilledassertStringContainsString()/assertStringNotContainsString().AX. Fix flaky site editor URL navigation e2e test
Branch:
fix-flaky-site-editor-url-navigationPurpose: Waits for network activity to settle after opening "Add Template", so the "For a specific item" choice appears before the test clicks "Single item: Post".
Source: #73252 (part)
AY. Reset preferences after navigable toolbar e2e tests
Branch:
reset-preferences-after-navigable-toolbar-testsPurpose: Resets preferences through the REST API after each test, instead of toggling the top toolbar off at the end. The debounced save could lose that toggle and break every later post-editor test in the shard.
Source: #78115
AZ. Fix flaky site editor command palette e2e test
Branch:
fix-flaky-command-center-template-testPurpose: Scopes the level-1 heading lookup to the editor top bar so a second heading on the page doesn't trigger a Playwright strict-mode violation.
Source: #62454
Not applicable: 7.1–6.7 already contain #62454. 6.5, 6.4 and 6.3 have the same assertion, but their command palette opens the template in the browse view, which has no editor top bar, so the scoped lookup can't pass (#83737, #83738 and #83739 were closed). 6.2 and older don't have the test.
BA. Pass debug step arguments through to wp-env
Branch:
fix-debug-step-argumentsPurpose: Adds
--afternpm run wp-envin the debug step so npm stops swallowing flags. Every command with a flag ran wrongly: the three--versioncommands printed thewp-envversion, andphp -m,php -iandlocale -alost their flags.Source: #75341
BB. Detect the database client in the debug step
Branch:
detect-db-client-in-debug-stepPurpose: Runs
mariadb --versionormysql --versiondepending on which client the database container has, since the client's name changes across MySQL/MariaDB versions.BC. Fix ReflectionException on PHP 5.6/7.0 in block-pattern REST tests
Branch:
fix-reflection-getstaticpropertyvalue-php7Purpose: Uses
ReflectionProperty::getValue()/setValue()instead ofget/setStaticPropertyValue(), which ignoresetAccessible()on PHP 5.6/7.0 and threw 18 errors per job.BD. Add a
mariadbVersionoption to wp-envBranch:
add-mariadb-version-optionPurpose: Adds a
mariadbVersionconfig option andWP_ENV_MARIADB_VERSIONvariable so the MariaDB versionwp-envruns can be chosen. Without it, every branch runs a floating image far newer than its WordPress release. On 5.6 and 5.5, whosewp-envhas no version settings to extend, only the variable is added.Source: #83751
CQ. Create the
wp-envdevelopment and tests databasesBranch:
create-wp-env-databasesPurpose: Sets
MYSQL_DATABASEso MariaDB creates thewordpressdatabase, and adds atests-mysqlservice fortests-wordpress. Thewordpressimage stopped creating databases in January 2021, so once BE replaces the database check, installing WordPress fails withCan’t select database. A minimal backport of the database part of #29800, which 5.7 and newer have.Source: #29800
BE. Replace wp-env's database check with a MariaDB health check
Branch:
replace-db-check-with-healthcheckPurpose: Ports #75046: waits on a Docker health check instead of
wp db check. The current WP-CLI image's client requires TLS, sowp db checkfails against every MariaDB release before 11.4 and stopswp-env start.Source: #75046
Not applicable: 7.1 and 7.0 already include #75046.
BF. Pin MariaDB to an era-appropriate version
Branch:
pin-mariadb-versionPurpose: Uses the new option (on 5.6 and 5.5, the
WP_ENV_MARIADB_VERSIONvariable in the CI workflows) to pin MariaDB to the latest LTS released before the branch's WordPress release (12.3 down to 10.5, depending on the branch). Unpinned, the database under test keeps drifting forward.CR. Add a
WP_ENV_PHP_VERSIONenvironment variableBranch:
pin-wordpress-images-to-php-7-4Purpose: Adds a
WP_ENV_PHP_VERSIONvariable that picks the PHP version ofwp-env's WordPress and WP-CLI images, defaulting to7.4, the highest PHP version WordPress 5.5 supports. The floatingwordpressimage runs PHP 8.3, where WordPress 5.5'sWP_Query::parse_query()turns every front-end request without a post ID into a 404, failing 10 site editor e2e tests. WordPress 5.6 and newer cast the value and support PHP 8.CS. Pin PHP to 7.4 in CI
Branch:
pin-php-versionPurpose: Sets
WP_ENV_PHP_VERSION: '7.4'in the workflow-levelenv:ofend2end-test.ymlandunit-test.yml, next to BF'sWP_ENV_MARIADB_VERSION, so CI stays on a PHP version WordPress 5.5 supports even if CR's default changes.CT. Run
wp-envon the PHP test matrix versionBranch:
match-wp-env-php-to-test-matrixPurpose: Sets
WP_ENV_PHP_VERSIONto the matrix PHP version on thePHPjob, so each leg's WordPress and WP-CLI containers run the same PHP version as PHPUnit instead of CS's7.4.BG. Replace the removed
assertInternalType()in the block editor testsBranch:
replace-removed-assertinternaltypePurpose: Swaps
assertInternalType(), removed in PHPUnit 9, forassertIsArray()/assertIsInt().BH. Assert URL details request args and schema by key
Branch:
fix-url-details-array-assertionsPurpose: Rewrites two array-in-array
assertContains()checks that only passed under PHPUnit 8's loose comparison as per-key assertions.BI. Initialize
WP_Block_Supports::$block_to_renderin block render testsBranch:
fix-phpunit-testcode-compatPurpose: Sets and restores
WP_Block_Supports::$block_to_renderin tests that call render functions directly. Leftnull, it causes warnings on PHP 8 that the PHPUnit config turns into errors. On 5.8 it also passes ashowSubmenuIconcontext, which that branch's Navigation Link render reads without anisset().BJ. Fix flaky Openverse image drag-and-drop e2e test
Branch:
fix-flaky-openverse-image-drag-and-drop-testPurpose: Mocks the Openverse API and serves local images, matching trunk's #83842. The real search result's image download fails on GitHub runners, so the test failed on every retry.
Source: #83842
BK. Fix flaky router styles stylesheet-failure e2e test
Branch:
fix-flaky-router-styles-refresh-testPurpose: Backports #72783 to 6.9: the route handler aborts only the first stylesheet request instead of unrouting everything, so the refreshed page gets the expected styles.
Source: #72783
BL. Disable the node_modules cache in the Storybook check
Branch:
disable-node-modules-cache-in-storybook-checkPurpose: Stops the Storybook check from saving a
node_modulescache it has modified with an extranpm install, which later jobs restored as a clean install and then failed.BM. Migrate the Query block e2e test to Playwright
Branch:
migrate-query-test-to-playwrightPurpose: Backports #47995, replacing a Puppeteer test that clicked an un-awaited pattern and timed out with its Playwright version.
Source: #47995
BN. Install Xdebug 3.1.6 in wp-env on PHP 7
Branch:
fix-xdebug-pecl-php7Purpose: Installs the last Xdebug release that supports PHP 7 when the environment runs PHP 7.x.
pecl install xdebugotherwise picks a release requiring PHP 8. On 6.2–5.9 this only affects local development, because Xdebug is installed only when it is turned on. On 5.8 it also fixes thePHP 7.4CI legs, because that branch'swp-envinstalls Xdebug on PHP 7.2 and newer whether or not it is turned on. (On 5.7,wp-envinstead skips installing Xdebug when it is turned off, which fixes its PHP 5.6, 7.0 and 7.4 legs.)Source: #50490 (part)
Not applicable: 7.1–6.3 (already have #50490); 5.6 and 5.5 (their
wp-envdoesn't install Xdebug).BO. Pin the Node.js version in the Compressed Size workflow
Branch:
fix-bundle-size-node-versionPurpose: Adds an
actions/setup-nodestep reading.nvmrcbefore the compressed-size action, which otherwise uses the runner's Node.js 22 and fails installing a git dependency.BP. Omit WordPress dependencies when scaffolding in the Create Block check
Branch:
fix-create-block-wp-dependenciesPurpose: Ports part of #37639 so
@wordpress/create-blockstops installing the newest@wordpress/*packages, which require a newer Node.js than the branch runs.Source: #37639 (part)
BQ. Disable remote block patterns in e2e tests
Branch:
disable-remote-patterns-in-e2ePurpose: Backports #33160. Remote patterns from WordPress.org now contain markup from newer releases, which fails block validation console checks in every e2e shard.
Source: #33160
CN. Update the minimum supported WordPress version to 5.7
Branch:
update-minimum-wordpress-versionPurpose: Raises the plugin's minimum WordPress version to 5.7 and removes the compatibility code WordPress 5.7 makes unnecessary: the object-fit polyfill, the
wp-i18ntext direction script, and thealign,custom-classnameandgenerated-classnameblock supports. Replaces an earlier fix (5.8 #84454, 5.7 #84788) that moved the polyfill's URL from unpkg to jsDelivr.Source: #34536
BS. Pin the tt1-blocks theme to 0.4.3
Branch:
pin-tt1-blocks-themePurpose: Backports #28741. The unpinned theme now pulls markup from later Gutenberg releases, which this branch reports as invalid blocks, failing every Site Editor e2e test's console checks.
Source: #28741
BT. Use the Outline dropdown in the Site Editor save flow e2e test
Branch:
fix-site-editor-save-flow-outline-buttonPurpose: Selects the header template part through this branch's "Outline" dropdown. A backported test step expected the List View sidebar, which Gutenberg 9.9 doesn't have.
BU. Pin
phpunit/phpunitto a PHP 5.6/7.0-compatible releaseBranch:
fix-phpunit-dev-dependency-floorPurpose: Constrains
phpunit/phpunitto^5.7on 6.0 and 5.9 so the PHP 5.6 legs don't autoload a PHPUnit release whose syntax they can't parse. 5.9 also resolves againstplatform.php5.6.20and ignoresPKSA-z3gr-8qht-p93vand foursymfony/yamladvisories, includingPKSA-xz3r-9gp4-4m1z(6.0 ignores the same ones in Z). (On 5.8, 5.7 and 5.6 this instead runs PHPUnit 7.5 from Composer for PHP 7.2+, withplatform.php7.4, which 5.6 adds here.) On 5.8, 5.7 and 5.6 it ignores the same five advisories, which the PHP 5.6 legs' PHPUnit 5.7 swap needs. On 5.5 it ignores the foursymfony/yamladvisories that the locked PHPUnit 5.7 needs.BV. Skip the widgets REST controller
test_get_itemstest on PHP 8Branch:
skip-empty-rss-widget-render-in-widgets-testPurpose: Skips one test on PHP 8, where the RSS widget in WordPress 5.7 and 5.6 loops forever on an empty URL and hangs the PHP 8.0 legs. Core fixed this only in later releases.
BW. Skip the Media & Text focal point fixture test before PHP 7.1
Branch:
skip-media-text-float-fixture-before-php-7-1Purpose: Skips one KSES fixture data set on PHP < 7.1, where
json_encode()shortens floats and changes the serialized output.BX. Make the Site Editor export test compatible with PHP 5.6 and 7.0
Branch:
fix-edit-site-export-test-php-compatPurpose: Replaces
ZipArchive::RDONLYandZipArchive::count(), which older PHP versions lack, with equivalents that exist everywhere.BY. Add
wpop_keywordsto the pattern directory test fixturesBranch:
fix-pattern-directory-testsPurpose: Adds the
wpop_keywordsfield Core's pattern directory controller reads, since Core's class (not Gutenberg's) runs these tests on this branch.BZ. Skip the flaky List View global shortcut e2e test
Branch:
skip-flaky-list-view-global-shortcut-testPurpose: Backports #73234, skipping the most frequent e2e failure on the 6.9 stack, a focus race when List View opens.
Source: #73234
CA. Check for a current screen before reading its ID in the global styles settings
Branch:
fix-block-editor-current-screen-nullPurpose: Guards
get_current_screen()->idagainst anullscreen, which caused PHP 8 warnings and failing block editor settings tests.Source: #39543
CB. Skip the flaky multiple completers autocomplete e2e test
Branch:
fix-flaky-autocomplete-multiple-completers-testPurpose: Skips a test that fails because of an autocomplete bug (the user popover reopens and swallows the next input), not the test itself.
CC. Set user fields directly in the
createUser()e2e utilityBranch:
fix-create-user-field-typingPurpose: Backports #37469: sets user form fields with
$eval()instead of typing them, which sometimes truncated the login or names and broke the mentions tests.Source: #37469
CD. Handle a missing widget name when saving a widget in the widgets REST controller
Branch:
fix-widgets-controller-missing-namePurpose: Passes
nullwhen a request has no widgetname, instead of reading the missing key, which is a warning on PHP 8 that fails three tests. This code is plugin-only on 5.7 and 5.6 and never ships in a WordPress release.CE. Set the font size through the block editor store in the multi-entity save test
Branch:
fix-flaky-multi-entity-font-size-testPurpose: Sets the paragraph's font size through the block editor store instead of clicking the font size picker, which on 6.3 sits on the inspector's Styles tab and does not reliably change the block under test. It also waits for the first save to finish before changing the attribute again. The test has failed on every run since 2026-10-06.
CF. Remove the navigation menu edit permission e2e test
Branch:
fix-nav-edit-permission-e2e-testPurpose: Removes a test that can no longer pass because a WordPress 6.0.11 security change altered the REST capability checks it relied on.
CG. Fix flaky Tabs unit test
Branch:
fix-flaky-tabs-unit-testsPurpose: Backports #58629, waiting for re-renders before keyboard input in a Tabs controlled-mode test.
Source: #58629
CH. Wait for the slash inserter option in the flaky Writing Flow and block hierarchy e2e tests
Branch:
fix-flaky-writing-flow-slash-inserter-testsPurpose: Backports the
writing-flow.spec.jsandblock-hierarchy-navigation.spec.jsparts of #73159: the Writing Flow tests that type/imageand/table, and the block hierarchy test that types/spacer, now wait for the slash inserter's option to be selected before pressing Enter, so a block is always inserted. Thecontent-only-lock.spec.jspart is not ported.Source: #73159 (part)
Not applicable: 7.1 and 7.0 already include #73159. 6.8–6.3 have these tests without the waits, but none of them was seen failing or flaky on those stacks. 6.2–5.6 have the Writing Flow tests (Puppeteer on 6.0 and older), which only failed inside 5.8's since-fixed mass e2e failures; 6.2 and 6.1's block hierarchy test is Puppeteer and doesn't use the slash inserter.
CI. Fix flaky Pages e2e test Save click
Branch:
fix-flaky-pages-save-button-clickPurpose: Scopes the Save button click to the editor top bar so it doesn't also match the save hub's Save button.
CJ. Retry detached menu item clicks in the Widgets Customizer e2e tests
Branch:
fix-flaky-customizer-inspector-testPurpose: Adds a helper that re-finds and retries a menu item click when the Options menu re-renders and detaches the element.
CK. Only read the template slug when a template exists in the templates REST controller
Branch:
fix-templates-controller-null-templatePurpose: Moves a
$template->slugread inside the branches where$templateexists. Reading it onnullis a warning on PHP 8 that failstest_create_item. This code is plugin-only on 5.7 and never ships in a WordPress release.Source: #32176
CL. Set explicit retention periods for workflow artifacts
Branch:
set-artifact-retention-daysPurpose: Sets
retention-dayson artifacts that otherwise keep GitHub's 90-day default, such as pull request plugin ZIPs, e2e reports and failure artifacts. None of them are needed for that long; this matches trunk's #84525.Source: #84525
Not applicable: 5.6 and 5.5 (their workflows upload no artifacts).
CM. Use the matching wordpress-develop branch for pre-release PHPUnit tests
Branch:
use-matching-phpunit-test-branchPurpose: Backports #84758 so
wp-envloads the PHPUnit test library from the matchingX.Ybranch ofwordpress-developfor alpha, beta and RC versions. The 7.1 branch reports a-alphaversion, so it was loading trunk's test library, which now requires Secrets API code 7.1 doesn't have.Source: #84758
Not applicable: 7.0 and older (their
X.Y-branchcurrently reports a release version, sowp-envuses its tag).CU. Remove the unused flaky test report uploads and reporter
Branch:
remove-flaky-test-report-leftoversPurpose: Removes what still produced the flaky test report after A (6.1–5.9) or I (7.0–6.2) removed the only thing that read it: the "Archive flaky tests report" upload steps, the "Merge flaky tests reports" step (7.0–6.6), the Playwright
flaky-tests-reporter.ts(7.0–6.0), the unused local.github/report-flaky-testsaction (6.0 and 5.9), and the docs sentence saying flaky tests are reported to GitHub issues. The Puppeteer reporter in the published@wordpress/e2e-testspackage and thepackages/report-flaky-testsworkspace package stay, so no package changes.Not applicable: 7.1 still reports flaky tests, and 5.8 and older have no flaky test reporting.
CV. Run macOS and Windows jobs only on WordPress/gutenberg
Branch:
limit-fork-runner-osPurpose: Picks the OS list of the matrices that use macOS or Windows runners (
create-block.yml, andstatic-checks.ymlon 7.1 and 7.0) by repository: every OS on WordPress/gutenberg, including pull requests from forks, and only Ubuntu inside forks, because macOS and Windows minutes cost more. On 7.1–6.9 it replaces theevent-based pull request excludes inherited fromtrunk.Not applicable: 5.9 and older run no macOS or Windows jobs.
CW. Fix the flaky switch to draft step in the preview e2e test
Branch:
fix-flaky-preview-switch-to-draftPurpose: Fixes the flaky Puppeteer
Preview › should display the correct preview when switching between published and draft statusestest. After "Switch to draft", it clicks the confirmation dialog's "OK" button instead of pressing Enter and waits for the "Publish" button before editing again, porting the relevant parts of #41380 and #43874 from the later Playwright version of the test.Source: #41380, #43874
Not applicable: 7.1–6.1 (the Playwright version already has both fixes) and 5.9 and older (no such test).
CZ. Upload each E2E job's debug artifacts under its own name
Branch:
fix-e2e-artifact-name-collisionsPurpose: Gives each E2E
failures-artifactsupload inend2end-test.ymlits own name (a Puppeteer or Playwright prefix plus the shard number) and adds amerge-artifactsjob that combines them into onefailures-artifactsartifact. Sinceactions/upload-artifactv4, uploads with the same name create separate artifacts instead of adding to one, so shards sharing a name leave several identical-lookingfailures-artifactsartifacts, and downloading by name returns only one of them. Matches what 6.6 and newer already do.Source: #61338
Not applicable: 7.1–6.6 already name artifacts per shard and merge them, and 5.6 and 5.5 upload no E2E artifacts.
CY. Pin the PHP version used by the end-to-end tests
Branch:
pin-e2e-php-versionPurpose: Sets
WP_ENV_PHP_VERSIONin the end-to-end workflows to the highest PHP version each WordPress release supports: 8.0 on 5.8–5.6, 8.1 on 6.0 and 5.9, 8.2 on 6.3–6.1, 8.3 on 6.6–6.4, 8.4 on 6.8 and 6.7, and 8.5 on 7.1–6.9. Without it,wp-envbuilds the end-to-end containers from the floatingwordpressimage, which is PHP 8.3 today, newer than 6.3 and older support, and changes whenever Docker Hub moves itslatesttag. On 5.6,wp-envhas no PHP option, so this also backports theWP_ENV_PHP_VERSIONvariable from 5.5's #85012.Not applicable: 5.5 already pins PHP 7.4, its highest supported version (#85013). The 7.1 performance tests are not pinned.
DA. Fix the flaky Comment Query Loop pagination test
Branch:
fix-flaky-comment-query-loop-paginationPurpose: Fixes the flaky Puppeteer
Comment Query Loop › Pagination links are working as expectedtest, which failed in about 13% of runs. After a comment is posted, WordPress redirects to the comment's page, whichget_page_of_comment()works out from comment dates stored to the second; when the test's second and third comments share a second, the redirect goes to page 2 and the pagination checks fail. The test now loads the post itself after posting the comments, so WordPress shows the newest comments page based on the comment count.Source: None; #39826's Playwright version avoids the problem by opening the post through the "View Post" link after creating the comments.
Not applicable: 7.1–6.1 (the Playwright version opens the post after creating the comments) and 5.9 and older (no such test).
DB. Fix flaky Composite and Tabs unit tests
Branch:
fix-flaky-composite-unit-testsPurpose: Fixes a flaky
Compositeunit test that failed theUnit Tests / JavaScriptjob on 6.5, where focus stayed on Item 1 after pressing Tab. It waits for rendering to finish before pressing Tab and for focus to move before checking it, in that test and in oneTabstest with the same timing problem.Source: #58968
Not applicable: every other branch. 6.6 already has the fix, and 7.1–6.7 fixed the underlying cause by upgrading
@ariakit/test.DC. Pin the
composerimage used bywp-envto Composer 2Branch:
pin-wp-env-composer-imagePurpose: Pins
wp-env'scomposerservice to thecomposer:2image instead of the floatingcomposerimage, the same pin W adds on 5.9–5.5. 6.0'sunit-phpjobs install their Composer dependencies through that service, so it keeps getting Composer 2 releases but a future Composer 3 can't break the install. 6.0 has no PR in W because itscomposer.jsonalready declaresallow-plugins.Source: None; trunk's
wp-envno longer has acomposerservice.Not applicable: 7.1–6.3 (no
composerservice inwp-env), 6.2 and 6.1 (CI installs Composer on the runner and never uses the service), and 5.9–5.5 (pinned in W).DD. Improve reliability of the TypeWriter E2E test
Branch:
fix-flaky-typewriter-caret-testPurpose: Fixes the flaky
TypeWriter › should maintain caret position after scrolltest, which failed on 5.7 with the caret 64px out of place. It waits one animation frame after scrolling before reading the caret position, so the caret rectangle has been recalculated.Source: #31472
Not applicable: 6.4–5.8, which already have #31472; 7.1–6.5, which run a Playwright version of the test; and 5.6–5.5, which have an older version of the test that the fix doesn't apply to. Porting #28376 first doesn't work there, because their Puppeteer 3.0.0 has no
page.mouse.wheel().DE. Fix the flaky WP Editor Meta Boxes e2e test
Branch:
fix-flaky-wp-editor-meta-box-testPurpose: Fixes the
WP Editor Meta Boxes › Should save the changestest, which fails or is flaky in about 12% of e2e runs on 7.1. The test re-creates thetest_tinymce_idTinyMCE editor fromtinyMCEPreInit.mceInitafter the editor mounts, because moving the meta box form withappendChildcan reload TinyMCE's iframe mid-init. It also opens the meta box pane only when it isn't already open, because that state persists between retries.Source: None; #82243 fixes the first cause in the component on
trunkandwp/7.2, but it is a product change, so the test works around it instead.Not applicable: 7.0–6.5, where a scan of 2,709 e2e runs found no failures of this kind, and the older branches.
DF. Fix flaky component unit tests that press Tab
Branch:
add-sleep-before-tab-in-component-testsPurpose: Fixes the flaky
Tabs › Controlled mode › When selectOnMove is true › should automatically select a newly focused tabunit test, which failed on the first push run towp/6.5that ran the tests. It waits for rendering to finish (await sleep()) before eachpress.Tab()in the Ariakit-based component unit tests, because pressing Tab right after rendering races Ariakit's asynchronous focus setup.Source: #59012, without its
custom-select-control-v2changes, which don't apply to 6.5's older copy of that test.Not applicable: 6.6, which already has #59012; 7.1–6.7, which removed these
sleep()calls in #64205 after fixing the cause; and 6.4 and older, which don't have these tests.DG. Fix flaky deferred store e2e test
Branch:
fix-flaky-deferred-store-e2e-testPurpose: Fixes the flaky
deferred store › Ensure that a store can be subscribed to before it is initializede2e test, which failed all three attempts onwp/6.5. The fixture now registers its store when the page receives a_test_proceed_event instead of after a fixed delay, and the test dispatches that event after checking that the text is still empty. Before,page.goto()could return after the store was already registered.Source: #62571
On 6.6: preventive; the test hasn't failed there, but it has the same race with a 100 ms delay.
Not applicable: 7.1–6.7, which already have #62571, and 6.4 and older, which don't have this test.
desrosj commentedon Oct 16, 2026
A call for reviewers has been published on Make Core: https://make.wordpress.org/core/2026/10/16/call-for-code-review-help-repairing-gutenberg-github-actions-workflows-for-wp-x-y-branches/.
rejaulalomkhan commentedon Oct 18, 2026
I would like to claim row CA (
Check for a current screen before reading its ID in the global styles settings- PRs #84424 and #84459). Reviewing both PRs now!rejaulalomkhan commentedon Oct 18, 2026
Row CA is complete — both #84424 (
wp/5.9) and #84459 (wp/5.8) have been reviewed and approved.lucatume commentedon Oct 19, 2026
Claiming row A (
Remove obsolete and trunk-only workflows) and starting work on it.adimoldovan commentedon Oct 19, 2026
Claiming row B
adimoldovan commentedon Oct 19, 2026
Claiming row C.
desrosj commentedon Oct 19, 2026
Thank you for all the reviews so far, everyone!
I've been addressing them as they come in and I'm able, requesting a new review from the original reviewer after adding a response or addressing feedback.
Since opening this, the 5.6 and 5.5 branches are now fully pushed and ready for review. Branches 5.4 and earlier did not have any GitHub Actions workflows, so these will have their own list of changes included in their respective stacks and will be reviewed in a separate PR.
I also just pushed changes to multiple stacks addressing issues flagged during a thorough review that I had AI perform with consistency and accuracy in mind. Most of these were minor changes, and there were both code and PR body changes made. But many did require the full PR stack to be rebased, so there may potentially be some new failures that I will follow up on after the Actions queue clears.
The table and list of fixes in the first comment above have been updated and should now be accurate.
10 remaining items
adimoldovan commentedon Oct 22, 2026
Claiming row Q.
lucatume commentedon Oct 23, 2026
Claiming row R
lucatume commentedon Oct 23, 2026
Claiming line U
ntsekouras commentedon Oct 26, 2026
Thank you @lucatume! JFYI I reviewed U just to get to completion a bit faster.
desrosj commentedon Oct 26, 2026
Thank you, everyone! We're nearly there. I've gone through every review and addressed all of the feedback left. I also addressed a few other issues that Claude pointed out while I was addressing that feedback and I think these are in a great state once those are reviewed.
Here is the remaining work for the last 2% of cells:
wp/6.0branch Actions: Improve reliability of TinyMCE-related tests #85576, Repairwp/5.9branch Actions: Improve reliability of TinyMCE-related tests #85577, Repairwp/5.8branch Actions: Improve reliability of TinyMCE-related tests #85578, Repairwp/5.7branch Actions: Improve reliability of TinyMCE-related tests #85579, Repairwp/5.6branch Actions: Improve reliability of TinyMCE-related tests #85581 and Repairwp/5.5branch Actions: Improve reliability of TinyMCE-related tests #85583, with no reviews yet.wp/5.7branch Actions: Improve reliability of the TypeWriter E2E test #85580.wp/7.1branch Actions: Fix flaky WP Editor Meta Boxes e2e test #85585.I did add @ntsekouras as a reviewer on row AL because we were working together on the final PRs today. But he had to sign off for the night, so feel free to pick these up and run with them.
andrewserong commentedon Oct 26, 2026
It looks like they've all got approvals now. Let us know if you need 👀 on any others, and nice work everyone getting them all reviewed!
desrosj commentedon Oct 27, 2026
All stacks have been merged, and CI is green with the exception of 2
wp/6.5failures that I'm looking into!Also, I've gone and opened #85588 to tackle reviewing the 5.4-5.1 stacks. These are a bit different because they previously had a TravisCI configuration without any GitHub Actions. Please head over there if you have some time to review a few more. There's much fewer total PRs for those branches than than for this ticket.