Skip to content

Comments

Expand test coverage on python 313/314 and pg 16/17/18#51

Merged
altaurog merged 1 commit intoaltaurog:masterfrom
loganwang007:expand-python-pg-support
Nov 22, 2025
Merged

Expand test coverage on python 313/314 and pg 16/17/18#51
altaurog merged 1 commit intoaltaurog:masterfrom
loganwang007:expand-python-pg-support

Conversation

@loganwang007
Copy link
Contributor

🧪 Enhance Test Coverage for Latest Python and PostgreSQL Versions

Summary

This PR expands the test matrix to ensure compatibility with the latest Python and PostgreSQL releases, providing better coverage and future-proofing the library.

What's Changed

Python Version Support

  • ✅ Added Python 3.13 support
  • ✅ Added Python 3.14 support

The test suite now validates compatibility across Python versions:

  • Python 3.8, 3.9, 3.10, 3.11, 3.12 (existing)
  • Python 3.13 (new)
  • Python 3.14 (new)

PostgreSQL Version Support

  • ✅ Added PostgreSQL 16 support
  • ✅ Added PostgreSQL 17 support
  • ✅ Added PostgreSQL 18 support

The test suite now validates compatibility across PostgreSQL versions:

  • PostgreSQL 12, 13, 14, 15 (existing)
  • PostgreSQL 16 (new)
  • PostgreSQL 17 (new)
  • PostgreSQL 18 (new)

Test Infrastructure Updates

1. Tox Configuration (tox.ini)

  • Expanded Python test environments: py{38,39,310,311,312,313,314}
  • Added PostgreSQL test matrix: py310-pg{12,13,14,15,16,17,18}
  • Configured Docker images for PostgreSQL 16, 17, and 18
  • All PostgreSQL versions tested with Python 3.10 as baseline

2. CI/CD Workflows

Linux Testing (.github/workflows/linux.yaml)

  • Python matrix now includes 3.13 and 3.14
  • PostgreSQL matrix includes all versions from 12 through 18
  • Tests run on every pull request and push to master

macOS Testing (.github/workflows/macos.yaml)

  • Updated to test against postgresql@16, postgresql@17, postgresql@18
  • Uses Homebrew for PostgreSQL installation
  • Runs on macos-14 for ARM compatibility

3. Package Metadata (setup.py)

  • Added classifiers for Python 3.13 and 3.14
  • Documents official support for the latest Python releases

Testing Strategy

The enhanced test matrix provides comprehensive coverage through:

  1. Cross-version Python testing: All supported Python versions tested against default PostgreSQL 16
  2. Cross-version PostgreSQL testing: All PostgreSQL versions tested with Python 3.10
  3. Platform diversity: Both Linux (Ubuntu) and macOS testing
  4. Contrib modules: Vector extension support validated
  5. Backward compatibility: Maintained support for older Python and PostgreSQL versions

Verification

All test environments pass successfully via:
tox

@loganwang007 loganwang007 force-pushed the expand-python-pg-support branch from 2319cb6 to 8388863 Compare November 22, 2025 12:34
@altaurog altaurog merged commit 8388863 into altaurog:master Nov 22, 2025
23 checks passed
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