Repository navigation
Raise the PostgreSQL floor to 12 and add GitHub Actions CI with update testing - #4
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
fa35b1d to
e2486ed
Compare
e2486ed to
789b597
Compare
789b597 to
7f24f9b
Compare
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>
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>
`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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
b5a63e8 to
ae26503
Compare
| ) specifier_test | ||
| ; | ||
| -- This is meant to ensure the DETAIL is correct, but it doesn't work on travis :( | ||
| -- Disabled check that the DETAIL is correct |
There was a problem hiding this comment.
Uh... can we actually test this now?
There was a problem hiding this comment.
Claude here: flagged for review.
There was a problem hiding this comment.
Claude here: re-enabled both DETAIL checks as pgTAP assertions in a9f969f. A pg_temp helper captures the exception DETAIL and is() compares it to parameter "<name>" at template position <N> for all three templates; they all pass.
Replace the commented-out psql-based DETAIL checks in base.sql with a pg_temp helper that captures PG_EXCEPTION_DETAIL, asserted with is(). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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 inMETA.in.jsonto 12.0.0, adds aHISTORY.ascentry, and removes thetest/deps.sqlsetup 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()intest/deps.sqlinstalls 0.2.0 and runsALTER 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) throughPGOPTIONS, and_create()fails if the GUC is missing or holds an unknown value. With the function replacement removed fromsql/trunklet-format--0.2.0--stable.sql,make test-updatefails.CI
.github/workflows/ci.ymlhas three jobs:NEWESTandFLOOR.pgxn/pgxn-toolscontainer that runsmake verify-results, thenmake verify-results TEST_LOAD_SOURCE=update.all-checks-passedjob for branch protection.Run 40407837451 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. The DETAIL checks intest/sql/base.sqlthat were disabled because they did not work on Travis are re-enabled as pgTAP assertions.🤖 Generated with Claude Code