Conversation
- Updated pgrx dependency from =0.14.3 to 0.16.0 - Updated pgrx-tests dependency from =0.14.3 to 0.16.0 - Added PostgreSQL 18 support in Cargo.toml features - Updated Rust toolchain to 1.89.0 (meets 1.88.0+ requirement) - Re-initialized pgrx environment with PostgreSQL 18beta2 support - All tests pass successfully with new version - No breaking changes detected in existing codebase Key benefits: - PostgreSQL 18beta2 support - Latest security and bug fixes - Improved performance and stability
- Updated GitHub Actions regression-tests.yml to use correct pgrx 0.16.0 paths - Fixed build and install steps to use version-specific PostgreSQL paths - Updated Makefile TARGET_SHAREDIR and TARGET_PKGLIBDIR for new pgrx structure - Added PostgreSQL startup/cleanup steps in CI workflow - Now correctly copies from target/release/pglinter-pgXX/usr/ paths This fixes the CI error: 'cannot stat target/release/pglinter-pg13//usr/share/postgresql/16/extension/*'
- Updated install target to handle both system and pgrx-managed PostgreSQL paths - Added fallback logic to support different pgrx 0.16.0 behaviors - Made installcheck depend on extension and install targets - Now works with both CI (system PostgreSQL) and local dev (pgrx-managed) This ensures compatibility across different PostgreSQL installation types and pgrx version behaviors.
- Added PostgreSQL compatibility section highlighting pgrx 0.16.0 - Listed supported PostgreSQL versions (13-18beta2) - Updated installation instructions with current requirements - Added Rust 1.88.0+ requirement and cargo-pgrx 0.16.0 - Improved build and install instructions with Makefile usage
- Add pg17 to CI test matrix in GitHub Actions workflow - Include PostgreSQL 17 in test summary reporting - Ensures compatibility testing across PostgreSQL 13-17 - Part of pgrx 0.16.0 upgrade supporting expanded PostgreSQL versions
- Use system PostgreSQL consistently throughout CI workflow - Build extension with system pg_config for proper path structure - Install to system directories with sudo (required for CI) - Start system PostgreSQL service instead of pgrx-managed instances - Remove pgrx start/stop commands that don't work with system PostgreSQL - Ensure database creation and cleanup work with system PostgreSQL Resolves permission denied errors when running regression tests in CI while maintaining compatibility with local pgrx-managed development.
- Add installcheck-ci-only target that skips install and pgrx start/stop - Separates CI workflow from local development workflow - CI assumes PostgreSQL service is already running and extension is installed - Prevents permission errors when trying to install to system directories - Maintains original installcheck target for local development
🐳 Docker Infrastructure:
- Multi-stage Dockerfile supporting PostgreSQL 13-17
- GitHub Container Registry integration (ghcr.io)
- Docker Compose configuration for all PostgreSQL versions
- Automated Docker image builds via GitHub Actions
🚀 New Features:
- Pre-built images: ghcr.io/pmpetit/pglinter:pg{13,14,15,16,17}-latest
- Container initialization script for pglinter extension
- Health checks and proper PostgreSQL startup
- Volume mounting for test files
🧪 Enhanced CI/CD:
- Docker-based regression testing workflow
- Parallel testing across all PostgreSQL versions in containers
- Faster, more reliable CI with consistent environments
- Automatic image building and pushing to registry
�� Documentation:
- Comprehensive Docker README with usage examples
- Makefile targets for Docker operations
- Integration examples for GitHub Actions and development
Benefits:
- Eliminates CI permission issues with containerized testing
- Provides reproducible development environments
- Enables easy distribution and deployment
- Supports all PostgreSQL versions in isolation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Key benefits: