<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[60735] trunk: Build/Test Tools: Switch back to using the latest stable PHP 8.4 and 8.3 images for the test environment.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/60735">60735</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/60735","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>johnbillion</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2025-09-13 12:05:34 +0000 (Sat, 13 Sep 2025)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Build/Test Tools: Switch back to using the latest stable PHP 8.4 and 8.3 images for the test environment.

The underlying issue that caused the MariaDB client in the updated CLI container to no longer trust a self-signed certificate from the MySQL server has been resolved in https://github.com/WordPress/wpdev-docker-images/pull/190.

This change also reinstates the memcached test jobs as the underlying issue where its path resolution was incorrect has been resolved in https://github.com/WordPress/wpdev-docker-images/pull/181.

Props SirLouen, desrosj, johnbillion, kadamwhite, jorbin, davidbaumwald, bernhard-reiter, St. Virtualis of Dockeria

Fizes <a href="https://core.trac.wordpress.org/ticket/63876">#63876</a></pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkgithubworkflowslocaldockerenvironmentyml">trunk/.github/workflows/local-docker-environment.yml</a></li>
<li><a href="#trunkgithubworkflowsperformanceyml">trunk/.github/workflows/performance.yml</a></li>
<li><a href="#trunkgithubworkflowsreusableendtoendtestsyml">trunk/.github/workflows/reusable-end-to-end-tests.yml</a></li>
<li><a href="#trunkgithubworkflowsreusableperformancetestv2yml">trunk/.github/workflows/reusable-performance-test-v2.yml</a></li>
<li><a href="#trunkgithubworkflowsreusablephpunittestsv3yml">trunk/.github/workflows/reusable-phpunit-tests-v3.yml</a></li>
<li><a href="#trunkgithubworkflowsreusabletestlocaldockerenvironmentv1yml">trunk/.github/workflows/reusable-test-local-docker-environment-v1.yml</a></li>
<li><a href="#trunktoolslocalenvscriptsinstalljs">trunk/tools/local-env/scripts/install.js</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunktoolslocalenvphp83dockercomposeoverrideyml">trunk/tools/local-env/php-8.3-docker-compose.override.yml</a></li>
<li><a href="#trunktoolslocalenvphp84dockercomposeoverrideyml">trunk/tools/local-env/php-8.4-docker-compose.override.yml</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkgithubworkflowslocaldockerenvironmentyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/.github/workflows/local-docker-environment.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/local-docker-environment.yml      2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/.github/workflows/local-docker-environment.yml        2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -92,7 +92,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">       fail-fast: false
</span><span class="cx" style="display: block; padding: 0 10px">       matrix:
</span><span class="cx" style="display: block; padding: 0 10px">         os: [ ubuntu-24.04 ]
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        memcached: [ false ]
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        memcached: [ false, true ]
</ins><span class="cx" style="display: block; padding: 0 10px">         php: ${{ fromJSON( needs.build-test-matrix.outputs.php-versions ) }}
</span><span class="cx" style="display: block; padding: 0 10px">         db-version: ${{ fromJSON( needs.build-test-matrix.outputs.mysql-versions ) }}
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre></div>
<a id="trunkgithubworkflowsperformanceyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/.github/workflows/performance.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/performance.yml   2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/.github/workflows/performance.yml     2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -101,7 +101,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">     strategy:
</span><span class="cx" style="display: block; padding: 0 10px">       fail-fast: false
</span><span class="cx" style="display: block; padding: 0 10px">       matrix:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        memcached: [ false ]
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        memcached: [ false, true ]
</ins><span class="cx" style="display: block; padding: 0 10px">         multisite: [ true, false ]
</span><span class="cx" style="display: block; padding: 0 10px">         subject: ${{ fromJson( needs.determine-matrix.outputs.subjects ) }}
</span><span class="cx" style="display: block; padding: 0 10px">     with:
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -119,7 +119,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">     strategy:
</span><span class="cx" style="display: block; padding: 0 10px">       fail-fast: false
</span><span class="cx" style="display: block; padding: 0 10px">       matrix:
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        memcached: [ false ]
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        memcached: [ false, true ]
</ins><span class="cx" style="display: block; padding: 0 10px">         multisite: [ true, false ]
</span><span class="cx" style="display: block; padding: 0 10px">         # A matrix value is needed in the 'name' directive for proper grouping in the GitHub UI.
</span><span class="cx" style="display: block; padding: 0 10px">         label: [ Compare ]
</span></span></pre></div>
<a id="trunkgithubworkflowsreusableendtoendtestsyml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/.github/workflows/reusable-end-to-end-tests.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/reusable-end-to-end-tests.yml     2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/.github/workflows/reusable-end-to-end-tests.yml       2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -81,12 +81,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">           show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
</span><span class="cx" style="display: block; padding: 0 10px">           persist-credentials: false
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Create a Docker override file
-        if: ${{ contains( fromJSON('["8.3", "8.4"]'), inputs.php-version ) }}
-        env:
-          PHP_VERSION: ${{ inputs.php-version }}
-        run: cp "tools/local-env/php-$PHP_VERSION-docker-compose.override.yml" docker-compose.override.yml
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Set up Node.js
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span></span></pre></div>
<a id="trunkgithubworkflowsreusableperformancetestv2yml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/.github/workflows/reusable-performance-test-v2.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/reusable-performance-test-v2.yml  2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/.github/workflows/reusable-performance-test-v2.yml    2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -121,12 +121,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">           fetch-depth: ${{ github.event_name == 'workflow_dispatch' && '2' || '1' }}
</span><span class="cx" style="display: block; padding: 0 10px">           persist-credentials: false
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Create a Docker override file
-        if: ${{ contains( fromJSON('["8.3", "8.4"]'), inputs.php-version ) }}
-        env:
-          PHP_VERSION: ${{ inputs.php-version }}
-        run: cp "tools/local-env/php-$PHP_VERSION-docker-compose.override.yml" docker-compose.override.yml
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Set up Node.js
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span></span></pre></div>
<a id="trunkgithubworkflowsreusablephpunittestsv3yml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/.github/workflows/reusable-phpunit-tests-v3.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/reusable-phpunit-tests-v3.yml     2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/.github/workflows/reusable-phpunit-tests-v3.yml       2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -136,12 +136,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">           show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
</span><span class="cx" style="display: block; padding: 0 10px">           persist-credentials: false
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Create a Docker override file
-        if: ${{ contains( fromJSON('["8.3", "8.4"]'), inputs.php ) }}
-        env:
-          PHP_VERSION: ${{ inputs.php }}
-        run: cp "tools/local-env/php-${{ env.PHP_VERSION }}-docker-compose.override.yml" docker-compose.override.yml
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Set up Node.js
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span></span></pre></div>
<a id="trunkgithubworkflowsreusabletestlocaldockerenvironmentv1yml"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/.github/workflows/reusable-test-local-docker-environment-v1.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/.github/workflows/reusable-test-local-docker-environment-v1.yml     2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/.github/workflows/reusable-test-local-docker-environment-v1.yml       2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -91,12 +91,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">           show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}
</span><span class="cx" style="display: block; padding: 0 10px">           persist-credentials: false
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-      - name: Create a Docker override file
-        if: ${{ contains( fromJSON('["8.3", "8.4"]'), inputs.php ) }}
-        env:
-          PHP_VERSION: ${{ inputs.php }}
-        run: cp "tools/local-env/php-$PHP_VERSION-docker-compose.override.yml" docker-compose.override.yml
-
</del><span class="cx" style="display: block; padding: 0 10px">       - name: Set up Node.js
</span><span class="cx" style="display: block; padding: 0 10px">         uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
</span><span class="cx" style="display: block; padding: 0 10px">         with:
</span></span></pre></div>
<a id="trunktoolslocalenvphp83dockercomposeoverrideyml"></a>
<div class="delfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Deleted: trunk/tools/local-env/php-8.3-docker-compose.override.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tools/local-env/php-8.3-docker-compose.override.yml 2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/tools/local-env/php-8.3-docker-compose.override.yml   2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,16 +0,0 @@
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-# This override file is a temporary solution to force the use of specific versions of the
-# `wordpressdevelop/php` and `wordpressdevelop/cli` images while the cause of recent failures
-# can be investigated. See https://core.trac.wordpress.org/ticket/63876.
-services:
-
-  php:
-    image: wordpressdevelop/php@sha256:c0ba85936a9d1ac2c98bf3da2d62ceb0e5787a6b11e383630df0c5a5bf2534b5
-
-  cli:
-    image: wordpressdevelop/cli@sha256:85ad7d7a9c3bd9a8775fc83aea7f7dfc0aad25b2bc4f7d740696b28cd2a0ef89
-
-  memcached:
-    # Pinning to the latest `bookworm` image is a temporary solution
-    # while the cause of recent failures can be investigated.
-    # See https://core.trac.wordpress.org/ticket/63876.
-    image: memcached:1.6.38-bookworm
</del></span></pre></div>
<a id="trunktoolslocalenvphp84dockercomposeoverrideyml"></a>
<div class="delfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Deleted: trunk/tools/local-env/php-8.4-docker-compose.override.yml</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tools/local-env/php-8.4-docker-compose.override.yml 2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/tools/local-env/php-8.4-docker-compose.override.yml   2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,16 +0,0 @@
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-# This override file is a temporary solution to force the use of specific versions of the
-# `wordpressdevelop/php` and `wordpressdevelop/cli` images while the cause of recent failures
-# can be investigated. See https://core.trac.wordpress.org/ticket/63876.
-services:
-
-  php:
-    image: wordpressdevelop/php@sha256:56d6cbf10d25bfcb80852c09c2fc2e967922881b233b6161ad2999df509eb59a
-
-  cli:
-    image: wordpressdevelop/cli@sha256:379f27b0c623c5cee5a7fbef1d617ce47fd3ba19158bac2e51861876fd68fdbf
-
-  memcached:
-    # Pinning to the latest `bookworm` image is a temporary solution
-    # while the cause of recent failures can be investigated.
-    # See https://core.trac.wordpress.org/ticket/63876.
-    image: memcached:1.6.38-bookworm
</del></span></pre></div>
<a id="trunktoolslocalenvscriptsinstalljs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tools/local-env/scripts/install.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tools/local-env/scripts/install.js  2025-09-12 22:03:25 UTC (rev 60734)
+++ trunk/tools/local-env/scripts/install.js    2025-09-13 12:05:34 UTC (rev 60735)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -46,7 +46,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                process.exit( 1 );
</span><span class="cx" style="display: block; padding: 0 10px">        } )
</span><span class="cx" style="display: block; padding: 0 10px">        .then( () => {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                wp_cli( 'db reset --yes' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         wp_cli( 'db reset --yes --defaults' );
</ins><span class="cx" style="display: block; padding: 0 10px">                 const installCommand = process.env.LOCAL_MULTISITE === 'true'  ? 'multisite-install' : 'install';
</span><span class="cx" style="display: block; padding: 0 10px">                wp_cli( `core ${ installCommand } --title="WordPress Develop" --admin_user=admin --admin_password=password --admin_email=test@example.com --skip-email --url=http://localhost:${process.env.LOCAL_PORT}` );
</span><span class="cx" style="display: block; padding: 0 10px">        } )
</span></span></pre>
</div>
</div>

</body>
</html>