Skip to content

Repair wp/5.9 branch Actions: Let the current Composer release install this branch's dependencies - #84406

Open
desrosj wants to merge 3 commits into
fix-actions-5.9/run-phpcs-on-runnerfrom
fix-actions-5.9/pin-wp-env-composer-php-version
Open

desrosj wants to merge 3 commits into
fix-actions-5.9/run-phpcs-on-runnerfrom
fix-actions-5.9/pin-wp-env-composer-php-version

Conversation

@desrosj

@desrosj desrosj commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Part of #82934.

What?

Lets the current Composer release install this branch's dependencies:

  • Adds config.allow-plugins to composer.json for the branch's two Composer plugins, composer/installers and dealerdirect/phpcodesniffer-composer-installer.
  • Adds config.platform.php (8.1) and a require.php floor of >=5.6.20 to composer.json, and updates composer.lock to match. No package versions change.
  • Pins wp-env's composer service to the composer:2 image instead of the floating composer image (packages/env/lib/build-docker-compose-config.js), with a packages/env/CHANGELOG.md entry.

Why?

wp-env's composer service uses the unversioned composer image, which currently runs Composer 2.10.3 on PHP 8.5.10. Its PHP version doesn't follow the PHP version under test.

  • The locked phpspec/prophecy 1.14.0 (required by phpunit/phpunit 8.5.21) requires php ^7.2 || ~8.0, <8.2. On PHP 8.5, composer install fails with "Your lock file does not contain a compatible set of packages", so every PHP job fails at prelint-php. Declaring config.platform.php makes Composer check the lock against PHP 8.1 instead of the container's PHP. 8.1 is the top of this branch's PHPUnit matrix and the newest version below prophecy's <8.2 limit.
  • Current Composer refuses to run plugins that composer.json doesn't allow: composer/installers contains a Composer plugin which is blocked by your allow-plugins config. This also breaks the runner-based phpcs job added in Repair wp/5.9 branch Actions: Run PHP coding standards on the runner instead of inside wp-env #84405. Both plugins are needed: composer/installers sets this package's install path, and dealerdirect/phpcodesniffer-composer-installer registers the coding standards with PHP_CodeSniffer.

require.php >=5.6.20 declares WordPress's minimum supported PHP version, the same floor as wp/6.1.

The image is pinned to composer:2 rather than an exact release: composer:2 still gets every Composer 2 release, including security fixes, but a future Composer 3 can't change how this branch installs its dependencies until someone updates the tag. The PHP version inside the image still follows the tag (PHP 8.5 today); that doesn't change which packages get installed, because composer.lock decides that.

How?

composer.lock was updated with composer update --lock, so nothing was resolved again. All 37 packages keep the same version and reference. The lock changes are:

  • content-hash
  • platform-overrides: { "php": "8.1" }
  • platform: { "php": ">=5.6.20" }
  • squizlabs/php_codesniffer 3.6.1's source and dist URLs, which now point to the PHPCSStandards organization (same commit)

Testing

In the composer image (Composer 2.10.3, PHP 8.5.10), composer install --no-interaction exits 2 on this PR's base and 0 with this PR, and registers the three coding standards with PHP_CodeSniffer. In a PHP 7.4.33 container with Composer 2.10.3, the phpcs job's composer install exits 1 without this PR and 0 with it. composer:2 is currently the same image as the floating composer image, so these results apply to it.

Use of AI Tools

This PR was created by Claude Code under my supervision. All code should be treated as AI-produced and not yet reviewed by a human until this PR is marked Ready for Review.

🤖 Generated with Claude Code

@desrosj desrosj added the [Type] Build Tooling Issues or PRs related to build tooling label Oct 9, 2026
@desrosj desrosj self-assigned this Oct 9, 2026
@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1f964b9e-d3e5-4a8e-8896-8ccfc2a670d4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

Size Change: 0 B

