Skip to content

Repair wp/5.9 branch Actions: Add a PHP version test matrix - #84403

Open
desrosj wants to merge 1 commit into
fix-actions-5.9/docker-compose-v2from
fix-actions-5.9/update-php-test-matrix
Open

desrosj wants to merge 1 commit into
fix-actions-5.9/docker-compose-v2from
fix-actions-5.9/update-php-test-matrix

Conversation

@desrosj

@desrosj desrosj commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Part of #82934.

What?

Runs the PHPUnit job in unit-test.yml across a PHP version matrix: 5.6, 7.0, 7.4, 8.0 and 8.1, each as a single site and a multisite leg.

  • WP_ENV_PHP_VERSION is set from the matrix. wp-env uses it to pick the wordpressdevelop/phpunit image the tests run in. That map has no 8.1 entry on this branch, so the 8.1 legs run PHP 8.2 until Repair wp/5.9 branch Actions: Use PHPUnit 9 for PHP 7.3 through 8.2 #85297, directly above this one, adds it.
  • The single site and multisite test steps, which both ran in the one job, now each run in their own leg.

Why?

.wp-env.json sets no phpVersion, so the job ran once, on whatever PHP version the floating wordpress images use, which this branch was never written for. The matrix tests the lowest and highest supported minor version of each major PHP version.

How?

This branch's packages/env already reads WP_ENV_PHP_VERSION, so only the workflow changes. Composer still installs dependencies inside wp-env's composer container, from the committed composer.lock. Related PRs in this stack:

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
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2b8e14de-62e4-4566-98fc-65717d9e5761

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.

@desrosj
desrosj added this pull request to stack #84427 October 9, 2026 16:48
@desrosj
desrosj removed this pull request from stack #84427 October 10, 2026 00:16
@desrosj
desrosj changed the base branch from fix-actions-5.9/docker-compose-v2 to wp/5.9 October 10, 2026 00:17
@desrosj
desrosj force-pushed the fix-actions-5.9/update-php-test-matrix branch from f7ccd59 to fb8c180 Compare October 10, 2026 00:19
@desrosj
desrosj changed the base branch from wp/5.9 to fix-actions-5.9/docker-compose-v2 October 10, 2026 00:21
@desrosj
desrosj added this pull request to stack #84490 October 10, 2026 00:21
@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

github-actions Bot commented Oct 13, 2026 •

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>
Co-authored-by: ramonjd <ramonopoly@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 changed the title Repair wp/5.9 branch Actions: Add a PHP-version test matrix Repair wp/5.9 branch Actions: Add a PHP version test matrix Oct 16, 2026
@desrosj
desrosj force-pushed the fix-actions-5.9/update-php-test-matrix branch from fb8c180 to db0b3d1 Compare October 19, 2026 17:09
@ramonjd

ramonjd commented Oct 21, 2026

Copy link
Copy Markdown
Member

It looks like the PHP 8.1 jobs run PHP 8.2.

Screenshot 2026-10-21 at 2 44 20 pm

Is that expected?

Report:

At the top of this stack (#85103), both 8.1 jobs set WP_ENV_PHP_VERSION: 8.1, but PHPUnit reports Runtime: PHP 8.2.26 (single site, multisite).

On this branch, wp-env picks the PHPUnit Docker image from a list of PHP versions that stops at 8.0.

PHP 8.1 isn't in the list, so it falls through to wordpressdevelop/phpunit:latest.

WordPress 5.9 doesn't support PHP 8.2, and latest isn't pinned.

You could fix it in this PR, as trunk did in #46510 (9ee17a7).

In packages/env/lib/build-docker-compose-config.js, line 157, add 8.1 to the condition that selects PHPUnit 9:

-	} else if ( testsPhpVersion === '8.0' ) {
+	} else if ( [ '8.0', '8.1' ].indexOf( testsPhpVersion ) >= 0 ) {
 		phpunitTag = '9' + phpunitPhpVersion;

That selects wordpressdevelop/phpunit:9-php-8.1-fpm, which exists on Docker Hub.

Take only the 8.1 part of trunk's change.

Trunk's change also moves 7.3 and 7.4 to PHPUnit 9, which this branch doesn't need.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The PHP 8.1 jobs select a floating PHPUnit image rather than guaranteeing PHP 8.1 coverage.

1 open issue
What changed in this PR

Adds a PHP test matrix as part of restoring automated testing on wp/5.9.

Changes:

  • Tests five PHP versions through WP_ENV_PHP_VERSION.
  • Splits single-site and multisite tests into separate matrix jobs.
File Description
.github/​workflows/​unit-test.yml Adds ten PHP test combinations with conditional test steps.

Review effort: Balanced

Comment thread .github/workflows/unit-test.yml
@desrosj

desrosj commented Oct 21, 2026

Copy link
Copy Markdown
Member Author

Good catch, @ramonjd! I have gone and created a new PR for this and inserted it int he stack just above this one (#85297).

@desrosj
desrosj requested a review from ramonjd October 21, 2026 17:36
@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

@ramonjd ramonjd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#85297, the next PR, fixes the 8.1 jobs. Everything else red here passes at the top of this stack (#85349).

Thanks for the quick updates!

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

[Type] Build Tooling Issues or PRs related to build tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants