Skip to content

CI: reformat Test strategy comment, document pg-tle-test/pg-tle-upgrade-test - #77

Merged
jnasbyupgrade merged 2 commits into
Postgres-Extensions:masterfrom
jnasbyupgrade:docs-test-strategy-format
Aug 3, 2026
Merged

CI: reformat Test strategy comment, document pg-tle-test/pg-tle-upgrade-test#77
jnasbyupgrade merged 2 commits into
Postgres-Extensions:masterfrom
jnasbyupgrade:docs-test-strategy-format

Conversation

@jnasbyupgrade

Copy link
Copy Markdown
Contributor

The "Test strategy" summary comment listed job names in a manually space-padded "name -- description" column, which read like a Makefile target list or a formatted spec table rather than a plain comment. Restructured each entry as a small heading (the job name alone, minimally indented) with its description as ordinary wrapped prose underneath -- same content, no alignment bookkeeping.

Also documented pg-tle-test and pg-tle-upgrade-test, which this summary never mentioned even though both jobs already exist (added in PR #47) -- and trimmed wordiness in the test job's own step comment (the verify-results explanation).

What changed

  • Reformatted every entry in the "Test strategy" comment block from an aligned name -- description table to a heading + wrapped-prose layout.
  • Added pg-tle-test/pg-tle-upgrade-test entries, previously undocumented here.
  • Trimmed the test job step's verify-results comment for wordiness.
  • Comment-only: no job, matrix, or CI-behavior change. Confirmed by inspecting the diff directly -- every added/changed line is a #-prefixed comment.

Sequencing note

This is being landed ahead of a separate, purely functional PR (folding extension-update-test's PG12+ leg into the test job) specifically so that PR's own diff stays clean and doesn't fight with this comment rewrite -- see that PR for the actual behavioral change. Please merge this one first.

Test plan

  • Confirmed every changed line is a comment (git diff | grep '^+' , all #-prefixed)
  • make lint clean
  • CI green (no behavior change, so nothing should differ from master's baseline run)

…le-upgrade-test

The "Test strategy" summary listed job names in a manually space-padded
"name -- description" column, which read like a Makefile target list or a
formatted spec table rather than a plain comment. Restructured each entry
as a small heading (the job name alone, minimally indented) with its
description as ordinary wrapped prose underneath.

Also documented pg-tle-test and pg-tle-upgrade-test, which this summary
never mentioned even though both jobs already exist (added in PR Postgres-Extensions#47) --
and trimmed wordiness in the `test` job's own step comment.

Comment-only: no job, matrix, or CI-behavior change.
@coderabbitai

coderabbitai Bot commented Aug 3, 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: 0c0a86c3-9f89-4a3c-aee8-cc687834d1de

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

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.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude finished @jnasbyupgrade's task in 1m 22s —— View job


Claude finished reviewing PR #77

Review

Verified the reformatted "Test strategy" block against the actual job definitions further down the file — the heading + prose content for test, pg-upgrade-test, pg-upgrade-stepwise, extension-update-test, pg-tle-test, and pg-tle-upgrade-test all accurately describe what each job does, and the reordering now matches the jobs' actual definition order in the file (a nice side-effect of the rewrite, not just the heading/prose change). The trimmed verify-results step comment still preserves the essential "why" (declared on $(TEST_DEPS), not test, so an early non-zero exit from test's own recipe can't abort the chain before verify-results inspects the diff). Confirmed via git diff origin/master...HEAD that every changed line is indeed a #-prefixed comment — no behavior change.

One process finding: per this repo's own CLAUDE.md — "Prefix with CI: " any commit/PR subject whose change affects ONLY CI (workflow files, CI-only scripts) and does not touch the main test suite/build — this PR's change is entirely comments inside .github/workflows/ci.yml, so both the PR title and the single commit subject (ci.yml: reformat the Test strategy comment, document pg-tle-test/pg-tle-upgrade-test) should start with CI: . The prior commit on this branch (CI: add a claude-debug label..., #64) already follows this convention, so this one is a miss rather than an intentional exception.

No functional or accuracy issues found in the diff itself.

@jnasbyupgrade jnasbyupgrade changed the title ci.yml: reformat Test strategy comment, document pg-tle-test/pg-tle-upgrade-test CI: reformat Test strategy comment, document pg-tle-test/pg-tle-upgrade-test Aug 3, 2026
Each entry's job name sat alone on its own line, unindented -- reads like a
Makefile target declaration rather than a reference to a CI job name, and
this repo's own Makefile has real hyphenated targets (test-long,
test-update, ...) a reader could easily conflate these with. Only one of
these names (test) even has a corresponding make target; formatting the
rest identically was actively misleading. Reworded each into an ordinary
prose sentence ("The `test` job runs...") so the name reads as a backticked
reference inside a sentence, not a declaration.
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude finished @jnasbyupgrade's task in 2m 50s —— View job


Claude finished reviewing PR #77

Review

Re-reviewed after the new commit (33412ed, which reworded each entry into a full sentence — The `test` job runs a FRESH install... — instead of a bare job-name heading). That change is a real improvement: a bare name on its own line (test, pg-upgrade-stepwise, ...) read like a Makefile target declaration, and this repo's Makefile does have real hyphenated targets (test-long, test-update) a reader could confuse these with; wrapping the name in a sentence with backticks removes that ambiguity while keeping the "prose, not a table" goal from the PR description.

Checked the full rewritten block (.github/workflows/ci.yml:242-305) against the six jobs it describes:

  • Order now matches definition order in the file (testpg-upgrade-testpg-upgrade-stepwiseextension-update-testpg-tle-testpg-tle-upgrade-test), a nice side-effect of the rewrite.
  • Each description is still accurate against its job body: pg-tle-test's "covers the SAME majors as test" matches its matrix (needs.changes.outputs.supported_pg, same source test uses); pg-tle-upgrade-test's "jump pairs within pg_tle's own supported PostgreSQL range" matches its matrix comment (mirroring only pg-upgrade-test's old_pg=12 legs, the ones inside pg_tle 1.5.2's PG12-18 range).
  • The trimmed verify-results step comment (ci.yml:331-339) still preserves the load-bearing fact from this repo's own CLAUDE.mdverify-results depends on $(TEST_DEPS), not test, specifically so test's own early non-zero exit can't abort the chain before verify-results inspects the diff.
  • Confirmed via git diff against the branch's actual base (ddf08c5, the commit this branched from) that every added/changed line is #-prefixed — no behavior change, matching the PR description's claim.

Minor, non-blocking nit: the first commit's subject (ci.yml: reformat the Test strategy comment...) still doesn't carry the CI: prefix this repo's CLAUDE.md asks for on CI-only changes, even though the PR title itself now correctly has it and the second commit (33412ed) does too. Since this repo squash-merges from the PR description (not individual commit subjects), this has no effect on the merged history — flagging only in case the per-commit inconsistency matters to you before merge.

No functional or accuracy issues found.

@jnasbyupgrade
jnasbyupgrade merged commit ceb4cec into Postgres-Extensions:master Aug 3, 2026
37 checks passed
@jnasbyupgrade
jnasbyupgrade deleted the docs-test-strategy-format branch August 3, 2026 23:17
jnasbyupgrade added a commit to jnasbyupgrade/cat_tools that referenced this pull request Aug 4, 2026
…k extension-update-test to PG10-only

extension-update-test's PG12+ leg ran on the exact same PostgreSQL majors as
the `test` job (supported_pg, 12-18), but as its own matrix job: its own
runner, container boot, checkout, apt-get, and `make install`, paid again per
major, for a check that can run as one more step inside a container the
`test` job already has running, already checked out, and already has
cat_tools installed on disk in (installcheck, a TEST_DEPS prerequisite,
already ran as a side effect of that job's own verify-results call). Folded
`bin/test_existing update-scenario cat_tools_update 0.2.2` in as an
additional call in the `test` job's "Test on PostgreSQL" step instead.

Verified before folding it in, not assumed: ran `make check-relkind-source
&& make verify-results && bin/test_existing update-scenario cat_tools_update
0.2.2` in the same shell/cluster session (mirroring the new CI step exactly)
against a scratch cluster. Confirmed no database-name collision (pg_regress's
own throwaway db is named independently from `cat_tools_update`), the
dependency-guard proof fires (twice -- once right after CREATE EXTENSION,
once again after the full suite run), the structural-diff check
(bin/structural_diff, from PR Postgres-Extensions#55) fires and reports the updated database
structurally identical to a fresh install, and the full suite passes -- exit
0 end to end.

extension-update-test now runs PG10 only, with no matrix at all (single
source of truth: needs.changes.outputs.legacy_pg, not a hardcoded "10") --
its entire remaining purpose is the pre-0.2.2 legacy-script checks, the only
place those scripts still load. Removed the now-dead `if: matrix.pg != '10'`
/ `if: matrix.pg == '10'` guards throughout that job (nothing left to guard
against once there's no other leg) and the "Update 0.2.2 -> current" step
(moved above). The `changes` job's `update_pg` output/derivation is removed
too -- it had exactly one consumer, and that consumer is gone.

Only the minimal comment updates needed to describe this diff: the `test`
and `extension-update-test` entries in the Test strategy summary (added
previously in Postgres-Extensions#77, which this is based on), and the cross-references in
`pg-tle-test`'s own comment that pointed at extension-update-test for the
update path it no longer covers.

No coverage lost: the PG12+ update-to-current check still runs on the exact
same 7 majors it always did (moved, not removed), the PG10 legacy checks are
byte-for-byte unchanged, and every other job is untouched.
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