PostgreSQL max value should be raised for Drupal 12 as the minimum required is 18
### Problem/Motivation Drupal 12 has raised the minimum required PostgreSQL version to 18 (previously 16 for Drupal 11): https://www.drupal.org/about/core/blog/announcing-drupal-1200-platform-requirements The "phpunit (next major)" job (triggered via `OPT_IN_TEST_NEXT_MAJOR: 1`) still provisions a PostgreSQL 16 service container while testing against Drupal 12.0-dev. As a result, every functional test fails at the installation step, because Drupal 12's installer correctly refuses to run on a database version below its stated minimum: Drupal Version.......: 12.0-dev PHP Version..........: 8.5.7 Database.............: PostgreSQL Database Version.....: 16.14 (Debian 16.14-1.pgdg13+1) Drupal\Core\Installer\Exception\InstallerException: Resolve all issues below to continue the installation. For help configuring your database server, see the installation handbook, or contact your hosting provider. The database server version 16.14 (Debian 16.14-1.pgdg13+1) is less than the minimum required version 18. This is not specific to any one module — any contrib project that opts in to `OPT_IN_TEST_NEXT_MAJOR` and tests against PostgreSQL will hit this, since it's core itself refusing to install, not a module bug. This is the PostgreSQL counterpart of #3447105 ("DB requirements for next major were changed"), which fixed the exact same class of problem for MySQL when Drupal 11 raised its minimum to 8.0, via the `CORE_MYSQL_NEXT` variable. Example failing job (field_ipaddress_pgsql, 3.0.x branch, "phpunit (next major)"): https://git.drupalcode.org/project/field_ipaddress_pgsql/-/jobs/10675743 ### Steps to reproduce 1. Add the standard `.gitlab-ci.yml` template to a contrib module that tests against PostgreSQL. 2. Set `OPT_IN_TEST_NEXT_MAJOR: 1`. 3. Trigger a pipeline. 4. The "phpunit (next major)" job runs Drupal 12.0-dev / PHP 8.5.7 against a PostgreSQL 16.14 service container. 5. Every functional/kernel test that installs a test site errors out with the InstallerException above. ### Proposed resolution Same fix pattern as #3447105: introduce/update the equivalent PostgreSQL variable (e.g. `CORE_POSTGRES_NEXT`) and bump the PostgreSQL version used in the "next major" DB matrix from 16 to 18, matching the officially announced Drupal 12 platform requirements. ### Remaining tasks ### Remaining tasks - [x] Agree on the variable name for the "next major" PostgreSQL version (e.g. `CORE_POSTGRES_NEXT`, mirroring `CORE_MYSQL_NEXT` from #3447105) - [x] Bump the PostgreSQL version used in the "next major" DB matrix from 16 to 18 in `gitlab_templates` (`include.drupalci.variables.yml` / wherever `_TARGET_DB_VERSION` is set for pgsql) - [x] Open an MR against `gitlab_templates` with the fix - [ ] Re-run a downstream contrib pipeline with `OPT_IN_TEST_NEXT_MAJOR: 1` and a PostgreSQL "phpunit (next major)" job (see failing example above) to confirm the site installs and tests pass against PostgreSQL 18 - [ ] Cut a new template release so the fix reaches all opted-in projects
issue