Skip to content

Add PostgreSQL 19 support (hll 2.21) - #1211

Merged
ibrahim halatci (ihalatci) merged 3 commits into
redhat-hllfrom
ihalatci-pg19-redhat-hll
Aug 21, 2026
Merged

ibrahim halatci (ihalatci) merged 3 commits into
redhat-hllfrom
ihalatci-pg19-redhat-hll

Conversation

@ihalatci

Copy link
Copy Markdown
Contributor

Adds PostgreSQL 19 to the postgresql-hll RPM packaging, bumping to upstream v2.21.

Changes

  • pkgvars — pkglatest 2.19.citus-1 -> 2.21.citus-1
  • postgres-matrix.yml — new entry 2.21: postgres_versions: [ 16, 17, 18, 19 ] (appended last; nightly reads version_matrix[-1])
  • hll.spec — Version 2.19.citus -> 2.21.citus, source archive v2.19.tar.gz -> v2.21.tar.gz, new %changelog entry
  • pg_exclude.yml — el/8: [19] and ol/8: [19] under release:
  • .github/workflows/build-package.yml — migrated off the retired secrets.GH_TOKEN PAT to actions/create-github-app-token@v3, matching all-citus

Why el/8 / ol/8 exclude PG19

PGDG does not publish PostgreSQL 19 for EL8. update_dockerfiles on the packaging-images branch carries the same guard explicitly (if [[ "${release}" = '8' ]] && [[ "${pgversion}" = '19' ]]; then continue), so no almalinux-8-pg19 / oraclelinux-8-pg19 build image exists. ol/8 needs its own key because citus_package.py's docker_image_names has no ol/8 entry — it falls through to oraclelinux-8, not almalinux-8.

Why the workflow change is in here

scripts/fetch_and_build_rpm writes Authorization: token ${GITHUB_TOKEN} into ~/.curlrc and resolves the upstream tag through the GitHub API. secrets.GH_TOKEN no longer exists, so that call returned 401 on a request that succeeds anonymously. MAIN_BRANCH still references the dead secret, so this fix has to land here for the branch to build at all.

Verification

Dry run on the feature branch: all 4 rpm platforms green (el/8, el/9, ol/8, ol/9).
Package publishing skipped since current branch is not equal to redhat-hll confirmed in the logs — nothing was uploaded.

⚠️ Merging publishes

on: push: branches: ["**"] with --build_type release, and upload_to_package_cloud.py only skips when current_branch != MAIN_BRANCH. Merging this PR ships hll 2.21.citus-1 to citusdata/community.

Depends on upstream tag v2.21 (exists, GPG signature verifies).

ihalatci-msft and others added 3 commits August 20, 2026 13:52
Bump pkglatest/spec to 2.21.citus-1 and append a 2.21 entry to postgres-matrix.yml so PostgreSQL 19 is built and published.

Exclude PG19 on el/8 and ol/8: no almalinux-8 / oraclelinux-8 pg19 build image is published, only almalinux-9 (used by el/9 and ol/9).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1ed7b58a-0ba9-4f47-a1de-3ee665bae7f2
The build container's fetch_and_build_deb/_rpm scripts write
GITHUB_TOKEN into ~/.curlrc as an Authorization header before
resolving the upstream release tag. secrets.GH_TOKEN no longer
exists, so that header was empty/invalid and api.github.com
returned 401 -- breaking a request that succeeds anonymously.
The tag lookup then yielded null and the build aborted with
"could not determine commit for git tag".

Switch to the actions/create-github-app-token@v3 flow already
used on all-citus, exporting the installation token as both
GH_TOKEN and GITHUB_TOKEN.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1ed7b58a-0ba9-4f47-a1de-3ee665bae7f2
tools v0.8.35 mutates input_output_parameters.output_dir inside
build_packages() and never restores it, so sign_packages() looks under
"{base}/{sub_folder}/{sub_folder}", matches zero packages, and skips
signing silently while the job still reports success. Fixed upstream in
4c862ce, first released in v0.8.36, which all-citus already uses.

Effect here: the produced .deb files regain the per-package dpkg-sig
signature that citus packages already carry. RPM verification was not
affected (packagecloud re-signs RPMs on upload with be79ad6a) and apt
verification was not affected (InRelease is signed by packagecloud), so
this restores defense-in-depth rather than repairing a broken trust path.

The only other runtime change between v0.8.35 and v0.8.36 is an optional
postgres_version argument to build_packages(); it defaults to None and is
not passed by this workflow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1ed7b58a-0ba9-4f47-a1de-3ee665bae7f2
@ihalatci
ibrahim halatci (ihalatci) merged commit 68bd7d4 into redhat-hll Aug 21, 2026
9 checks passed
@ihalatci
ibrahim halatci (ihalatci) deleted the ihalatci-pg19-redhat-hll branch August 21, 2026 06:33
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.

3 participants