From 58ee883cef040f82e336e3519f71f3eeac1b8a62 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Feb 2026 22:36:02 +0000 Subject: [PATCH 1/3] Initial plan From 63a5c04f1652af21e031807bffba089e7fc5724f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Feb 2026 22:42:02 +0000 Subject: [PATCH 2/3] Add MySQL 8.4 to test matrix with authentication configuration Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com> --- .github/workflows/reusable-testing.yml | 38 +++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-testing.yml b/.github/workflows/reusable-testing.yml index 688ada6..5088983 100644 --- a/.github/workflows/reusable-testing.yml +++ b/.github/workflows/reusable-testing.yml @@ -118,6 +118,11 @@ jobs: "wp": "latest", "mysql": "mysql-8.0" }, + { + "php": "8.3", + "wp": "latest", + "mysql": "mysql-8.4" + }, { "php": "8.3", "wp": "latest", @@ -134,6 +139,11 @@ jobs: "wp": "latest", "mysql": "mysql-8.0" }, + { + "php": "8.4", + "wp": "latest", + "mysql": "mysql-8.4" + }, { "php": "8.4", "wp": "latest", @@ -151,6 +161,11 @@ jobs: "mysql": "mysql-8.0", "coverage": true }, + { + "php": "8.5", + "wp": "latest", + "mysql": "mysql-8.4" + }, { "php": "8.5", "wp": "latest", @@ -212,6 +227,11 @@ jobs: "wp": "trunk", "mysql": "mysql-8.0" }, + { + "php": "8.3", + "wp": "trunk", + "mysql": "mysql-8.4" + }, { "php": "8.3", "wp": "trunk", @@ -228,6 +248,11 @@ jobs: "wp": "trunk", "mysql": "mysql-8.0" }, + { + "php": "8.4", + "wp": "trunk", + "mysql": "mysql-8.4" + }, { "php": "8.4", "wp": "trunk", @@ -244,6 +269,11 @@ jobs: "wp": "trunk", "mysql": "mysql-8.0" }, + { + "php": "8.5", + "wp": "trunk", + "mysql": "mysql-8.4" + }, { "php": "8.5", "wp": "trunk", @@ -260,6 +290,11 @@ jobs: "wp": "trunk", "mysql": "mysql-8.0" }, + { + "php": "nightly", + "wp": "trunk", + "mysql": "mysql-8.4" + }, { "php": "nightly", "wp": "trunk", @@ -516,7 +551,8 @@ jobs: user: ${{ env.WP_CLI_TEST_DBUSER}} password: ${{ env.WP_CLI_TEST_DBPASS}} my-cnf: | - default_authentication_plugin=mysql_native_password + ${{ contains(matrix.mysql, 'mysql-8.4') && 'mysql_native_password=ON + authentication_policy=mysql_native_password,' || 'default_authentication_plugin=mysql_native_password' }} - name: Prepare test database if: ${{ matrix.dbtype != 'sqlite' }} From b197a1bb62b929476ac2628206276329d9b8bebd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 14 Feb 2026 22:43:41 +0000 Subject: [PATCH 3/3] Refactor MySQL authentication configuration for better readability Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com> --- .github/workflows/reusable-testing.yml | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-testing.yml b/.github/workflows/reusable-testing.yml index 5088983..565d406 100644 --- a/.github/workflows/reusable-testing.yml +++ b/.github/workflows/reusable-testing.yml @@ -540,6 +540,21 @@ jobs: # Bust the cache at least once a month - output format: YYYY-MM. custom-cache-suffix: $(date -u "+%Y-%m") + - name: Determine MySQL authentication configuration + id: mysql-config + if: ${{ matrix.dbtype != 'sqlite' }} + run: | + if [[ "${{ matrix.mysql }}" == *"mysql-8.4"* ]]; then + # MySQL 8.4 requires explicit loading of mysql_native_password plugin + echo "auth-config<> $GITHUB_OUTPUT + echo "mysql_native_password=ON" >> $GITHUB_OUTPUT + echo "authentication_policy=mysql_native_password," >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + else + # MySQL 5.6, 5.7, 8.0 and MariaDB use the legacy configuration + echo "auth-config=default_authentication_plugin=mysql_native_password" >> $GITHUB_OUTPUT + fi + - name: Setup MySQL Server id: setup-mysql if: ${{ matrix.dbtype != 'sqlite' }} @@ -551,8 +566,7 @@ jobs: user: ${{ env.WP_CLI_TEST_DBUSER}} password: ${{ env.WP_CLI_TEST_DBPASS}} my-cnf: | - ${{ contains(matrix.mysql, 'mysql-8.4') && 'mysql_native_password=ON - authentication_policy=mysql_native_password,' || 'default_authentication_plugin=mysql_native_password' }} + ${{ steps.mysql-config.outputs.auth-config }} - name: Prepare test database if: ${{ matrix.dbtype != 'sqlite' }}