diff --git a/.github/workflows/reusable-testing.yml b/.github/workflows/reusable-testing.yml index 688ada6..565d406 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", @@ -505,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' }} @@ -516,7 +566,7 @@ jobs: user: ${{ env.WP_CLI_TEST_DBUSER}} password: ${{ env.WP_CLI_TEST_DBPASS}} my-cnf: | - default_authentication_plugin=mysql_native_password + ${{ steps.mysql-config.outputs.auth-config }} - name: Prepare test database if: ${{ matrix.dbtype != 'sqlite' }}