From: Ferdinand Thiessen Date: Wed, 13 Nov 2024 01:50:13 +0000 (+0100) Subject: feat: Update supported PostgreSQL versions X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a3e80e4195ee21e2ab5ba462ad4daa26086779bf;p=nextcloud-server.git feat: Update supported PostgreSQL versions 12 is now EOL but 17 was released and should be supported and tested. Signed-off-by: Ferdinand Thiessen --- diff --git a/.github/workflows/phpunit-pgsql.yml b/.github/workflows/phpunit-pgsql.yml index 118a09a93cc..b60c9d01b02 100644 --- a/.github/workflows/phpunit-pgsql.yml +++ b/.github/workflows/phpunit-pgsql.yml @@ -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 diff --git a/apps/settings/lib/SetupChecks/SupportedDatabase.php b/apps/settings/lib/SetupChecks/SupportedDatabase.php index 89f78948305..31b907a825e 100644 --- a/apps/settings/lib/SetupChecks/SupportedDatabase.php +++ b/apps/settings/lib/SetupChecks/SupportedDatabase.php @@ -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';