Skip to content

Raise the PostgreSQL floor to 12 and add GitHub Actions CI with update testing - #4

Draft
jnasbyupgrade wants to merge 11 commits into
pgxntool-updatefrom
ci-workflow
Draft

jnasbyupgrade wants to merge 11 commits into
pgxntool-updatefrom
ci-workflow

Conversation

@jnasbyupgrade

@jnasbyupgrade jnasbyupgrade commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Raises the supported PostgreSQL floor to 12 and replaces Travis with GitHub Actions CI. On every supported major, CI tests both a fresh install and the update from 0.2.0.

The floor is 12 because extension_drop pulls in cat_tools, and cat_tools 0.3.0 and newer declare PostgreSQL 12 as their minimum (on 9.6, creating it fails with syntax error at or near "ROUTINE"). This PR raises the PostgreSQL build prereq in META.in.json to 12.0.0, adds a HISTORY.asc entry, and removes the test/deps.sql setup code that only ran before PostgreSQL 10.

Update testing

make test-update (make test TEST_LOAD_SOURCE=update) runs the same suite against the same expected output. Instead of installing the current version, pg_temp._create() in test/deps.sql installs 0.2.0 and runs ALTER EXTENSION "trunklet-format" UPDATE. It creates extension_drop first, as updating from 0.2.0 requires. The mode reaches the tests as a placeholder GUC (trunklet_format.test_load_mode) through PGOPTIONS, and _create() fails if the GUC is missing or holds an unknown value. With the function replacement removed from sql/trunklet-format--0.2.0--stable.sql, make test-update fails.

CI

.github/workflows/ci.yml has three jobs:

  • A changes job that skips the test matrix on docs-only pushes and derives the PostgreSQL major list from NEWEST and FLOOR.
  • A per-major job in the pgxn/pgxn-tools container that runs make verify-results, then make verify-results TEST_LOAD_SOURCE=update.
  • A single all-checks-passed job for branch protection.

Run 40230691469 passes on PostgreSQL 12 through 18, with both test steps green on each major.

Also removes the Travis configuration (.travis.yml, pg-travis-test.sh), which tested only PostgreSQL 9.5 and 9.6, along with test comments that referred to Travis or to PostgreSQL 10.

🤖 Generated with Claude Code

@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 66e69d91-23fb-4000-8ca8-b57e3afc74df

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

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

@jnasbyupgrade
jnasbyupgrade added this pull request to stack #5 October 25, 2026 19:13
@jnasbyupgrade
jnasbyupgrade marked this pull request as draft October 25, 2026 19:16
@jnasbyupgrade jnasbyupgrade changed the title Replace Travis with GitHub Actions CI CI: Replace Travis with GitHub Actions CI Oct 25, 2026
@jnasbyupgrade
jnasbyupgrade removed this pull request from stack #5 October 25, 2026 19:47
jnasbyupgrade and others added 2 commits October 25, 2026 14:47
Adds `.github/workflows/ci.yml`: a changes job that skips the test
matrix on docs-only pushes and derives the supported PostgreSQL major
list from one pair of constants, a per-major test job in the
`pgxn/pgxn-tools` container that runs `make verify-results`, and a
single `all-checks-passed` job for branch protection. Removes the
Travis configuration (`.travis.yml`, `pg-travis-test.sh`), which tested
only PostgreSQL 9.5 and 9.6.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Matches the final trunklet CI workflow: supported range is PostgreSQL 9.5
through 18, with 9.6 and 9.5 listed explicitly because `seq` can't
express them.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jnasbyupgrade
jnasbyupgrade added this pull request to stack #7 October 25, 2026 19:47
extension_drop installs cat_tools >= 0.2.1, which now resolves to
cat_tools 0.3.0; that release requires PostgreSQL 12 and fails to install
on older majors. Set the PostgreSQL build prereq to 12.0.0, make the CI
matrix a plain range from NEWEST down to FLOOR=12, and drop the test
setup code that only ran before PostgreSQL 10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jnasbyupgrade and others added 3 commits October 25, 2026 15:11
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`make test-update` (TEST_LOAD_SOURCE=update) runs the same suite with
the same expected output, but pg_temp._create() installs 0.2.0 and
runs ALTER EXTENSION UPDATE instead of installing the current version.
It creates extension_drop first, since 0.2.0 did not require it. CI
runs it as a second step in each test job.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jnasbyupgrade jnasbyupgrade changed the title CI: Replace Travis with GitHub Actions CI Raise the PostgreSQL floor to 12 and add GitHub Actions CI with update testing Oct 25, 2026
jnasbyupgrade and others added 5 commits October 25, 2026 15:15
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant