Skip to content

test: pull latest minors and add the PostgreSQL 19 prerelease to the matrix #30#31

Merged
nik-sta merged 2 commits into
mainfrom
test/30-latest-minors-and-pg19
Jul 20, 2026
Merged

test: pull latest minors and add the PostgreSQL 19 prerelease to the matrix #30#31
nik-sta merged 2 commits into
mainfrom
test/30-latest-minors-and-pg19

Conversation

@nik-sta

@nik-sta nik-sta commented Jul 13, 2026

Copy link
Copy Markdown
Member

Summary

Keeps the multi-version test suite honest about "latest minor of every major" and extends it to the PostgreSQL 19 prerelease:

  • run_tests.sh now pulls the image before each version run (native first, amd64 fallback); when the pull fails (offline), it falls back to the local cache with a note. A stale local cache had been silently testing 14.20 and 16.13 while 14.23 and 16.14 were the released latest minors (checked against the PostgreSQL release archive on 2026-07-14).
  • The default matrix gains 19beta1 (PostgreSQL 19 Beta 1, released 2026-06-04, official postgres:19beta1-alpine image). The inline comment says to bump the prerelease as new betas/RCs land and to replace it with plain 19 at GA.
  • The README test section documents both behaviors.

The documented PostgreSQL 9.6 minimum was re-verified as part of this work and stays: installation on 9.5.25 fails with syntax error at or near "PARALLEL" (the PARALLEL clause of CREATE FUNCTION exists since 9.6), and the suite passes on 9.6.24.

Verification

  • bash -n passes
  • dev/test/run_tests.sh 9.6 14 19beta1 passes: 14 now reports server 14.23 (freshly pulled latest minor instead of the stale cached 14.20), 9.6 exercises the amd64 pull fallback, and the current nanoid.sql passes the full unit and regression suites on 19beta1

Note

Expect a small textual conflict with #26 in run_tests.sh and the README test section (the upgrade-path test stage added there touches adjacent lines); whichever lands second gets rebased as part of the usual stack maintenance.

Closes #30

Summary by CodeRabbit

  • Tests
    • Expanded PostgreSQL compatibility testing to include versions 9.6 through 19 prerelease.
    • Tests now pull the latest minor release for each major version when available.
    • Added offline support by falling back to locally cached Docker images when pulls fail.
    • Updated documentation and test instructions to reflect the broader test matrix.

…matrix #30

Images are now pulled before each version run (native first, amd64
fallback, offline falls back to the local cache with a note), so a stale
Docker cache can no longer masquerade as the latest minor; a stale cache
had been testing 14.20 and 16.13 while 14.23 and 16.14 were released.
Adds 19beta1 to the default matrix to catch breakage before 19 GA.
@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 24 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 315cba08-b703-4ee1-a3d4-eebe1758cfab

📥 Commits

Reviewing files that changed from the base of the PR and between fdeac42 and bf53e71.

📒 Files selected for processing (2)
  • README.md
  • dev/test/run_tests.sh
📝 Walkthrough

Walkthrough

The PostgreSQL test matrix now includes 19beta1, documents coverage from 9.6 through 19beta1, pulls images before each run, and falls back to locally cached images when pulls fail.

Changes

PostgreSQL compatibility test matrix

Layer / File(s) Summary
Expand the supported PostgreSQL matrix
dev/test/run_tests.sh, README.md
The default test versions and README instructions now include PostgreSQL 19beta1 alongside versions 9.6 through 18.
Refresh Docker images before testing
dev/test/run_tests.sh
Each run attempts native and linux/amd64 image pulls, then uses the local cached image if pulling fails.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: refreshing the test matrix with latest minors and PostgreSQL 19 beta.
Linked Issues check ✅ Passed The changes satisfy #30 by pulling images before each run, adding 19beta1, documenting both behaviors, and validating the suite.
Out of Scope Changes check ✅ Passed The modified files stay focused on the test-matrix update and README docs, with no evident unrelated additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test/30-latest-minors-and-pg19

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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 `@dev/test/run_tests.sh`:
- Around line 55-61: Update the image-pull logic in run_tests.sh so cached-image
fallback occurs only for explicit offline or connectivity failures. Capture and
inspect the docker pull error, fail the version with the error surfaced for bad
tags, authentication failures, and other non-connectivity errors, and prevent
docker run from using a stale local image in those cases.
🪄 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: CHILL

Plan: Pro

Run ID: f3e80231-b5d6-434b-b88a-98c0a81e9834

📥 Commits

Reviewing files that changed from the base of the PR and between 131cc7a and fdeac42.

📒 Files selected for processing (2)
  • README.md
  • dev/test/run_tests.sh

Comment thread dev/test/run_tests.sh Outdated
@nik-sta nik-sta added the maintenance Repository housekeeping and chores label Jul 14, 2026


A pull failure now fails that PostgreSQL version by default and surfaces the docker error, so a bad tag, auth error, or rate limit cannot silently fall back to a possibly stale cached image. Set NANOID_TEST_OFFLINE=1 to allow the local image cache for deliberately offline runs. README and script-header docs updated to match. Addresses CodeRabbit review feedback on PR #31.
@nik-sta
nik-sta merged commit 0027964 into main Jul 20, 2026
1 check passed
@nik-sta
nik-sta deleted the test/30-latest-minors-and-pg19 branch July 20, 2026 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Repository housekeeping and chores

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Test against the latest minor releases and the PostgreSQL 19 prerelease

1 participant