Skip to content

Add PostgreSQL 19 image and pkgvars entry - #383

Open
ibrahim halatci (ihalatci) wants to merge 1 commit into
masterfrom
ihalatci-pg19-docker-content
Open

Add PostgreSQL 19 image and pkgvars entry#383
ibrahim halatci (ihalatci) wants to merge 1 commit into
masterfrom
ihalatci-pg19-docker-content

Conversation

@ihalatci

Copy link
Copy Markdown
Contributor

Additive-only groundwork for PostgreSQL 19. Nothing here changes what gets published.

Changes

File Change
pkgvars add postgres_19_version=19beta3
postgres-17/Dockerfile hll 2.192.21.citus-1, topn 2.7.02.7.1.citus-1
postgres-18/Dockerfile new
postgres-19/Dockerfile new

4 files, +87/-2.

Why this is safe to merge now

The publish workflow matrices are unchanged — they remain [latest, alpine, postgres_17, postgres_16, nightly]. Nothing references postgres_18 or postgres_19, so the two new directories are inert; they are only built once a follow-up PR adds them to the matrices.

postgres_16 keeps both its matrix entry and its pkgvars line, so the existing postgres_16 job is unaffected.

latest and alpine still build FROM postgres:18.4. Retargeting them onto PostgreSQL 19 is deliberately not in this PR — doing it now would point the latest Docker Hub tag at a beta PostgreSQL.

The only image this PR changes that the matrices actually build is postgres_17. Both new extension versions are published for PG17 on all supported distros (verified against repos.citusdata.com: postgresql-17-hll 2.21.citus-1, postgresql-17-topn 2.7.1.citus-1), so that build is expected to stay green.

Why this PR exists separately

citusdata/tools's test_pkgvar_postgres_version_existence clones this repository and asserts pkgvars contains postgres_19_version. That makes this the gating change for citusdata/tools#423, which is currently 41 green / 1 red on exactly that assertion. The same ordering was used for PostgreSQL 18: docker 5fac2a8 landed before the matching tools change.

Held back for follow-ups

Deferred until a new tools tag exists (the current -b v0.8.36 pin has no postgres_19 in DockerImageType):

  • add postgres_18 / postgres_19 to the three publish matrices
  • bump the tools pin in 5 workflows
  • delete postgres-16/ and drop postgres_16_version

Deferred until PostgreSQL 19 GA:

  • root Dockerfile and alpine/Dockerfile FROM → PostgreSQL 19
  • README.md PostgreSQL version reference

Note on CI

publish_docker_images_on_push.yml and _cron.yml trigger on push: branches: "**", so they run on this branch. They build only — publish_docker.py computes will_image_be_published from get_current_branch() != "master", so no image is pushed to Docker Hub from a feature branch.

Additive-only groundwork for PostgreSQL 19 support:

- pkgvars: add postgres_19_version=19beta3. This is the entry that
  citusdata/tools' test_pkgvar_postgres_version_existence asserts
  against this repository, so it unblocks citusdata/tools#423.
- Add postgres-18/Dockerfile and postgres-19/Dockerfile.
- postgres-17/Dockerfile: bump hll to 2.21.citus-1 and topn to
  2.7.1.citus-1, both now published for PostgreSQL 14-19.

Nothing here changes what gets published. The new directories are
inert because the publish workflow matrices do not reference
postgres_18 or postgres_19 yet, and postgres_16 keeps both its
matrix entry and its pkgvars line.

The publish matrices, the tools pin bump, removal of postgres-16 and
retargeting latest/alpine onto PostgreSQL 19 are deliberately held
back: the first three depend on a new tools tag, and the last must
wait for the PostgreSQL 19 GA release so that the latest tag is never
built on a beta.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1ed7b58a-0ba9-4f47-a1de-3ee665bae7f2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants