From 9af9bdf8ce720431d346f69ccfb05bafa8461073 Mon Sep 17 00:00:00 2001 From: ihalatci Date: Sat, 13 Jun 2026 07:30:07 +0000 Subject: [PATCH 1/2] Add PG19 (19beta1) and bump PG minors via apt PG19 beta1 is published on apt.postgresql.org under the per-major "19" component for bookworm, so enable that component in the extbuilder, exttester, failtester and pgupgradetester images and add PG19=19~beta1 to PG_VERSIONS (the image tag renders as 19beta1). Also bump the PG16/17/18 minors to 16.14 / 17.10 / 18.4. Exclude PG19 from the citus-upgrade image set (no released Citus supports PG19 yet) by filtering it out of CITUS_UPGRADE_PG_VERSIONS by name instead of relying on head(1) line ordering. --- circleci/images/Makefile | 7 +++++-- circleci/images/PG_VERSIONS | 7 ++++--- circleci/images/extbuilder/Dockerfile | 3 ++- circleci/images/exttester/Dockerfile | 3 ++- circleci/images/failtester/Dockerfile | 3 ++- circleci/images/pgupgradetester/Dockerfile | 3 ++- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/circleci/images/Makefile b/circleci/images/Makefile index 6b91a55..f7242d6 100644 --- a/circleci/images/Makefile +++ b/circleci/images/Makefile @@ -16,8 +16,11 @@ PG_UPGRADE_TESTER_VERSION=$(shell echo ${PG_VERSIONS}|tr ' ' '-'|sed 's/~//g') STYLE_CHECKER_TOOLS_VERSION=0.8.33 -# Upgrade tests for the PG major versions from PG_VERSIONS file -CITUS_UPGRADE_PG_VERSIONS=$(shell head PG_VERSIONS|cut -c 6-|tr '\n' ' ') +# Upgrade tests for the PG major versions from PG_VERSIONS file. +# PG19 is excluded because no Citus release supports it yet; filter it +# out by name so reordering PG_VERSIONS does not silently change which +# major is dropped. +CITUS_UPGRADE_PG_VERSIONS=$(shell grep -v '^PG19=' PG_VERSIONS|cut -c 6-|tr '\n' ' ') # 12.1.10 is the latest release of Citus 12 when the test is expanded to cover Citus 12 CITUS_UPGRADE_VERSIONS_16=v12.1.12 # Latest minor version of Citus 13 diff --git a/circleci/images/PG_VERSIONS b/circleci/images/PG_VERSIONS index 98c38dc..d3c9b29 100644 --- a/circleci/images/PG_VERSIONS +++ b/circleci/images/PG_VERSIONS @@ -1,3 +1,4 @@ -PG16=16.13 -PG17=17.9 -PG18=18.3 +PG16=16.14 +PG17=17.10 +PG18=18.4 +PG19=19~beta1 diff --git a/circleci/images/extbuilder/Dockerfile b/circleci/images/extbuilder/Dockerfile index d703a28..ade1bcd 100644 --- a/circleci/images/extbuilder/Dockerfile +++ b/circleci/images/extbuilder/Dockerfile @@ -48,7 +48,8 @@ set -eux # install key and repositories curl -sf https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - -echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >> /etc/apt/sources.list.d/postgresql.list +# The "19" component carries the PG19 beta packages, which are not in "main" yet. +echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main 19" >> /etc/apt/sources.list.d/postgresql.list echo "deb https://apt-archive.postgresql.org/pub/repos/apt bookworm-pgdg-archive main" >> /etc/apt/sources.list.d/postgresql.list apt-get update diff --git a/circleci/images/exttester/Dockerfile b/circleci/images/exttester/Dockerfile index 4af0f75..c1ea268 100644 --- a/circleci/images/exttester/Dockerfile +++ b/circleci/images/exttester/Dockerfile @@ -153,7 +153,8 @@ set -eux # install key and repositories curl -sf https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - -echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >> /etc/apt/sources.list.d/postgresql.list +# The "19" component carries the PG19 beta packages, which are not in "main" yet. +echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main 19" >> /etc/apt/sources.list.d/postgresql.list echo "deb https://apt-archive.postgresql.org/pub/repos/apt bookworm-pgdg-archive main" >> /etc/apt/sources.list.d/postgresql.list apt-get update diff --git a/circleci/images/failtester/Dockerfile b/circleci/images/failtester/Dockerfile index ac68c87..2b76ef3 100644 --- a/circleci/images/failtester/Dockerfile +++ b/circleci/images/failtester/Dockerfile @@ -54,7 +54,8 @@ RUN <<'EOF' # install key and repositories curl -sf https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - -echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >> /etc/apt/sources.list.d/postgresql.list +# The "19" component carries the PG19 beta packages, which are not in "main" yet. +echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main 19" >> /etc/apt/sources.list.d/postgresql.list echo "deb https://apt-archive.postgresql.org/pub/repos/apt bookworm-pgdg-archive main" >> /etc/apt/sources.list.d/postgresql.list apt-get update diff --git a/circleci/images/pgupgradetester/Dockerfile b/circleci/images/pgupgradetester/Dockerfile index 9e0237d..dbc908d 100644 --- a/circleci/images/pgupgradetester/Dockerfile +++ b/circleci/images/pgupgradetester/Dockerfile @@ -55,7 +55,8 @@ set -eux # install key and repositories curl -sf https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - -echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >> /etc/apt/sources.list.d/postgresql.list +# The "19" component carries the PG19 beta packages, which are not in "main" yet. +echo "deb https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main 19" >> /etc/apt/sources.list.d/postgresql.list echo "deb https://apt-archive.postgresql.org/pub/repos/apt bookworm-pgdg-archive main" >> /etc/apt/sources.list.d/postgresql.list apt-get update From 33b3cf5b731557a3cc8780ab1adbbc4c0baf0e76 Mon Sep 17 00:00:00 2001 From: ihalatci Date: Sat, 13 Jun 2026 07:37:48 +0000 Subject: [PATCH 2/2] exttester: install wal2json best-effort for pre-release PG majors postgresql-19-wal2json is not yet published on apt for PG19 beta1, which broke the exttester image build. Split wal2json into its own best-effort apt-get install so the image builds before the package lands, while released majors still get it. --- circleci/images/exttester/Dockerfile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/circleci/images/exttester/Dockerfile b/circleci/images/exttester/Dockerfile index c1ea268..2ee0369 100644 --- a/circleci/images/exttester/Dockerfile +++ b/circleci/images/exttester/Dockerfile @@ -169,8 +169,12 @@ apt-get install -y --no-install-recommends --allow-downgrades \ postgresql-${PG_MAJOR}=${pgdg_version} \ postgresql-client-${PG_MAJOR}=${pgdg_version} \ postgresql-${PG_MAJOR}-dbgsym=${pgdg_version} \ - postgresql-server-dev-${PG_MAJOR}=${pgdg_version} \ - postgresql-${PG_MAJOR}-wal2json + postgresql-server-dev-${PG_MAJOR}=${pgdg_version} + +# wal2json is not always published for pre-release majors (e.g. PG19 beta), so +# install it best-effort to avoid breaking the build before the package lands. +apt-get install -y --no-install-recommends postgresql-${PG_MAJOR}-wal2json \ + || echo "WARNING: postgresql-${PG_MAJOR}-wal2json not available for PG${PG_MAJOR}, continuing without it" apt-get install -y --no-install-recommends -t bookworm libdbd-pg-perl