Skip to content

PG19: enable PG19beta1 test matrices in CI#8616

Merged
ihalatci merged 1 commit into
pg19-supportfrom
pg19-ci-test-matrices
Jun 18, 2026
Merged

PG19: enable PG19beta1 test matrices in CI#8616
ihalatci merged 1 commit into
pg19-supportfrom
pg19-ci-test-matrices

Conversation

@ihalatci

Copy link
Copy Markdown
Contributor

Turns on the PG19beta1 columns across the downstream Build & Test
matrices now that the build job already proves PG19 compiles under
-Werror and the ruleutils port (#8602) lands the runtime/regress
fixes those suites depend on.

Changes (.github/workflows/build_and_test.yml)

  • test-citus, test-citus-failure, test-citus-cdc: add
    pg19_version to the pg_versions array.
  • test-arbitrary-configs: add pg19_version to matrix.pg_version.
  • test-pg-upgrade: add the 18 -> 19 and 16 -> 19 upgrade pairs
    (adjacent + oldest -> newest, consistent with the existing
    16->17 / 17->18 / 16->18 set).
  • params: bump pg19_version / upgrade_pg_versions from 19devel
    to 19beta1, and point image_suffix at the PG19beta1-enabled
    the-process images (-dev-33b3cf5, built from
    Add PG19 (19beta1) and bump PG minors via apt the-process#222).

Deliberately not changed

  • test-citus-upgrade stays at PG16/PG17 — no released Citus binary
    supports PG19, so there is nothing to upgrade from.

Dependencies

Closes #8615
Part of #8597

@codecov

codecov Bot commented Jun 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (pg19-support@34fb255). Learn more about missing BASE report.

Additional details and impacted files
@@               Coverage Diff               @@
##             pg19-support    #8616   +/-   ##
===============================================
  Coverage                ?   88.80%           
===============================================
  Files                   ?      288           
  Lines                   ?    64364           
  Branches                ?     8093           
===============================================
  Hits                    ?    57161           
  Misses                  ?     4872           
  Partials                ?     2331           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Enable PG19beta1 across the downstream test matrices now that the build
job proves it compiles:

- test-citus, test-citus-failure, test-citus-cdc: add pg19_version
- test-arbitrary-configs: add pg19_version to the matrix
- test-pg-upgrade: add 18->19 and 16->19 upgrade pairs
- params: bump pg19_version/upgrade_pg_versions 19devel -> 19beta1
- params: point image_suffix at the PG19beta1 the-process images
  (-dev-33b3cf5, built from citusdata/the-process#222)

test-citus-upgrade is left at PG16/PG17 (no released Citus supports PG19).

Closes #8615
@ihalatci ihalatci force-pushed the pg19-ci-test-matrices branch from ad4ccab to 2a197c5 Compare June 16, 2026 12:15
@onurctirtir onurctirtir self-requested a review June 18, 2026 07:19
@ihalatci ihalatci merged commit 87fe895 into pg19-support Jun 18, 2026
127 of 166 checks passed
@ihalatci ihalatci deleted the pg19-ci-test-matrices branch June 18, 2026 07:41
ihalatci added a commit that referenced this pull request Jun 18, 2026
Stacked PR (PR2 of the PG19 stack). **Base = `pg19-ci-test-matrices`
(#8616)**, which is itself stacked on `pg19-ruleutils-port` (#8602) →
`pg19-support`. Review/merge in stack order.

Fixes two PG19 runtime crashes that surface in normal Citus operation
(outside the regression suite):

1. **`FuncnameGetCandidates()`** gained an `int *fgc_flags`
out-parameter that the callee writes to unconditionally. The compat shim
passed `NULL` and crashed on every by-name function lookup (e.g. the
maintenance daemon). Now passes the address of an int compound literal.
2. **`TupleDesc->firstNonCachedOffsetAttr`**: PG19 added an offset cache
that `BlessTupleDesc()` / `slot_deform_heap_tuple()` now assert is
populated but no longer populate themselves. `BlessTupleDesc` is wrapped
to call `TupleDescFinalize()` first (no-op shim on older majors), with
explicit calls added at the four sites that deform hand-built
TupleDescs.

Also installs `ApplicationNameAssignHook` via union access on PG19.

Closes #8610
Part of #8597
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.

PG19: CI test automation — enable PG19 test matrices (test-citus, -failure, -cdc, arbitrary-configs, pg-upgrade)

2 participants