Skip to content

Commit b35648d

Browse files
authored
CI: Add MySQL 9, reduce test matrix (#6462)
MySQL 9 has been released and 8.4 has been declared to be the LTS release. I've added MySQL 9 to the test matrix and took the opportunity to shrink the test matrix a little. Our CI is othen blocked because of too many concurrent jobs, so we might not want to test all possible permutations of PHP and MySQL versions. Taking into account that we're going to maintain the 3.x branch for a little longer, we need a strategy for not letting the test matrix grow exponentially with every future PHP or DBMS release. My proposal for MySQL: * Test all supported MySQL versions (currently: 5.7, 8.0, 8.4, 9.0) with the latest PHP version (currently 8.3). * Test the oldest supported PHP release (currently 7.4) against one release only (MySQL 8.0) only. All other PHP releases are tested against SQLite already. If this proposal is accepted, I'd like to work out a similar strategy for the other supported DBMS. I think we should also document that strategy properly then.
1 parent 893417f commit b35648d

File tree

2 files changed

+8
-29
lines changed

2 files changed

+8
-29
lines changed

.github/workflows/continuous-integration.yml

+6-29
Original file line numberDiff line numberDiff line change
@@ -378,57 +378,34 @@ jobs:
378378
strategy:
379379
matrix:
380380
php-version:
381-
- "7.4"
382-
- "8.1"
381+
- "8.3"
383382
mysql-version:
384383
- "5.7"
385384
- "8.0"
385+
- "9.0"
386386
extension:
387387
- "mysqli"
388388
- "pdo_mysql"
389389
config-file-suffix:
390390
- ""
391391
include:
392-
- mysql-version: "8.0"
393-
# https://stackoverflow.com/questions/60902904/how-to-pass-mysql-native-password-to-mysql-service-in-github-actions
394-
custom-entrypoint: >-
395-
--entrypoint sh mysql:8.0 -c "exec docker-entrypoint.sh mysqld --default-authentication-plugin=mysql_native_password"
396392
- config-file-suffix: "-tls"
397393
php-version: "7.4"
398394
mysql-version: "8.0"
399395
extension: "mysqli"
400-
- php-version: "8.2"
396+
- php-version: "7.4"
401397
mysql-version: "8.0"
402398
extension: "mysqli"
403-
custom-entrypoint: >-
404-
--entrypoint sh mysql:8.0 -c "exec docker-entrypoint.sh mysqld --default-authentication-plugin=mysql_native_password"
405-
- php-version: "8.2"
399+
- php-version: "7.4"
406400
mysql-version: "8.0"
407401
extension: "pdo_mysql"
408-
custom-entrypoint: >-
409-
--entrypoint sh mysql:8.0 -c "exec docker-entrypoint.sh mysqld --default-authentication-plugin=mysql_native_password"
410-
- php-version: "8.3"
411-
mysql-version: "8.0"
412-
extension: "mysqli"
402+
# Workaround for https://bugs.mysql.com/114876
413403
- php-version: "8.3"
414-
mysql-version: "8.0"
415-
extension: "pdo_mysql"
416-
- php-version: "7.4"
417404
mysql-version: "8.4"
418405
extension: "mysqli"
419406
custom-entrypoint: >-
420407
--entrypoint sh mysql:8.4 -c "exec docker-entrypoint.sh mysqld --mysql-native-password=ON"
421-
- php-version: "7.4"
422-
mysql-version: "8.4"
423-
extension: "pdo_mysql"
424-
custom-entrypoint: >-
425-
--entrypoint sh mysql:8.4 -c "exec docker-entrypoint.sh mysqld --mysql-native-password=ON"
426-
- php-version: "8.1"
427-
mysql-version: "8.4"
428-
extension: "mysqli"
429-
custom-entrypoint: >-
430-
--entrypoint sh mysql:8.4 -c "exec docker-entrypoint.sh mysqld --mysql-native-password=ON"
431-
- php-version: "8.1"
408+
- php-version: "8.3"
432409
mysql-version: "8.4"
433410
extension: "pdo_mysql"
434411
custom-entrypoint: >-

tests/Driver/VersionAwarePlatformDriverTest.php

+2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ public static function mySQLVersionProvider(): array
5151
['8', MySQL80Platform::class],
5252
['8.0', MySQL80Platform::class],
5353
['8.0.11', MySQL80Platform::class],
54+
['8.4.1', MySQL80Platform::class],
55+
['9.0.0', MySQL80Platform::class],
5456
['6', MySQL57Platform::class],
5557
['10.0.15-MariaDB-1~wheezy', MySQLPlatform::class],
5658
['5.5.5-10.1.25-MariaDB', MySQLPlatform::class],

0 commit comments

Comments
 (0)