Skip to content

ci: add a dedicated pg_tle test job#47

Draft
jnasbyupgrade wants to merge 1 commit into
Postgres-Extensions:masterfrom
jnasbyupgrade:ci/add-pg-tle-testing
Draft

ci: add a dedicated pg_tle test job#47
jnasbyupgrade wants to merge 1 commit into
Postgres-Extensions:masterfrom
jnasbyupgrade:ci/add-pg-tle-testing

Conversation

@jnasbyupgrade

Copy link
Copy Markdown
Contributor

There was no CI coverage for cat_tools' pgxntool-generated pg_tle (Trusted Language Extensions) deployment path, so a regression there (e.g. in the generated registration SQL) could ship unnoticed. This adds a pg-tle-test job that builds pg_tle from source, registers cat_tools with it via make run-pgtle, and verifies the extension installs and works correctly with no filesystem control file present -- i.e. purely through pg_tle's database-backed registration.

The job always runs on its own freshly-started cluster, never shared with the other jobs in this workflow: pg_tle requires shared_preload_libraries and mixing pg_tle/non-pg_tle extension installs on one cluster can misbehave.

The matrix covers PG 12-18, matching pg_tle 1.5.2's supported range per pgxntool/pgtle_versions.md (PG10/11 predate pg_tle support).

This intentionally stops at a smoke test rather than running the full pg_regress/pgTap suite through pg_tle: pg_regress always creates its test database from the pristine template0, so any pre-registration done in another database (e.g. postgres or template1) is invisible to it. Routing the full suite through pg_tle would require adding registration SQL into test/install/*.sql, which runs inside every job's pg_regress invocation (not just this one) and would need conditional logic to avoid affecting the other, non-pg_tle jobs -- more invasive than this task calls for.

Verification

Locally verified end-to-end against a scratch PostgreSQL 16 cluster in an isolated container (built pg_tle 1.5.2 from source, registered cat_tools via make run-pgtle, confirmed CREATE EXTENSION cat_tools succeeds with zero filesystem trace, and confirmed a real query against cat_tools.pg_class_v returns data) before pushing this branch. CI is still pending -- especially interested to see whether all of PG 12-18 build/pass cleanly, since some versions may need to be dropped from the matrix (that's fine per the task).

Test plan

  • CI green on the new pg-tle-test job across the PG 12-18 matrix (or matrix adjusted down if some versions don't support pg_tle 1.5.2 cleanly)
  • Other existing jobs unaffected

@coderabbitai

coderabbitai Bot commented Jul 21, 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

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: e6654e6e-9638-4cf7-ac2a-b3e13e666a58

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
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

There was no CI coverage for cat_tools' pgxntool-generated pg_tle
(Trusted Language Extensions) deployment path, so a regression there
(e.g. in the generated registration SQL) could ship unnoticed. This
adds a pg-tle-test job that builds pg_tle from source, registers
cat_tools with it via `make run-pgtle`, and verifies the extension
installs and works correctly with no filesystem control file present
-- i.e. purely through pg_tle's database-backed registration.

The job always runs on its own freshly-started cluster, never shared
with the other jobs in this workflow: pg_tle requires
shared_preload_libraries and mixing pg_tle/non-pg_tle extension
installs on one cluster can misbehave.

The matrix covers PG 12-18, matching pg_tle 1.5.2's supported range
per pgxntool/pgtle_versions.md (PG10/11 predate pg_tle support).

This intentionally stops at a smoke test rather than running the full
pg_regress/pgTap suite through pg_tle: pg_regress always creates its
test database from the pristine template0, so any pre-registration
done in another database (e.g. postgres or template1) is invisible to
it. Routing the full suite through pg_tle would require adding
registration SQL into test/install/*.sql, which runs inside every
job's pg_regress invocation (not just this one) and would need
conditional logic to avoid affecting the other, non-pg_tle jobs --
more invasive than this task calls for.
@jnasbyupgrade
jnasbyupgrade force-pushed the ci/add-pg-tle-testing branch from 6683795 to e1e0722 Compare July 21, 2026 22:54
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