Total Size: 1.11 MB

ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 954 B
build/admin-manifest/index.min.js 1.09 kB
build/annotations/index.min.js 2.73 kB
build/api-fetch/index.min.js 2.2 kB
build/autop/index.min.js 2.13 kB
build/blob/index.min.js 456 B
build/block-directory/index.min.js 6.29 kB
build/block-directory/style-rtl.css 1 kB
build/block-directory/style.css 1 kB
build/block-editor/default-editor-styles-rtl.css 377 B
build/block-editor/default-editor-styles.css 377 B
build/block-editor/index.min.js 140 kB
build/block-editor/style-rtl.css 14.6 kB
build/block-editor/style.css 14.6 kB
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 65 B
build/block-library/blocks/archives/style.css 65 B
build/block-library/blocks/audio/editor-rtl.css 59 B
build/block-library/blocks/audio/editor.css 59 B
build/block-library/blocks/audio/style-rtl.css 113 B
build/block-library/blocks/audio/style.css 113 B
build/block-library/blocks/audio/theme-rtl.css 125 B
build/block-library/blocks/audio/theme.css 125 B
build/block-library/blocks/block/editor-rtl.css 159 B
build/block-library/blocks/block/editor.css 159 B
build/block-library/blocks/button/editor-rtl.css 469 B
build/block-library/blocks/button/editor.css 469 B
build/block-library/blocks/button/style-rtl.css 558 B
build/block-library/blocks/button/style.css 558 B
build/block-library/blocks/buttons/editor-rtl.css 290 B
build/block-library/blocks/buttons/editor.css 290 B
build/block-library/blocks/buttons/style-rtl.css 274 B
build/block-library/blocks/buttons/style.css 274 B
build/block-library/blocks/calendar/style-rtl.css 207 B
build/block-library/blocks/calendar/style.css 207 B
build/block-library/blocks/categories/editor-rtl.css 84 B
build/block-library/blocks/categories/editor.css 83 B
build/block-library/blocks/categories/style-rtl.css 79 B
build/block-library/blocks/categories/style.css 79 B
build/block-library/blocks/code/style-rtl.css 90 B
build/block-library/blocks/code/style.css 90 B
build/block-library/blocks/code/theme-rtl.css 132 B
build/block-library/blocks/code/theme.css 132 B
build/block-library/blocks/columns/editor-rtl.css 212 B
build/block-library/blocks/columns/editor.css 211 B
build/block-library/blocks/columns/style-rtl.css 501 B
build/block-library/blocks/columns/style.css 501 B
build/block-library/blocks/cover/editor-rtl.css 546 B
build/block-library/blocks/cover/editor.css 545 B
build/block-library/blocks/cover/style-rtl.css 1.38 kB
build/block-library/blocks/cover/style.css 1.38 kB
build/block-library/blocks/embed/editor-rtl.css 487 B
build/block-library/blocks/embed/editor.css 487 B
build/block-library/blocks/embed/style-rtl.css 418 B
build/block-library/blocks/embed/style.css 418 B
build/block-library/blocks/embed/theme-rtl.css 124 B
build/block-library/blocks/embed/theme.css 124 B
build/block-library/blocks/file/editor-rtl.css 299 B
build/block-library/blocks/file/editor.css 300 B
build/block-library/blocks/file/style-rtl.css 254 B
build/block-library/blocks/file/style.css 254 B
build/block-library/blocks/file/view.min.js 323 B
build/block-library/blocks/freeform/editor-rtl.css 2.42 kB
build/block-library/blocks/freeform/editor.css 2.43 kB
build/block-library/blocks/gallery/editor-rtl.css 971 B
build/block-library/blocks/gallery/editor.css 976 B
build/block-library/blocks/gallery/style-rtl.css 1.62 kB
build/block-library/blocks/gallery/style.css 1.62 kB
build/block-library/blocks/gallery/theme-rtl.css 122 B
build/block-library/blocks/gallery/theme.css 122 B
build/block-library/blocks/group/editor-rtl.css 159 B
build/block-library/blocks/group/editor.css 159 B
build/block-library/blocks/group/style-rtl.css 58 B
build/block-library/blocks/group/style.css 58 B
build/block-library/blocks/group/theme-rtl.css 80 B
build/block-library/blocks/group/theme.css 80 B
build/block-library/blocks/heading/style-rtl.css 113 B
build/block-library/blocks/heading/style.css 113 B
build/block-library/blocks/home-link/style-rtl.css 247 B
build/block-library/blocks/home-link/style.css 247 B
build/block-library/blocks/html/editor-rtl.css 331 B
build/block-library/blocks/html/editor.css 332 B
build/block-library/blocks/image/editor-rtl.css 809 B
build/block-library/blocks/image/editor.css 806 B
build/block-library/blocks/image/style-rtl.css 508 B
build/block-library/blocks/image/style.css 511 B
build/block-library/blocks/image/theme-rtl.css 124 B
build/block-library/blocks/image/theme.css 124 B
build/block-library/blocks/latest-comments/style-rtl.css 284 B
build/block-library/blocks/latest-comments/style.css 284 B
build/block-library/blocks/latest-posts/editor-rtl.css 136 B
build/block-library/blocks/latest-posts/editor.css 136 B
build/block-library/blocks/latest-posts/style-rtl.css 523 B
build/block-library/blocks/latest-posts/style.css 522 B
build/block-library/blocks/list/style-rtl.css 96 B
build/block-library/blocks/list/style.css 96 B
build/block-library/blocks/media-text/editor-rtl.css 264 B
build/block-library/blocks/media-text/editor.css 264 B
build/block-library/blocks/media-text/style-rtl.css 492 B
build/block-library/blocks/media-text/style.css 490 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 645 B
build/block-library/blocks/navigation-link/editor.css 645 B
build/block-library/blocks/navigation-link/style-rtl.css 94 B
build/block-library/blocks/navigation-link/style.css 94 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 298 B
build/block-library/blocks/navigation-submenu/editor.css 297 B
build/block-library/blocks/navigation-submenu/view.min.js 341 B
build/block-library/blocks/navigation/editor-rtl.css 1.92 kB
build/block-library/blocks/navigation/editor.css 1.93 kB
build/block-library/blocks/navigation/style-rtl.css 1.8 kB
build/block-library/blocks/navigation/style.css 1.79 kB
build/block-library/blocks/navigation/view.min.js 2.8 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 383 B
build/block-library/blocks/page-list/editor.css 384 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 157 B
build/block-library/blocks/paragraph/editor.css 157 B
build/block-library/blocks/paragraph/style-rtl.css 274 B
build/block-library/blocks/paragraph/style.css 274 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/style-rtl.css 444 B
build/block-library/blocks/post-comments-form/style.css 444 B
build/block-library/blocks/post-comments/style-rtl.css 507 B
build/block-library/blocks/post-comments/style.css 507 B
build/block-library/blocks/post-excerpt/editor-rtl.css 73 B
build/block-library/blocks/post-excerpt/editor.css 73 B
build/block-library/blocks/post-excerpt/style-rtl.css 71 B
build/block-library/blocks/post-excerpt/style.css 71 B
build/block-library/blocks/post-featured-image/editor-rtl.css 718 B
build/block-library/blocks/post-featured-image/editor.css 718 B
build/block-library/blocks/post-featured-image/style-rtl.css 157 B
build/block-library/blocks/post-featured-image/style.css 157 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 323 B
build/block-library/blocks/post-template/style.css 323 B
build/block-library/blocks/post-terms/style-rtl.css 73 B
build/block-library/blocks/post-terms/style.css 73 B
build/block-library/blocks/post-title/style-rtl.css 60 B
build/block-library/blocks/post-title/style.css 60 B
build/block-library/blocks/preformatted/style-rtl.css 102 B
build/block-library/blocks/preformatted/style.css 102 B
build/block-library/blocks/pullquote/editor-rtl.css 201 B
build/block-library/blocks/pullquote/editor.css 201 B
build/block-library/blocks/pullquote/style-rtl.css 376 B
build/block-library/blocks/pullquote/style.css 376 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 261 B
build/block-library/blocks/query-pagination/editor.css 252 B
build/block-library/blocks/query-pagination/style-rtl.css 234 B
build/block-library/blocks/query-pagination/style.css 230 B
build/block-library/blocks/query/editor-rtl.css 132 B
build/block-library/blocks/query/editor.css 133 B
build/block-library/blocks/quote/style-rtl.css 187 B
build/block-library/blocks/quote/style.css 187 B
build/block-library/blocks/quote/theme-rtl.css 221 B
build/block-library/blocks/quote/theme.css 225 B
build/block-library/blocks/rss/editor-rtl.css 201 B
build/block-library/blocks/rss/editor.css 202 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 165 B
build/block-library/blocks/search/editor.css 165 B
build/block-library/blocks/search/style-rtl.css 398 B
build/block-library/blocks/search/style.css 398 B
build/block-library/blocks/search/theme-rtl.css 64 B
build/block-library/blocks/search/theme.css 64 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 244 B
build/block-library/blocks/separator/style.css 244 B
build/block-library/blocks/separator/theme-rtl.css 172 B
build/block-library/blocks/separator/theme.css 172 B
build/block-library/blocks/shortcode/editor-rtl.css 474 B
build/block-library/blocks/shortcode/editor.css 474 B
build/block-library/blocks/site-logo/editor-rtl.css 741 B
build/block-library/blocks/site-logo/editor.css 741 B
build/block-library/blocks/site-logo/style-rtl.css 182 B
build/block-library/blocks/site-logo/style.css 182 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-title/editor-rtl.css 85 B
build/block-library/blocks/site-title/editor.css 85 B
build/block-library/blocks/social-link/editor-rtl.css 176 B
build/block-library/blocks/social-link/editor.css 176 B
build/block-library/blocks/social-links/editor-rtl.css 663 B
build/block-library/blocks/social-links/editor.css 662 B
build/block-library/blocks/social-links/style-rtl.css 1.31 kB
build/block-library/blocks/social-links/style.css 1.31 kB
build/block-library/blocks/spacer/editor-rtl.css 332 B
build/block-library/blocks/spacer/editor.css 332 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 472 B
build/block-library/blocks/table/editor.css 473 B
build/block-library/blocks/table/style-rtl.css 479 B
build/block-library/blocks/table/style.css 479 B
build/block-library/blocks/table/theme-rtl.css 185 B
build/block-library/blocks/table/theme.css 185 B
build/block-library/blocks/tag-cloud/style-rtl.css 146 B
build/block-library/blocks/tag-cloud/style.css 147 B
build/block-library/blocks/template-part/editor-rtl.css 556 B
build/block-library/blocks/template-part/editor.css 554 B
build/block-library/blocks/template-part/theme-rtl.css 102 B
build/block-library/blocks/template-part/theme.css 102 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 86 B
build/block-library/blocks/verse/style.css 86 B
build/block-library/blocks/video/editor-rtl.css 567 B
build/block-library/blocks/video/editor.css 569 B
build/block-library/blocks/video/style-rtl.css 173 B
build/block-library/blocks/video/style.css 173 B
build/block-library/blocks/video/theme-rtl.css 124 B
build/block-library/blocks/video/theme.css 124 B
build/block-library/common-rtl.css 903 B
build/block-library/common.css 900 B
build/block-library/editor-rtl.css 9.97 kB
build/block-library/editor.css 9.98 kB
build/block-library/index.min.js 162 kB
build/block-library/reset-rtl.css 470 B
build/block-library/reset.css 470 B
build/block-library/style-rtl.css 10.9 kB
build/block-library/style.css 10.9 kB
build/block-library/theme-rtl.css 671 B
build/block-library/theme.css 676 B
build/block-serialization-default-parser/index.min.js 1.09 kB
build/block-serialization-spec-parser/index.min.js 2.79 kB
build/blocks/index.min.js 46.5 kB
build/components/index.min.js 215 kB
build/components/style-rtl.css 15.5 kB
build/components/style.css 15.5 kB
build/compose/index.min.js 11.2 kB
build/core-data/index.min.js 13.2 kB
build/customize-widgets/index.min.js 11.4 kB
build/customize-widgets/style-rtl.css 1.49 kB
build/customize-widgets/style.css 1.49 kB
build/data-controls/index.min.js 628 B
build/data/index.min.js 7.39 kB
build/date/index.min.js 31.6 kB
build/deprecated/index.min.js 486 B
build/dom-ready/index.min.js 303 B
build/dom/index.min.js 4.48 kB
build/edit-navigation/index.min.js 16 kB
build/edit-navigation/style-rtl.css 3.74 kB
build/edit-navigation/style.css 3.74 kB
build/edit-post/classic-rtl.css 549 B
build/edit-post/classic.css 549 B
build/edit-post/index.min.js 30 kB
build/edit-post/style-rtl.css 7.12 kB
build/edit-post/style.css 7.11 kB
build/edit-site/index.min.js 37.9 kB
build/edit-site/style-rtl.css 6.93 kB
build/edit-site/style.css 6.93 kB
build/edit-widgets/index.min.js 16.5 kB
build/edit-widgets/style-rtl.css 4.17 kB
build/edit-widgets/style.css 4.17 kB
build/editor/index.min.js 38 kB
build/editor/style-rtl.css 3.76 kB
build/editor/style.css 3.75 kB
build/element/index.min.js 3.29 kB
build/escape-html/index.min.js 516 B
build/format-library/index.min.js 6.61 kB
build/format-library/style-rtl.css 569 B
build/format-library/style.css 569 B
build/hooks/index.min.js 1.63 kB
build/html-entities/index.min.js 421 B
build/i18n/index.min.js 3.71 kB
build/is-shallow-equal/index.min.js 500 B
build/keyboard-shortcuts/index.min.js 1.79 kB
build/keycodes/index.min.js 1.38 kB
build/list-reusable-blocks/index.min.js 1.85 kB
build/list-reusable-blocks/style-rtl.css 834 B
build/list-reusable-blocks/style.css 833 B
build/media-utils/index.min.js 2.9 kB
build/notices/index.min.js 920 B
build/nux/index.min.js 2.07 kB
build/nux/style-rtl.css 745 B
build/nux/style.css 743 B
build/plugins/index.min.js 1.84 kB
build/primitives/index.min.js 927 B
build/priority-queue/index.min.js 579 B
build/react-i18n/index.min.js 671 B
build/redux-routine/index.min.js 2.64 kB
build/reusable-blocks/index.min.js 2.23 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 11 kB
build/server-side-render/index.min.js 1.55 kB
build/shortcode/index.min.js 1.51 kB
build/token-list/index.min.js 634 B
build/url/index.min.js 1.95 kB
build/viewport/index.min.js 1.05 kB
build/warning/index.min.js 247 B
build/widgets/index.min.js 7.21 kB
build/widgets/style-rtl.css 1.15 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@github-actions

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: desrosj <desrosj@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@desrosj
desrosj force-pushed the fix-actions-5.9/pin-wp-env-composer-php-version branch from f8561a2 to cf540dd Compare October 21, 2026 15:43
@desrosj
desrosj removed this pull request from stack #84490 October 21, 2026 15:57
@desrosj
desrosj added this pull request to stack #85300 October 21, 2026 15:58
@desrosj
desrosj removed this pull request from stack #85300 October 21, 2026 19:47
@desrosj
desrosj added this pull request to stack #85350 October 21, 2026 19:47
@github-actions github-actions Bot added the [Tool] Env /packages/env label Oct 23, 2026

This branch has not been deployed

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

Labels

[Tool] Env /packages/env [Type] Build Tooling Issues or PRs related to build tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant