Add PostgreSQL compatibility matrix CI workflow
Some checks failed
PostgreSQL Compatibility Matrix / PG14 smoke (push) Has been cancelled
PostgreSQL Compatibility Matrix / PG15 smoke (push) Has been cancelled
PostgreSQL Compatibility Matrix / PG16 smoke (push) Has been cancelled
PostgreSQL Compatibility Matrix / PG17 smoke (push) Has been cancelled
PostgreSQL Compatibility Matrix / PG18 smoke (push) Has been cancelled

Introduced a GitHub Actions workflow to verify compatibility with PostgreSQL versions 14 through 18. Implemented a smoke test script to check core database metrics and version-specific differences. Updated the README with details about the compatibility matrix and usage instructions for the script.
This commit is contained in:
2026-02-12 14:20:27 +01:00
parent 528a720329
commit 9eb94545a1
3 changed files with 205 additions and 0 deletions

47
.github/workflows/pg-compat-matrix.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
name: PostgreSQL Compatibility Matrix
on:
push:
branches: ["main", "master"]
pull_request:
jobs:
pg-compat:
name: PG${{ matrix.pg_version }} smoke
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
pg_version: ["14", "15", "16", "17", "18"]
services:
postgres:
image: postgres:${{ matrix.pg_version }}
env:
POSTGRES_DB: compatdb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres -d compatdb"
--health-interval 5s
--health-timeout 5s
--health-retries 20
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install backend dependencies
run: pip install -r backend/requirements.txt
- name: Run PostgreSQL compatibility smoke checks
env:
PG_DSN: postgresql://postgres:postgres@127.0.0.1:5432/compatdb?sslmode=disable
run: python backend/scripts/pg_compat_smoke.py