Skip to content

Fix broken Makefile REGRESS list and CI package conflict - #71

Merged
seanwevans merged 1 commit into
mainfrom
claude/fix-ci-and-regress-list
Jun 26, 2026
Merged

Fix broken Makefile REGRESS list and CI package conflict#71
seanwevans merged 1 commit into
mainfrom
claude/fix-ci-and-regress-list

Conversation

@seanwevans

Copy link
Copy Markdown
Owner

Two problems are currently leaving main unbuildable and CI red.

1. Mangled REGRESS list (merge fallout)

Merging #68, #69 and #70 mis-resolved the REGRESS list in the Makefile:

  • A missing line-continuation \ after semaphore_validation left schema_install dangling, so make itself fails with Makefile:18: *** missing separator.
  • The six subsystem tests added in Add regression tests for previously untested subsystems #68 (free_memory, signals, ipc, semaphore_wait, scheduler, power) were dropped from the list, even though their sql/ and expected/ files are committed — so they silently stopped running.

Rebuilt the list with every test (21 total) and correct continuations. make installcheckAll 21 tests passed locally.

2. CI install step aborts on a package conflict

The workflow installed postgresql-server-dev-all, whose dependency on the archive's postgresql-common conflicts with the newer PGDG postgresql-common already present on the runner image:

postgresql-server-dev-all : Depends: postgresql-common (= 257build1.1) but 291.pgdg24.04+1 is to be installed
E: Unable to correct problems, you have held broken packages.

So the job died in ~10s, before any test ran. Now it installs versioned PGDG packages (postgresql-16 + postgresql-server-dev-16), detects the cluster's actual port, and pins PG_CONFIG so build/install/test all target the same server.

Validation

  • make parses and make installcheck passes all 21 tests locally.
  • Port detection, cluster-exists check, and the exact make PG_CONFIG=… installcheck invocation were validated locally. The apt resolution and runner-role steps can only be confirmed on the GitHub runner — this PR's own CI run is the check for that.

🤖 Generated with Claude Code


Generated by Claude Code

Two problems were leaving main red / unbuildable:

1. Merging PRs #68, #69 and #70 mis-resolved the REGRESS list. A missing
   line-continuation backslash after semaphore_validation left
   schema_install dangling, which made `make` itself fail with
   "missing separator", and the six subsystem tests added in #68
   (free_memory, signals, ipc, semaphore_wait, scheduler, power) were
   dropped from the list even though their sql/ and expected/ files were
   committed. Rebuild the list with every test (21 total) and correct
   continuations. `make installcheck` is green again.

2. The CI workflow installed postgresql-server-dev-all, whose dependency
   on the archive's postgresql-common conflicts with the newer PGDG
   postgresql-common already present on the runner image, so the install
   step aborted before any test ran. Install versioned PGDG packages
   (postgresql-16 + postgresql-server-dev-16), detect the cluster's
   actual port, and pin PG_CONFIG so build, install and installcheck all
   target the same server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ty3Rkif9Vfe95w8TMiKB4b
@seanwevans
seanwevans merged commit b822d1f into main Jun 26, 2026
2 checks passed
@seanwevans
seanwevans deleted the claude/fix-ci-and-regress-list branch June 26, 2026 22:00
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.

2 participants