Skip to content

Reviewing PR stacks aimed at restoring automated testing capabilities and GitHub Actions workflows for wp/X.Y branches #84853

Open

Description

@desrosj

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 80 of 105 76.2%
Cells completed 403 of 548 73.5%
Rows not started 23 of 105 21.9%

Last updated: 2026-10-23 20:06 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 23 - 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 ✅ 10 - 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 ✅ 11 - 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 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 6 N/A 16 - 83467 16 - 83468 16 - 83469 16 - 82905 18 - 83465 22 - 83466 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
✅ 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 ✅ 12 - 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 13 - 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 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 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 16 - 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 14 - 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 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 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 15 - 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 ✅ 17 - 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 ✅ 18 - 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 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 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 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 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. Open the Styles tab in the multi-entity save font size test 1 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 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 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 ✅ 19 - 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 ✅ 20 - 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 ✅ 21 - 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 ✅ 22 - 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

104 fixes, 546 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 22 28 35 31 31 33 36 37 32 30 28 38 37 35 38 28 27 546

Activity

  1. added theissue type on Oct 15, 2026
  2. added
    [Type] TaskIssues or PRs that have been broken down into an individual action to take
    on Oct 15, 2026
  3. desrosj commented on Oct 15, 2026

    @desrosj
    MemberAuthor

    Fixes

    A. Remove obsolete and trunk-only workflows

    Branch: remove-rn-workflows

    Purpose: Deletes workflows that do no useful work on a wp/X.Y branch: scheduled and workflow_run jobs and pull_request_target automation (which always run the default branch's copy), React Native workflows, changelog and PHP-sync checks meant for trunk development, and plugin-release automation that only runs from trunk or release/*. It also removes the performance tests, which are only maintained for the current WordPress release, and on 5.7 and 5.6 cancel.yml, which native concurrency replaces. 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-timeouts

    Purpose: Adds timeout-minutes to 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 in playwright install --with-deps during an apt mirror outage on 2026-10-07.

    Source: #46510, #80801

    C. Reference trunk's reusable workflow-lint job

    Branch: reference-trunk-workflow-lint

    Purpose: Points workflow-lint.yml at trunk's reusable workflow-lint job instead of a local copy, and ports the branch filters from #82744 so workflow linting actually runs on wp/X.Y branches.

    Source: #82744

    Not applicable: 6.8 and older have no workflow-lint.yml or reusable-workflow-lint.yml, so there is nothing to point at trunk.

    D. Disable npm caching in release workflows

    Branch: disable-cache-for-release-builds

    Purpose: Sets package-manager-cache: false on every actions/setup-node step 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 their build-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-latest

    Purpose: 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 --version debug check

    Branch: remove-svn-version-debug-check

    Purpose: Drops the svn --version line 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 no test-php debug step.

    G. Refine push branch filters

    Branch: fix-workflow-branch-filters

    Purpose: Ports #82744's push: branch filters (trunk, release/X.Y, wp/X.Y, wp/latest, wp/next), so create-block.yml (and on 5.7/5.6 every workflow that only listed master) runs on a direct push to wp/X.Y, and the loose release/**/wp/** globs become #82744's exact patterns. pull_request triggers stay unfiltered. On 7.1–6.9 the workflow-lint.yml half of #82744 is in C.

    Source: #82744

    H. Add concurrency configuration to workflows

    Branch: add-workflow-concurrency

    Purpose: 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 old cancel.yml workflow that A removes.

    Source: #32016

    I. Remove the broken flaky-test issue reporting job

    Branch: disable-flaky-test-issue-reporting

    Purpose: Removes the report-to-issues job. It checks out live trunk and runs trunk's report-flaky-tests action, which no longer fits this branch: on 7.0 and 6.9 the action requires an output-path input the job never passes, and on 6.8–6.2 the job's npm run build:packages step 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-issues job.

    J. Remove SimenB/github-actions-cpu-cores dependency

    Branch: remove-cpu-cores-dependency

    Purpose: Replaces the third-party action that only fed Jest's --maxWorkers with nproc, 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-job

    Purpose: Removes the mobile-unit-js job from unit-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 with if: 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-version

    Purpose: Passes --wp-version to the performance CLI so the "Compare performance with base branch" step measures against WordPress 7.1 instead of silently falling back to WordPress trunk.

    Not applicable: performance.yml only 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-testing

    Purpose: 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 no check-latest, so those PRs only drop the redundant matrix. Only the Node.js parts change: on 7.1–6.9 the pull request OS exclude entries in create-block.yml and static-checks.yml stay until CV replaces them. On 5.8, whose workflows key the ~/.npm cache 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 *-latest

    Branch: pin-runner-images

    Purpose: Replaces the floating ubuntu-latest/windows-latest/macos-latest labels 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.9 already contains #71201 and has no *-latest runner labels.

    O. Always read the Node.js version from .nvmrc

    Branch: read-node-version-from-nvmrc

    Purpose: Replaces the hardcoded node-version values left in the workflows with node-version-file: '.nvmrc' so .nvmrc is the single source of truth. No functional change.

    Not applicable: 5.9 and newer already read .nvmrc everywhere.

    P. Upgrade Node.js from 16 to 20

    Branch: upgrade-node-to-20

    Purpose: 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-14

    Purpose: Moves .nvmrc from Node.js 12 to 14, with the nodegit and node-sass bumps npm ci needs to get prebuilt Node 14 binaries. 5.7 and newer already run Node 14 or later, and Node 12 can't load the docker-compose (npm) releases after 0.24.0.

    Q. Migrate wp-env to Docker Compose v2

    Branch: docker-compose-v2, fix-docker-compose-v2-debug-step

    Purpose: Moves wp-env from the standalone docker-compose v1 binary to the docker compose v2 plugin and, where the step exists (6.5–6.2), removes the docker-compose -v debug 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 -v step.

    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-env fixes 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 start fails with apt-get 404s for the affected PHP versions. The bullseye-security sources 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-security change from #85469, at the top of the stack.

    S. Pin wp-env to the correct WordPress Core version

    Branch: pin-wp-env-core-version

    Purpose: Pins .wp-env.json to the matching WordPress/WordPress#X.Y-branch and removes the WordPress version matrix. Unpinned, wp-env tracks Core trunk, so the frozen branch's tests ran against an unrelated, moving version of WordPress.

    Not applicable: 6.1 and older already pin .wp-env.json to WordPress/WordPress#X.Y-branch and have no WordPress version matrix.

    CP. Remove the Axe check that runs after every e2e test

    Branch: remove-global-axe-e2e-check

    Purpose: Removes the global afterEach Axe 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' onerror images 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-matrix

    Purpose: 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 event dimension they used, so pull requests run every leg. fail-fast stays true, as on trunk.

    Source: #46510 (part)

    CX. Use PHPUnit 9 for PHP 7.3 through 8.2

    Branch: use-phpunit-9-for-php-7-3-plus

    Purpose: Backports the wp-env change 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 to wordpressdevelop/phpunit:latest (PHP 8.2), and the 7.4 legs run PHPUnit 8.5.

    Source: #46510 (part)

    U. Remove the spatie/phpunit-watcher dev dependency

    Branch: remove-phpunit-watcher

    Purpose: Drops a local-only convenience dependency whose symfony/polyfill-php80 autoload file is a parse error on PHP 5.6/7.0, which crashes every older-PHP leg before a single test runs. It also deletes phpunit-watcher.yml.dist and the watcher instructions in the testing docs.

    V. Run PHP coding standards on the runner instead of inside wp-env

    Branch: run-phpcs-on-runner

    Purpose: Moves phpcs into its own job on the runner at PHP 7.4, reporting violations as annotations. It no longer depends on wp-env starting 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-composer

    Purpose: Adds config.allow-plugins (and, on 5.9, 5.8 and 5.7, a config.platform.php value) so the current Composer release can install the branch's locked dependencies. Without it, composer install fails on the container's PHP 8.5 before any PHP job starts. It also pins wp-env's composer service to the composer:2 image instead of the floating composer image, so it keeps getting Composer 2 releases but a future Composer 3 can't break the install.

    X. Guard setAccessible() calls for PHP 8.5

    Branch: guard-setaccessible-php85

    Purpose: Wraps ReflectionMethod/Property::setAccessible() calls in PHP_VERSION_ID < 80100 checks. 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-override

    Purpose: Removes the workflow step that overrode platform.php with the bare matrix version (e.g. 7.2 → 7.2.0) and composer.json's static config.platform.php, and declares the release's minimum PHP as require.php. The override made Composer reject dependencies requiring >=7.2.5 and failed the older-PHP jobs outright. 6.1 has no override step. 6.0 commits a composer.lock that installs on PHP 8.5, so it keeps config.platform.php and lowers it to 5.6.20.

    Source: #73358

    Z. Configure the Composer advisory policy

    Branch: configure-composer-advisory-policy

    Purpose: Tells Composer's advisory policy to ignore advisories whose vulnerable code paths aren't reachable here (the wp-coding-standards/wpcs sniff advisory; on 6.1 and 6.0 also PHPUnit and symfony/yaml advisories). Without it, Composer refuses every wpcs ^2.2 release: the PHP jobs fail at dependency install on branches without a composer.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-data

    Purpose: Configures Jest to ignore Browserslist's outdated caniuse-lite warning. @wordpress/jest-console fails any test that emits an unexpected console.warn, so whichever suite first touches Browserslist failed for an unrelated reason.

    Source: a468930 (committed directly to wp/7.0)

    AB. Fix Playwright browser-install failures on Ubuntu 24.04

    Branch: fix-playwright-noble-install, upgrade-playwright

    Purpose: Upgrades @playwright/test (6.6–6.4), runs Playwright on ubuntu-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.js

    Branch: fix-activate-theme-navigation-race

    Purpose: 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.yml has only the Playwright job), and the @wordpress/e2e-test-utils on 5.6 and 5.5 has no activateTheme() helper.

    AD. Fix flaky block switcher max-columns e2e test

    Branch: fix-flaky-block-switcher-max-columns-test

    Purpose: Adds a short delay between the two primary+a presses 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-test

    Purpose: Replaces the asynchronous Shift+ArrowUp selection with the same delayed primary+a double 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-crash

    Purpose: Stops PHPCS's Internal.NoCodeFound warning on an intentionally empty index.php placeholder from failing the coding standards job.

    AG. Fetch react-native-screens as a pre-built tarball

    Branch: fix-react-native-screens-git-dependency

    Purpose: Replaces a git dependency whose prepare script now fails to compile against the latest @types/node, which broke npm ci in every CI job.

    AH. Pin wp-phpunit/wp-phpunit to the branch's WordPress test bootstrap

    Branch: fix-phpunit-execution

    Purpose: Pins wp-phpunit/wp-phpunit to the test library matching the branch's WordPress version. On 6.0 and 5.9, ^5.4 resolved 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's 5.5.1; on those four branches it also adds yoast/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-polyfills

    Purpose: 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-phpunit 5.5.x–5.8.x releases still declare untyped camelCase setUp()/tearDown() on WP_UnitTestCase_Base (extending PHPUnit\Framework\TestCase directly), so the existing overrides stay compatible.

    AJ. Stop failing PHPUnit on PHP 8.2 deprecation notices

    Branch: allow-php-deprecation-notices-in-phpunit

    Purpose: Sets convertDeprecationsToExceptions="false" so deprecation notices from the branch's existing code (dynamic properties, null-to-string, static callables) don't fail the PHP 8.2 leg.

    AK. Fix Test Widget e2e plugin for PHP 8

    Branch: fix-test-widget-php8-compat

    Purpose: 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-race

    Purpose: Makes the meta box e2e test wait for TinyMCE's own initialized flag 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 of Code.

    Source: #78631

    AM. Fix flaky DataViews list-layout keyboard e2e tests

    Branch: fix-flaky-dataviews-list-keyboard-tests

    Purpose: 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/phpunit for a release PHP 5.6 and 7.0 can load

    Branch: remove-phpunit-for-old-php

    Purpose: 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) requires phpunit/phpunit.

    AO. Stop the puppeteer alias from changing package-lock.json

    Branch: fix-puppeteer-alias-lockfile-drift

    Purpose: Pins the dependencies npm 6 re-resolves under the puppeteer npm alias on every install. Otherwise npm install rewrites the lockfile and Static Analysis' check-local-changes step fails.

    AP. Regenerate stale core/image deprecation fixtures

    Branch: fix-stale-image-deprecation-fixtures

    Purpose: Updates two fixtures to the attribute order the branch's block.json actually produces. A deterministic JS unit test failure, not a flake.

    AQ. Fix wp-bind PHP test for esc_url() scheme completion

    Branch: fix-wp-bind-esc-url-test

    Purpose: Changes a test fixture value from ./wordpress.png to /wordpress.png, because Core's esc_url() intentionally prefixes http:// to the relative form.

    AR. Retry Puppeteer plugin activation/deactivation on timeout

    Branch: retry-plugin-activation-timeout

    Purpose: Raises the post-click wait in activatePlugin/deactivatePlugin to 60 seconds and retries up to 3 times. These run in beforeAll/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-test

    Purpose: 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-step

    Purpose: 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-test

    Purpose: 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-attributes

    Purpose: 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 haystacks

    Branch: fix-webfonts-test-string-assertions

    Purpose: Replaces string-haystack assertContains()/assertNotContains() calls, which PHPUnit 9 removed, with the polyfilled assertStringContainsString()/assertStringNotContainsString().

    AX. Fix flaky site editor URL navigation e2e test

    Branch: fix-flaky-site-editor-url-navigation

    Purpose: 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-tests

    Purpose: 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-test

    Purpose: 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-arguments

    Purpose: Adds -- after npm run wp-env in the debug step so npm stops swallowing flags. Every command with a flag ran wrongly: the three --version commands printed the wp-env version, and php -m, php -i and locale -a lost their flags.

    Source: #75341

    BB. Detect the database client in the debug step

    Branch: detect-db-client-in-debug-step

    Purpose: Runs mariadb --version or mysql --version depending 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-php7

    Purpose: Uses ReflectionProperty::getValue()/setValue() instead of get/setStaticPropertyValue(), which ignore setAccessible() on PHP 5.6/7.0 and threw 18 errors per job.

    BD. Add a mariadbVersion option to wp-env

    Branch: add-mariadb-version-option

    Purpose: Adds a mariadbVersion config option and WP_ENV_MARIADB_VERSION variable so the MariaDB version wp-env runs can be chosen. Without it, every branch runs a floating image far newer than its WordPress release. On 5.6 and 5.5, whose wp-env has no version settings to extend, only the variable is added.

    Source: #83751

    CQ. Create the wp-env development and tests databases

    Branch: create-wp-env-databases

    Purpose: Sets MYSQL_DATABASE so MariaDB creates the wordpress database, and adds a tests-mysql service for tests-wordpress. The wordpress image stopped creating databases in January 2021, so once BE replaces the database check, installing WordPress fails with Can’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-healthcheck

    Purpose: Ports #75046: waits on a Docker health check instead of wp db check. The current WP-CLI image's client requires TLS, so wp db check fails against every MariaDB release before 11.4 and stops wp-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-version

    Purpose: Uses the new option (on 5.6 and 5.5, the WP_ENV_MARIADB_VERSION variable 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_VERSION environment variable

    Branch: pin-wordpress-images-to-php-7-4

    Purpose: Adds a WP_ENV_PHP_VERSION variable that picks the PHP version of wp-env's WordPress and WP-CLI images, defaulting to 7.4, the highest PHP version WordPress 5.5 supports. The floating wordpress image runs PHP 8.3, where WordPress 5.5's WP_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-version

    Purpose: Sets WP_ENV_PHP_VERSION: '7.4' in the workflow-level env: of end2end-test.yml and unit-test.yml, next to BF's WP_ENV_MARIADB_VERSION, so CI stays on a PHP version WordPress 5.5 supports even if CR's default changes.

    CT. Run wp-env on the PHP test matrix version

    Branch: match-wp-env-php-to-test-matrix

    Purpose: Sets WP_ENV_PHP_VERSION to the matrix PHP version on the PHP job, so each leg's WordPress and WP-CLI containers run the same PHP version as PHPUnit instead of CS's 7.4.

    BG. Replace the removed assertInternalType() in the block editor tests

    Branch: replace-removed-assertinternaltype

    Purpose: Swaps assertInternalType(), removed in PHPUnit 9, for assertIsArray()/assertIsInt().

    BH. Assert URL details request args and schema by key

    Branch: fix-url-details-array-assertions

    Purpose: 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_render in block render tests

    Branch: fix-phpunit-testcode-compat

    Purpose: Sets and restores WP_Block_Supports::$block_to_render in tests that call render functions directly. Left null, it causes warnings on PHP 8 that the PHPUnit config turns into errors. On 5.8 it also passes a showSubmenuIcon context, which that branch's Navigation Link render reads without an isset().

    BJ. Fix flaky Openverse image drag-and-drop e2e test

    Branch: fix-flaky-openverse-image-drag-and-drop-test

    Purpose: 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-test

    Purpose: 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-check

    Purpose: Stops the Storybook check from saving a node_modules cache it has modified with an extra npm 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-playwright

    Purpose: 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-php7

    Purpose: Installs the last Xdebug release that supports PHP 7 when the environment runs PHP 7.x. pecl install xdebug otherwise 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 the PHP 7.4 CI legs, because that branch's wp-env installs Xdebug on PHP 7.2 and newer whether or not it is turned on. (On 5.7, wp-env instead 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-env doesn't install Xdebug).

    BO. Pin the Node.js version in the Compressed Size workflow

    Branch: fix-bundle-size-node-version

    Purpose: Adds an actions/setup-node step reading .nvmrc before 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-dependencies

    Purpose: Ports part of #37639 so @wordpress/create-block stops 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-e2e

    Purpose: 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-version

    Purpose: 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-i18n text direction script, and the align, custom-classname and generated-classname block 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-theme

    Purpose: 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-button

    Purpose: 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/phpunit to a PHP 5.6/7.0-compatible release

    Branch: fix-phpunit-dev-dependency-floor

    Purpose: Constrains phpunit/phpunit to ^5.7 on 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 against platform.php 5.6.20 and ignores PKSA-z3gr-8qht-p93v and four symfony/yaml advisories, including PKSA-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+, with platform.php 7.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 four symfony/yaml advisories that the locked PHPUnit 5.7 needs.

    BV. Skip the widgets REST controller test_get_items test on PHP 8

    Branch: skip-empty-rss-widget-render-in-widgets-test

    Purpose: 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-1

    Purpose: 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-compat

    Purpose: Replaces ZipArchive::RDONLY and ZipArchive::count(), which older PHP versions lack, with equivalents that exist everywhere.

    BY. Add wpop_keywords to the pattern directory test fixtures

    Branch: fix-pattern-directory-tests

    Purpose: Adds the wpop_keywords field 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-test

    Purpose: 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-null

    Purpose: Guards get_current_screen()->id against a null screen, 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-test

    Purpose: 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 utility

    Branch: fix-create-user-field-typing

    Purpose: 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-name

    Purpose: Passes null when a request has no widget name, 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. Open the Styles tab in the multi-entity save font size test

    Branch: fix-flaky-multi-entity-font-size-test

    Purpose: Opens the block inspector's Styles tab before looking for the font size picker, which lives there. 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-test

    Purpose: 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-tests

    Purpose: 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 e2e tests

    Branch: fix-flaky-writing-flow-slash-inserter-tests

    Purpose: Backports part of #73159: waits for the slash inserter's option to be selected before pressing Enter, so a block is always inserted.

    Source: #73159 (part)

    CI. Fix flaky Pages e2e test Save click

    Branch: fix-flaky-pages-save-button-click

    Purpose: 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-test

    Purpose: 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-template

    Purpose: Moves a $template->slug read inside the branches where $template exists. Reading it on null is a warning on PHP 8 that fails test_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-days

    Purpose: Sets retention-days on 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-branch

    Purpose: Backports #84758 so wp-env loads the PHPUnit test library from the matching X.Y branch of wordpress-develop for alpha, beta and RC versions. The 7.1 branch reports a -alpha version, 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-branch currently reports a release version, so wp-env uses its tag).

    CU. Remove the unused flaky test report uploads and reporter

    Branch: remove-flaky-test-report-leftovers

    Purpose: 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-tests action (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-tests package and the packages/report-flaky-tests workspace 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-os

    Purpose: Picks the OS list of the matrices that use macOS or Windows runners (create-block.yml, and static-checks.yml on 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 the event-based pull request excludes inherited from trunk.

    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-draft

    Purpose: Fixes the flaky Puppeteer Preview › should display the correct preview when switching between published and draft statuses test. 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-collisions

    Purpose: Gives each E2E failures-artifacts upload in end2end-test.yml its own name (a Puppeteer or Playwright prefix plus the shard number) and adds a merge-artifacts job that combines them into one failures-artifacts artifact. Since actions/upload-artifact v4, uploads with the same name create separate artifacts instead of adding to one, so shards sharing a name leave several identical-looking failures-artifacts artifacts, 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-version

    Purpose: Sets WP_ENV_PHP_VERSION in 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-env builds the end-to-end containers from the floating wordpress image, which is PHP 8.3 today, newer than 6.3 and older support, and changes whenever Docker Hub moves its latest tag. On 5.6, wp-env has no PHP option, so this also backports the WP_ENV_PHP_VERSION variable 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-pagination

    Purpose: Fixes the flaky Puppeteer Comment Query Loop › Pagination links are working as expected test, which failed in about 13% of runs. After a comment is posted, WordPress redirects to the comment's page, which get_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-tests

    Purpose: Fixes a flaky Composite unit test that failed the Unit Tests / JavaScript job 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 one Tabs test 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.

  4. self-assigned this
    on Oct 15, 2026
  5. moved this from Backlog to In progress in WordPress Project Build Toolingon Oct 15, 2026
  6. desrosj commented on Oct 16, 2026

    @desrosj
    MemberAuthor
  7. rejaulalomkhan commented on Oct 18, 2026

    @rejaulalomkhan

    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!

  8. rejaulalomkhan commented on Oct 18, 2026

    @rejaulalomkhan

    Row CA is complete — both #84424 (wp/5.9) and #84459 (wp/5.8) have been reviewed and approved.

  9. lucatume commented on Oct 19, 2026

    @lucatume

    Claiming row A (Remove obsolete and trunk-only workflows) and starting work on it.

  10. adimoldovan commented on Oct 19, 2026

    @adimoldovan
    Contributor

    Claiming row B

  11. adimoldovan commented on Oct 19, 2026

    @adimoldovan
    Contributor

    Claiming row C.

  12. desrosj commented on Oct 19, 2026

    @desrosj
    MemberAuthor

    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.

  13. lucatume commented on Oct 20, 2026

    @lucatume

    Claiming D

  14. ntsekouras commented on Oct 20, 2026

    @ntsekouras
  15. ntsekouras commented on Oct 20, 2026

    @ntsekouras
    Contributor

    @desrosj before I start reviewing row E, two things:

    1. WordPress/props-bot-action@trunk in props-bot.yml is still unpinned on 7.1-6.5, up to the top of each stack. Trunk pins it to 6ff24f6b95fee6aeee3f49a8365cb62a525b2ce7 # trunk. Should we pin it in E too, since it runs on pull_request_target?
    2. Trunk has moved on for a few actions since these were made (setup-node v7.1.0, upload-artifact v7.0.2, download-artifact v8.0.2, setup-oras v2.0.2, setup-php 2.40.0). No strong opinions, but if you want to sync them it's probably better to do it before I review, no?
  16. adimoldovan commented on Oct 20, 2026

    @adimoldovan
    Contributor

    Claiming F.

  17. desrosj commented on Oct 20, 2026

    @desrosj
    MemberAuthor

    @ntsekouras Thanks for pitching in!

    1. `WordPress/props-bot-action@trunk` in `props-bot.yml` is still unpinned on _7.1-6.5_, up to the top of each stack. Trunk pins it to `6ff24f6b95fee6aeee3f49a8365cb62a525b2ce7 # trunk`. Should we pin it in **E** too, since it runs on `pull_request_target`?
    
    2. Trunk has moved on for a few actions since these were made (`setup-node v7.1.0, upload-artifact v7.0.2, download-artifact v8.0.2, setup-oras v2.0.2, setup-php 2.40.0`). No strong opinions, but if you want to sync them it's probably better to do it before I review, no?
    

    Good questions. I do plan on applying these updates. However, because row E sits fairly far down the stack, it will require quite a bit of rebasing which will cause an avalanche of workflow runs to jam up the queue for about an hour.

    The long-term plan is actually to remove the logic from these wp/X.Y branches entirely in favor of the same reusable workflow pattern that wordpress-develop uses. Once that is done, the actions only need to be updated in trunk. The changes in these versions are pretty minor, so I may just leave them as is and use that second phase effort to apply the updates across all wp/X.Y branches.

    Feel free to note that in your review and point back to this comment. Thanks again!

  18. ntsekouras commented on Oct 20, 2026

    @ntsekouras
  19. desrosj commented on Oct 20, 2026

    @desrosj
    MemberAuthor

    A procedural note: I have had Claude update the chart above with ✅ and ☑️ emoji to show which PRs have reviews, and which fixes are fully reviewed.

    There's no need to update this. I have an AI agent that will refresh this a few times a day.

  20. ntsekouras commented on Oct 21, 2026

    @ntsekouras
    Contributor

    @desrosj one thing about the e2e artifacts on 6.5 and older. Since upload-artifact v4+ doesn't allow uploading to the same artifact name twice in a run, the Playwright/Puppeteer shards that all upload failures-artifacts will conflict when more than one shard has files to upload, so we'd lose debug artifacts and could get a red shard from the upload step itself (e.g. flaky retries in passing shards). It doesn't show in CI right now because no shard uploads anything.

    Trunk fixed this in #61338, which landed after 6.5 was branched. 6.5 was already on upload-artifact v4.3.1 before E and I missed it when approving #82990, and E brings the same to 6.4 and older (v3 → v7).

    I don't think this should block E, so I'll continue reviewing it. I think we should add a new row on top of the 6.5 and older stacks backporting #61338 (including the Puppeteer jobs), like the recent rows, so no rebasing is needed. What do you think?

  21. desrosj commented on Oct 21, 2026

    @desrosj
    MemberAuthor

    @ntsekouras I think we can address this in a new PR on the top of the stack. I will add that shortly.

    As an overall update, I just synced the table in the PR body and we have just about made it to 1/3 of the way there!

    Count Percentage
    Rows completed 36 of 101 35.6%
    Cells completed 169 of 520 32.5%
    Rows not started 61 of 101 60.4%

    Thank you everyone for pitching in here so far!

  22. desrosj commented on Oct 21, 2026

    @desrosj
    MemberAuthor

    the Playwright/Puppeteer shards that all upload failures-artifacts will conflict when more than one shard has files to upload

    This was addressed in new PRs created for the 6.5-5.7 branches, which have been placed on top of each PR stack, and added as row CY.

  23. adimoldovan commented on Oct 22, 2026

    @adimoldovan
    Contributor

    Claiming row Q.

  24. lucatume commented on Oct 23, 2026

    @lucatume

    Claiming row R

  25. lucatume commented on Oct 23, 2026

    @lucatume

    Claiming line U

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

[Type] TaskIssues or PRs that have been broken down into an individual action to take

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions