]> source.dussan.org Git - nextcloud-server.git/commitdiff
feat: Update supported PostgreSQL versions feat/postgres-13-17 49240/head
authorFerdinand Thiessen <opensource@fthiessen.de>
Wed, 13 Nov 2024 01:50:13 +0000 (02:50 +0100)
committerFerdinand Thiessen <opensource@fthiessen.de>
Wed, 13 Nov 2024 01:50:13 +0000 (02:50 +0100)
12 is now EOL but 17 was released and should be supported and tested.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
.github/workflows/phpunit-pgsql.yml
apps/settings/lib/SetupChecks/SupportedDatabase.php

index 118a09a93ccc6e24619f44dcf0c790310c1cef69..b60c9d01b02894f32ae89c06cbcbcc54356d7ab3 100644 (file)
@@ -56,14 +56,14 @@ jobs:
     strategy:
       matrix:
         php-versions: ['8.1']
-        # To keep the matrix smaller we ignore PostgreSQL '13', '14', and '15' as we already test 12 and 16 as lower and upper bound
-        postgres-versions: ['12', '16']
+        # To keep the matrix smaller we ignore PostgreSQL versions in between as we already test the minimum and the maximum
+        postgres-versions: ['13', '17']
         include:
           - php-versions: '8.3'
-            postgres-versions: '16'
+            postgres-versions: '17'
             coverage: ${{ github.event_name != 'pull_request' }}
           - php-versions: '8.4'
-            postgres-versions: '16'
+            postgres-versions: '17'
 
     name: PostgreSQL ${{ matrix.postgres-versions }} (PHP ${{ matrix.php-versions }}) - database tests
 
index 89f789483059b31ad525ca6e511191163e2e385c..31b907a825e8d108d4ea094181a7162cfd66364e 100644 (file)
@@ -24,6 +24,8 @@ class SupportedDatabase implements ISetupCheck {
        private const MAX_MARIADB = '11.4';
        private const MIN_MYSQL = '8.0';
        private const MAX_MYSQL = '8.4';
+       private const MIN_POSTGRES = '13';
+       private const MAX_POSTGRES = '17';
 
        public function __construct(
                private IL10N $l10n,
@@ -98,8 +100,16 @@ class SupportedDatabase implements ISetupCheck {
                        // we only care about X not X.Y or X.Y.Z differences
                        [$major, ] = explode('.', $versionlc);
                        $versionConcern = $major;
-                       if (version_compare($versionConcern, '12', '<') || version_compare($versionConcern, '16', '>')) {
-                               return SetupResult::warning($this->l10n->t('PostgreSQL version "%s" detected. PostgreSQL >=12 and <=16 is suggested for best performance, stability and functionality with this version of Nextcloud.', $version));
+                       if (version_compare($versionConcern, self::MIN_POSTGRES, '<') || version_compare($versionConcern, self::MAX_POSTGRES, '>')) {
+                               return SetupResult::warning(
+                                       $this->l10n->t(
+                                               'PostgreSQL version "%1$s" detected. PostgreSQL >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud.',
+                                               [
+                                                       $version,
+                                                       self::MIN_POSTGRES,
+                                                       self::MAX_POSTGRES,
+                                               ])
+                               );
                        }
                } elseif ($databasePlatform instanceof OraclePlatform) {
                        $version = 'Oracle';