-
-
Notifications
You must be signed in to change notification settings - Fork 55
chore: run the project on PostgreSQL 18 #463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughUpdated CI, local development, Docker, and docs to target PostgreSQL 18 and PostGIS 3.6: CI matrix include/exclude entries adjusted, PostGIS service images switched to alpine variant, Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Dev as Developer/CI config
participant CI as GitHub Actions
participant Matrix as Job Matrix
participant PG as PostGIS Service (Docker)
Note right of Matrix #DDEEFF: matrix expands combos\n(php, pg, postgis)
Dev->>CI: push workflow
CI->>Matrix: expand jobs
Matrix->>PG: select image tag (postgis:${POSTGRES_VERSION}-${POSTGIS_VERSION}-alpine)
PG-->>CI: service ready (healthcheck)
CI->>CI: run tests (coverage enabled for include entry)
alt incompatible combo
CI->>CI: skip via exclude rules
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
tests/Integration/README.md (1)
24-24: Update the Docker command example to reflect the new default versions.Line 24 shows an outdated Docker command example (
postgis/postgis:17-3.4). Since the project now defaults to PostgreSQL 18 with PostGIS 3.6, update this example to reflect the current versions for consistency with the documentation updated on line 69.-docker run --name postgres-doctrine-test -e POSTGRES_PASSWORD=postgres -e POSTGRES_USER=postgres -e POSTGRES_DB=postgres_doctrine_test -p 5432:5432 -d postgis/postgis:17-3.4 +docker run --name postgres-doctrine-test -e POSTGRES_PASSWORD=postgres -e POSTGRES_USER=postgres -e POSTGRES_DB=postgres_doctrine_test -p 5432:5432 -d postgis/postgis:18-3.6
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
.github/workflows/integration-tests.yml(1 hunks)docker-compose.yml(1 hunks)docs/CONTRIBUTING.md(2 hunks)tests/Integration/README.md(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- .github/workflows/integration-tests.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
- GitHub Check: PHP 8.2 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
- GitHub Check: PHP 8.1 + Doctrine ORM 3.0 + Doctrine Lexer latest
- GitHub Check: PHP 8.1 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
- GitHub Check: PostgreSQL 17 + PostGIS 3.5 + PHP 8.4
- GitHub Check: PostgreSQL 16 + PostGIS 3.4 + PHP 8.4
- GitHub Check: PostgreSQL 17 + PostGIS 3.4 + PHP 8.4
- GitHub Check: PostgreSQL 17 + PostGIS 3.5 + PHP 8.3
- GitHub Check: PostgreSQL 16 + PostGIS 3.5 + PHP 8.4
- GitHub Check: PostgreSQL 16 + PostGIS 3.5 + PHP 8.3
- GitHub Check: PostgreSQL 17 + PostGIS 3.4 + PHP 8.3
- GitHub Check: PostgreSQL 16 + PostGIS 3.5 + PHP 8.2
- GitHub Check: PostgreSQL 16 + PostGIS 3.4 + PHP 8.2
- GitHub Check: PostgreSQL 16 + PostGIS 3.4 + PHP 8.1
- GitHub Check: PostgreSQL 17 + PostGIS 3.5 + PHP 8.2
- GitHub Check: PostgreSQL 16 + PostGIS 3.4 + PHP 8.3
- GitHub Check: PostgreSQL 17 + PostGIS 3.5 + PHP 8.1
- GitHub Check: PostgreSQL 17 + PostGIS 3.4 + PHP 8.2
- GitHub Check: PostgreSQL 16 + PostGIS 3.5 + PHP 8.1
- GitHub Check: PostgreSQL 17 + PostGIS 3.4 + PHP 8.1
- GitHub Check: wait-for-tests-worflows-before-upload
🔇 Additional comments (4)
tests/Integration/README.md (1)
69-69: Documentation accurately reflects PostgreSQL 18 support.The update on line 69 correctly documents the expanded CI test matrix to include PostgreSQL 18 alongside PostgreSQL 16 and 17 with PostGIS support.
docker-compose.yml (1)
3-3: Environment-driven defaults appropriately updated.The Docker image reference now defaults to PostgreSQL 18 with PostGIS 3.6, with both versions parameterized via environment variables. This maintains flexibility for local development overrides while establishing sensible defaults aligned with the project's new baseline.
docs/CONTRIBUTING.md (2)
118-118: Environment documentation correctly updated.Line 120 now accurately specifies PostgreSQL 18 with PostGIS 3.6, properly reflecting the updated development environment baseline.
Also applies to: 120-120
131-131: Example customization documentation is clear.The
devenv.local.nixexample on line 131 clearly demonstrates how to override the PHP version in local development, maintaining consistency with the environment setup guidance.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/integration-tests.yml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (16)
- GitHub Check: PostgreSQL 16 + PostGIS 3.4 + PHP 8.4
- GitHub Check: PostgreSQL 16 + PostGIS 3.4 + PHP 8.1
- GitHub Check: PostgreSQL 17 + PostGIS 3.6 + PHP 8.1
- GitHub Check: PostgreSQL 16 + PostGIS 3.4 + PHP 8.3
- GitHub Check: PostgreSQL 17 + PostGIS 3.4 + PHP 8.1
- GitHub Check: PHP 8.3 + Doctrine ORM latest + Doctrine Lexer 3.0
- GitHub Check: PHP 8.4 + Doctrine ORM latest + Doctrine Lexer latest
- GitHub Check: PHP 8.4 + Doctrine ORM latest + Doctrine Lexer 2.1
- GitHub Check: PHP 8.4 + Doctrine ORM 2.18 + Doctrine Lexer 2.1
- GitHub Check: PHP 8.3 + Doctrine ORM 2.18 + Doctrine Lexer latest
- GitHub Check: PHP 8.3 + Doctrine ORM 3.0 + Doctrine Lexer latest
- GitHub Check: PHP 8.3 + Doctrine ORM 2.14 + Doctrine Lexer 2.1
- GitHub Check: PHP 8.2 + Doctrine ORM latest + Doctrine Lexer latest
- GitHub Check: PHP 8.3 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
- GitHub Check: PHP 8.1 + Doctrine ORM latest + Doctrine Lexer 2.1
- GitHub Check: wait-for-tests-worflows-before-upload
🔇 Additional comments (1)
.github/workflows/integration-tests.yml (1)
54-59: Intentional include entry for coverage—well done.The include entry duplicates the PHP 8.4 + PostgreSQL 18 + PostGIS 3.6 combination from the matrix but adds the
calculate-code-coverage: trueflag. This is the intended best practice: targeting the latest stable combination for code coverage, ensuring consistent measurement across releases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/integration-tests.yml (1)
42-59: Matrix and exclusion rules are well-structured; alpine variant exclusions are correctly documented.The matrix expansion to PostgreSQL 18, PostGIS 3.6, and PHP 8.4 is clear, and the exclude rules correctly restrict to available alpine image combinations (as confirmed by CI). The include rule appropriately targets the latest stable combination for code coverage.
One minor suggestion: add an inline comment for PostgreSQL 17 to explicitly note that all PostGIS versions (3.4, 3.5, 3.6) are available, which would improve clarity and prevent future confusion about why no exclusions exist for that PostgreSQL version.
Proposed comment enhancement:
exclude: # PostgreSQL 16: Docker images support only for PostGIS 3.4, 3.5 - postgres: '16' postgis: '3.6' + # PostgreSQL 17: Docker images support all PostGIS versions (3.4, 3.5, 3.6) # PostgreSQL 18: Docker images support only for PostGIS 3.6 - postgres: '18' postgis: '3.4' - postgres: '18' postgis: '3.5'
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/integration-tests.yml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (19)
- GitHub Check: PostgreSQL 16 + PostGIS 3.5 + PHP 8.4
- GitHub Check: PostgreSQL 17 + PostGIS 3.5 + PHP 8.4
- GitHub Check: PostgreSQL 17 + PostGIS 3.4 + PHP 8.4
- GitHub Check: PostgreSQL 18 + PostGIS 3.6 + PHP 8.2
- GitHub Check: PostgreSQL 18 + PostGIS 3.6 + PHP 8.3
- GitHub Check: PostgreSQL 17 + PostGIS 3.6 + PHP 8.2
- GitHub Check: PostgreSQL 16 + PostGIS 3.5 + PHP 8.3
- GitHub Check: PostgreSQL 16 + PostGIS 3.5 + PHP 8.1
- GitHub Check: PostgreSQL 17 + PostGIS 3.6 + PHP 8.1
- GitHub Check: PostgreSQL 17 + PostGIS 3.4 + PHP 8.1
- GitHub Check: PHP 8.4 + Doctrine ORM latest + Doctrine Lexer 2.1
- GitHub Check: PHP 8.3 + Doctrine ORM latest + Doctrine Lexer 3.0
- GitHub Check: PHP 8.2 + Doctrine ORM latest + Doctrine Lexer latest
- GitHub Check: PHP 8.3 + Doctrine ORM 3.0 + Doctrine Lexer 3.0
- GitHub Check: PHP 8.3 + Doctrine ORM 2.18 + Doctrine Lexer 3.0
- GitHub Check: PHP 8.2 + Doctrine ORM 2.14 + Doctrine Lexer latest
- GitHub Check: PHP 8.1 + Doctrine ORM latest + Doctrine Lexer 3.0
- GitHub Check: sloth
- GitHub Check: wait-for-tests-worflows-before-upload
🔇 Additional comments (1)
.github/workflows/integration-tests.yml (1)
63-63: Alpine variant switch is appropriate and reduces image footprint.The switch to alpine variant images (line 63) aligns with best practices for CI workflows, reducing both pull time and attack surface. The CI execution confirms compatibility across all non-excluded matrix combinations.
Summary by CodeRabbit
Chores
Documentation