citus icon indicating copy to clipboard operation
citus copied to clipboard

Adds Citus compatibility with PG18.0

Open m3hm3t opened this issue 5 months ago • 1 comments

Adds Citus compatibility with PostgreSQL 18.0 by wiring PG18 into the devcontainer, configure checks, and CI matrices.

Summary

  • Build PostgreSQL 18.0 in the devcontainer image via pgenv and stage its artifacts alongside existing PG15–PG17 installs.
  • Switch the default devcontainer PostgreSQL version to 18.0 so local developer workflows exercise PG18 by default.
  • Extend configure / configure.ac version checks to treat PostgreSQL 18 as a supported server version.
  • Update GitHub Actions build_and_test.yml to:
    • Define a pg18_version entry (major: 18, full: 18.0).
    • Add PG18 to all relevant test matrices (check-split, check-multi, regress, enterprise, pytest, CDC installcheck, and query-generator).
    • Include upgrade paths to PG18 (15→18, 16→18, 17→18) in the upgrade-test matrix.
    • Run the flakiness job against the PG18 fail-tester image.
  • Update packaging-test-pipelines.yml so the supported PG version list is derived more robustly from build_and_test.yml (no assumptions about version suffixes).
  • Extend src/test/regress/citus_tests/common.py with the OLDEST_SUPPORTED_CITUS_VERSION mapping for PG18 to keep upgrade tests working.

Testing

  • Devcontainer image builds successfully and pgenv switch 18.0 works inside the container.
  • GitHub Actions:
    • build_and_test.yml matrix includes the new PG18 jobs and they complete successfully.
    • packaging-test-pipelines.yml still discovers the expected set of PostgreSQL versions.

m3hm3t avatar Jul 21 '25 10:07 m3hm3t

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 88.79%. Comparing base (6d15669) to head (7ce775e). :warning: Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8065      +/-   ##
==========================================
+ Coverage   88.74%   88.79%   +0.05%     
==========================================
  Files         287      287              
  Lines       63019    63112      +93     
  Branches     7891     7908      +17     
==========================================
+ Hits        55926    56042     +116     
+ Misses       4777     4745      -32     
- Partials     2316     2325       +9     
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov[bot] avatar Jul 23 '25 12:07 codecov[bot]