From 07d1dd35a03a189f6d0ded235c0c15b0d3eebdde Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 27 Sep 2026 10:15:59 +0200 Subject: [PATCH] Let Renovate keep the PostgreSQL versions tested in CI up to date (#183128) --- .github/renovate.json | 35 +++++++++++++++++++++++++++++++++++ .github/workflows/ci.yaml | 4 +--- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index d8eff4b92143..a84df9d99830 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -63,6 +63,19 @@ "depNameTemplate": "mariadb", "datasourceTemplate": "docker", "versioningTemplate": "docker" + }, + { + "customType": "regex", + "description": "Update the PostgreSQL entries in the CI database test matrix", + "managerFilePatterns": ["/^\\.github/workflows/ci\\.yaml$/"], + "matchStringsStrategy": "recursive", + "matchStrings": [ + "POSTGRESQL_VERSIONS: \".*\"", + "postgres:(?\\d+\\.\\d+)" + ], + "depNameTemplate": "postgres", + "datasourceTemplate": "docker", + "versioningTemplate": "docker" } ], @@ -273,6 +286,21 @@ "matchUpdateTypes": ["patch"], "enabled": false }, + { + "description": "PostgreSQL versions tested in CI (allowlisted). Docker Hub returns no release timestamps for these tags, so the global cooldown needs to be bypassed.", + "matchManagers": ["custom.regex"], + "matchPackageNames": ["postgres"], + "enabled": true, + "minimumReleaseAge": null, + "labels": ["dependency"] + }, + { + "description": "Keep each PostgreSQL entry on its major version. Adding a new major to the matrix is a deliberate choice.", + "matchManagers": ["custom.regex"], + "matchPackageNames": ["postgres"], + "matchUpdateTypes": ["major"], + "enabled": false + }, { "description": "Group ruff pre-commit hook with its PyPI twin into one PR", "matchPackageNames": ["astral-sh/ruff-pre-commit", "ruff"], @@ -327,6 +355,13 @@ "groupName": "types stubs", "groupSlug": "types-stubs" }, + { + "description": "Group the PostgreSQL CI matrix updates into one PR (all supported majors are released on the same day)", + "matchManagers": ["custom.regex"], + "matchPackageNames": ["postgres"], + "groupName": "PostgreSQL CI matrix", + "groupSlug": "postgresql-ci" + }, { "description": "uv and pnpm release almost daily, so the cooldown alone still gives a PR (and a full CI run) nearly every day. Limit them to one PR per week.", "matchPackageNames": ["uv", "pnpm"], diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1a82080d0cd3..70d7a41300e1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -52,11 +52,9 @@ env: # and some queries that work on MariaDB do not work on MySQL MARIADB_VERSIONS: "['mariadb:10.3.32','mariadb:10.6.10','mariadb:10.11.2','mariadb:11.4.9','mariadb:11.8.8','mariadb:12.3.3','mysql:8.0.32']" # 12 is the oldest supported version - # - 12.22 is the latest (as of 19 Aug 2026) # 15 is a supported version - # - 15.19 is the latest (as of 19 Aug 2026) # 18 is the latest version - # - 18.6 is the latest (as of 19 Aug 2026) + # Renovate keeps each entry on the latest release of its major version POSTGRESQL_VERSIONS: "['postgres:12.22','postgres:15.19', 'postgres:18.6']" # 3.40.1 is the oldest supported version (recorder MIN_VERSION_SQLITE), # shipped in Debian 12 (bookworm)