Add BRATS matrix tests for postgres-release versions 15/16/17/18#2779
Add BRATS matrix tests for postgres-release versions 15/16/17/18#2779ZPascal wants to merge 2 commits into
Conversation
- Add brats-postgres-{15,16,17,18} Concourse jobs
- Replace unit-director-postgres-13 with unit-director-postgres-17
- Replace build-main-postgres-13 with build-main-postgres-17
- Add integration-postgres-17-image resource
- Expose PG_VERSION env var to unit/integration tasks
- Add postgres_release_test.go matrix BRATS test file
- Add postgres-release-manifest.yml BRATS asset
- Update BRATS manifests to use databases.* properties
- Read PG_VERSION from env in postgres_version_helper.rb
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughUpdates PostgreSQL deployment manifests and adds a parameterized release manifest with BRATS coverage for deployment and upgrades across versions 15–18. PostgreSQL version validation now uses Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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.
Actionable comments posted: 5
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ci/dockerfiles/main-postgres/Dockerfile`:
- Line 21: Update the PostgreSQL configuration edit in the Dockerfile to first
verify that the versioned postgresql.conf file exists, while allowing the build
to skip the edit when it is absent. Remove the unconditional “|| true” so sed
failures such as permission or filesystem errors terminate the image build.
In `@ci/pipeline.yml`:
- Line 212: Update the affected flow-sequence values in the pipeline
configuration, including serial_groups entries, to remove spaces immediately
inside the brackets; preserve the existing sequence contents and formatting
elsewhere.
- Around line 28-31: Update the delivery job’s bosh input passed list to include
brats-postgres-15, brats-postgres-16, brats-postgres-17, and brats-postgres-18
alongside brats-acceptance, ensuring delivery waits for all PostgreSQL matrix
jobs to pass.
In `@src/brats/acceptance/postgres_release_test.go`:
- Around line 24-63: Update the PostgreSQL acceptance test’s DescribeTable
entries in src/brats/acceptance/postgres_release_test.go (lines 24-63) so
PG_VERSION selects only its corresponding version, or make each entry
independently focusable. Align the four CI jobs in ci/pipeline.yml (lines
685-816) with that selection so each job runs its intended PostgreSQL version;
otherwise consolidate them into one job that runs the complete table.
In `@src/spec/integration_support/postgres_version_helper.rb`:
- Around line 26-29: Update configured_version in
src/spec/integration_support/postgres_version_helper.rb to preserve a reliable
fallback or otherwise ensure callers provide PG_VERSION; add PG_VERSION: "15" to
the integration-postgres environment in ci/pipeline.yml at line 321 and to
integration-postgres-hotswap at line 351.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: f1ffedd3-5c89-4c1c-aae9-e9f1e11241c4
📒 Files selected for processing (7)
ci/dockerfiles/main-postgres/Dockerfileci/pipeline.ymlsrc/brats/acceptance/postgres_release_test.gosrc/brats/assets/postgres-13-manifest.ymlsrc/brats/assets/postgres-manifest.ymlsrc/brats/assets/postgres-release-manifest.ymlsrc/spec/integration_support/postgres_version_helper.rb
- Dockerfile: replace '|| true' with explicit file-existence check
- pipeline.yml: add brats-postgres-{15,16,17,18} to delivery job passed list
- pipeline.yml: add PG_VERSION to integration-postgres and integration-postgres-hotswap
- postgres_release_test.go: filter DescribeTable entries by PG_VERSION env var
Skipped: YAML bracket spacing — existing codebase uses '[ name ]' style
throughout; changing only new entries would be inconsistent.
Summary
Wires up CI to test the bosh director against `cloudfoundry/postgres-release` versions 15, 16, 17, and 18.
Related PRs
This is one of three independent PRs split from the original postgres-release migration:
Test plan