From 47bed38581d77a70807cbf3b05aa71980fc9b1e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Paris?= Date: Sun, 24 Nov 2024 11:26:08 +0100 Subject: [PATCH 1/4] Rework the continuous integration jobs (#6613) This is an attempt at implementing https://github.com/doctrine/dbal/pull/3347#issuecomment-439231396 - For the latest stable PHP version (which is currently 8.3), test all drivers with all platform versions. - All other supported PHP versions (7.4, 8.2, nightly), test each driver with the latest version of the platform. This results in a slight reduction of the number of jobs (from 92 to 85) --- .github/workflows/continuous-integration.yml | 89 ++++++++------------ 1 file changed, 36 insertions(+), 53 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 27b1ad3d6e..f57bba9304 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -38,9 +38,6 @@ jobs: - "ubuntu-22.04" php-version: - "7.4" - - "8.0" - - "8.1" - - "8.2" - "8.3" - "8.4" dependencies: @@ -107,17 +104,17 @@ jobs: strategy: matrix: php-version: - - "7.4" - - "8.2" - "8.3" oracle-version: - "21" - "23" include: + - php-version: "7.4" + oracle-version: "23" + - php-version: "8.2" + oracle-version: "23" - php-version: "8.4" oracle-version: "23" - - php-version: "7.4" - oracle-version: "11" services: oracle: @@ -168,17 +165,17 @@ jobs: strategy: matrix: php-version: - - "7.4" - - "8.2" - "8.3" oracle-version: - "21" - "23" include: + - php-version: "7.4" + oracle-version: "23" + - php-version: "8.2" + oracle-version: "23" - php-version: "8.4" oracle-version: "23" - - php-version: "7.4" - oracle-version: "11" services: oracle: @@ -229,28 +226,28 @@ jobs: strategy: matrix: php-version: - - "7.4" + - "8.3" postgres-version: - "9.4" - - "16" + - "11" # We have code specific to 10.0-12.0 - "17" extension: - "pgsql" - "pdo_pgsql" include: - - php-version: "8.2" + - php-version: "7.4" postgres-version: "17" extension: "pgsql" - - php-version: "8.3" + - php-version: "8.2" postgres-version: "17" extension: "pgsql" - php-version: "8.4" postgres-version: "17" extension: "pgsql" - - php-version: "8.2" + - php-version: "7.4" postgres-version: "17" extension: "pdo_pgsql" - - php-version: "8.3" + - php-version: "8.2" postgres-version: "17" extension: "pdo_pgsql" - php-version: "8.4" @@ -305,43 +302,34 @@ jobs: strategy: matrix: php-version: - - "7.4" + - "8.3" mariadb-version: # keep in sync with https://mariadb.org/about/#maintenance-policy - "10.0" # Oldest version supported by DBAL - - "10.4" # LTS (Jun 2024) - - "10.5" # LTS (Jun 2025) - - "10.6" # LTS (Jul 2026) - - "10.11" # LTS (Feb 2028) - - "11.1" # STS (Aug 2024) - - "11.2" # STS (Nov 2024) - - "11.3" # STS (Feb 2025) + - "10.4" # LTS (Jun 2024) We have code specific to 10.4.3-10.5.2 + - "10.5" # LTS (Jun 2025) We have code specific to 10.5.2-10.6.0 + - "10.6" # LTS (Jul 2026) We have code specific to 10.6.0-10.10.0 + - "10.11" # LTS (Feb 2028) We have code specific to ^10.10 - "11.4" # LTS (May 2029) extension: - "mysqli" - "pdo_mysql" include: - - php-version: "8.2" - mariadb-version: "10.6" - extension: "mysqli" - - php-version: "8.2" - mariadb-version: "10.6" - extension: "pdo_mysql" - - php-version: "8.2" + - php-version: "7.4" mariadb-version: "11.4" extension: "mysqli" - php-version: "8.2" mariadb-version: "11.4" - extension: "pdo_mysql" - - php-version: "8.3" + extension: "mysqli" + - php-version: "8.4" mariadb-version: "11.4" extension: "mysqli" - - php-version: "8.3" + - php-version: "7.4" mariadb-version: "11.4" extension: "pdo_mysql" - - php-version: "8.4" + - php-version: "8.2" mariadb-version: "11.4" - extension: "mysqli" + extension: "pdo_mysql" - php-version: "8.4" mariadb-version: "11.4" extension: "pdo_mysql" @@ -398,7 +386,7 @@ jobs: - "8.3" mysql-version: - "5.7" - - "8.0" + - "8.0" # We have code specific to ^8.0 - "9.1" extension: - "mysqli" @@ -408,28 +396,23 @@ jobs: include: - config-file-suffix: "-tls" php-version: "7.4" - mysql-version: "8.0" + mysql-version: "9.1" extension: "mysqli" - php-version: "7.4" - mysql-version: "8.0" + mysql-version: "9.1" extension: "mysqli" - - php-version: "7.4" - mysql-version: "8.0" - extension: "pdo_mysql" - # Workaround for https://bugs.mysql.com/114876 - - php-version: "8.3" - mysql-version: "8.4" + - php-version: "8.2" + mysql-version: "9.1" extension: "mysqli" - custom-entrypoint: >- - --entrypoint sh mysql:8.4 -c "exec docker-entrypoint.sh mysqld --mysql-native-password=ON" - - php-version: "8.3" - mysql-version: "8.4" - extension: "pdo_mysql" - custom-entrypoint: >- - --entrypoint sh mysql:8.4 -c "exec docker-entrypoint.sh mysqld --mysql-native-password=ON" - php-version: "8.4" mysql-version: "9.1" extension: "mysqli" + - php-version: "7.4" + mysql-version: "9.1" + extension: "pdo_mysql" + - php-version: "8.2" + mysql-version: "9.1" + extension: "pdo_mysql" - php-version: "8.4" mysql-version: "9.1" extension: "pdo_mysql" From fa667b8316fd920bf524fd566cf4b2e47f4d97cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Paris?= Date: Sun, 24 Nov 2024 18:53:51 +0100 Subject: [PATCH 2/4] Bump the PHP version used in the CI 8.4 is stable now. --- .github/workflows/continuous-integration.yml | 32 ++++++++++---------- .github/workflows/nightly.yml | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index f57bba9304..6546b57c75 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -38,8 +38,8 @@ jobs: - "ubuntu-22.04" php-version: - "7.4" - - "8.3" - "8.4" + - "8.5" dependencies: - "highest" extension: @@ -104,7 +104,7 @@ jobs: strategy: matrix: php-version: - - "8.3" + - "8.4" oracle-version: - "21" - "23" @@ -113,7 +113,7 @@ jobs: oracle-version: "23" - php-version: "8.2" oracle-version: "23" - - php-version: "8.4" + - php-version: "8.5" oracle-version: "23" services: @@ -165,7 +165,7 @@ jobs: strategy: matrix: php-version: - - "8.3" + - "8.4" oracle-version: - "21" - "23" @@ -174,7 +174,7 @@ jobs: oracle-version: "23" - php-version: "8.2" oracle-version: "23" - - php-version: "8.4" + - php-version: "8.5" oracle-version: "23" services: @@ -226,7 +226,7 @@ jobs: strategy: matrix: php-version: - - "8.3" + - "8.4" postgres-version: - "9.4" - "11" # We have code specific to 10.0-12.0 @@ -241,7 +241,7 @@ jobs: - php-version: "8.2" postgres-version: "17" extension: "pgsql" - - php-version: "8.4" + - php-version: "8.5" postgres-version: "17" extension: "pgsql" - php-version: "7.4" @@ -250,7 +250,7 @@ jobs: - php-version: "8.2" postgres-version: "17" extension: "pdo_pgsql" - - php-version: "8.4" + - php-version: "8.5" postgres-version: "17" extension: "pdo_pgsql" @@ -302,7 +302,7 @@ jobs: strategy: matrix: php-version: - - "8.3" + - "8.4" mariadb-version: # keep in sync with https://mariadb.org/about/#maintenance-policy - "10.0" # Oldest version supported by DBAL @@ -321,7 +321,7 @@ jobs: - php-version: "8.2" mariadb-version: "11.4" extension: "mysqli" - - php-version: "8.4" + - php-version: "8.5" mariadb-version: "11.4" extension: "mysqli" - php-version: "7.4" @@ -330,7 +330,7 @@ jobs: - php-version: "8.2" mariadb-version: "11.4" extension: "pdo_mysql" - - php-version: "8.4" + - php-version: "8.5" mariadb-version: "11.4" extension: "pdo_mysql" @@ -383,7 +383,7 @@ jobs: strategy: matrix: php-version: - - "8.3" + - "8.4" mysql-version: - "5.7" - "8.0" # We have code specific to ^8.0 @@ -404,7 +404,7 @@ jobs: - php-version: "8.2" mysql-version: "9.1" extension: "mysqli" - - php-version: "8.4" + - php-version: "8.5" mysql-version: "9.1" extension: "mysqli" - php-version: "7.4" @@ -413,7 +413,7 @@ jobs: - php-version: "8.2" mysql-version: "9.1" extension: "pdo_mysql" - - php-version: "8.4" + - php-version: "8.5" mysql-version: "9.1" extension: "pdo_mysql" @@ -472,8 +472,8 @@ jobs: php-version: - "7.4" - "8.2" - - "8.3" - "8.4" + - "8.5" extension: - "sqlsrv" - "pdo_sqlsrv" @@ -540,8 +540,8 @@ jobs: php-version: - "7.4" - "8.2" - - "8.3" - "8.4" + - "8.5" services: ibm_db2: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 99799afcb7..a95d760813 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -16,7 +16,7 @@ jobs: matrix: php-version: - "7.4" - - "8.3" + - "8.4" mariadb-version: - "earliest" - "verylatest" From 66703c9c1a559a5dd8f908ac61912bab57f4d9a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Paris?= Date: Sun, 24 Nov 2024 21:28:38 +0100 Subject: [PATCH 3/4] Remove jobs for PHP 8.2 If the code works on 7.4 and 8.4, most likely it will work on all versions in between. --- .github/workflows/continuous-integration.yml | 24 -------------------- 1 file changed, 24 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 6546b57c75..ca396efe5d 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -111,8 +111,6 @@ jobs: include: - php-version: "7.4" oracle-version: "23" - - php-version: "8.2" - oracle-version: "23" - php-version: "8.5" oracle-version: "23" @@ -172,8 +170,6 @@ jobs: include: - php-version: "7.4" oracle-version: "23" - - php-version: "8.2" - oracle-version: "23" - php-version: "8.5" oracle-version: "23" @@ -238,18 +234,12 @@ jobs: - php-version: "7.4" postgres-version: "17" extension: "pgsql" - - php-version: "8.2" - postgres-version: "17" - extension: "pgsql" - php-version: "8.5" postgres-version: "17" extension: "pgsql" - php-version: "7.4" postgres-version: "17" extension: "pdo_pgsql" - - php-version: "8.2" - postgres-version: "17" - extension: "pdo_pgsql" - php-version: "8.5" postgres-version: "17" extension: "pdo_pgsql" @@ -318,18 +308,12 @@ jobs: - php-version: "7.4" mariadb-version: "11.4" extension: "mysqli" - - php-version: "8.2" - mariadb-version: "11.4" - extension: "mysqli" - php-version: "8.5" mariadb-version: "11.4" extension: "mysqli" - php-version: "7.4" mariadb-version: "11.4" extension: "pdo_mysql" - - php-version: "8.2" - mariadb-version: "11.4" - extension: "pdo_mysql" - php-version: "8.5" mariadb-version: "11.4" extension: "pdo_mysql" @@ -401,18 +385,12 @@ jobs: - php-version: "7.4" mysql-version: "9.1" extension: "mysqli" - - php-version: "8.2" - mysql-version: "9.1" - extension: "mysqli" - php-version: "8.5" mysql-version: "9.1" extension: "mysqli" - php-version: "7.4" mysql-version: "9.1" extension: "pdo_mysql" - - php-version: "8.2" - mysql-version: "9.1" - extension: "pdo_mysql" - php-version: "8.5" mysql-version: "9.1" extension: "pdo_mysql" @@ -471,7 +449,6 @@ jobs: matrix: php-version: - "7.4" - - "8.2" - "8.4" - "8.5" extension: @@ -539,7 +516,6 @@ jobs: matrix: php-version: - "7.4" - - "8.2" - "8.4" - "8.5" From 2fea869e4349d75ca939d8874f80babbb84dfed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Paris?= Date: Sun, 24 Nov 2024 21:29:37 +0100 Subject: [PATCH 4/4] Remove lone 8.1 build Not sure what this one was about. --- .github/workflows/continuous-integration.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index ca396efe5d..1abd5e20cd 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -53,10 +53,6 @@ jobs: php-version: "7.4" dependencies: "highest" extension: "sqlite3" - - os: "ubuntu-22.04" - php-version: "8.1" - dependencies: "highest" - extension: "sqlite3" steps: - name: "Checkout"