You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
PostgreSQL recovery fixture collides with an occupied host port #755
The catalogue's required CI can fail before the real PostgreSQL recovery checks run because the disposable fixture always claims one fixed host port.
Steps to Reproduce
Run the PostgreSQL recovery fixture while its fixed loopback port is occupied.
Docker cannot start the fixture, so the database recovery and restricted-role checks never execute.
Expected Behavior
The disposable service receives an available loopback port and the unchanged real database tests exercise the recovered service.
Actual Behavior
Default-branch run 40184809207 fails with an address-in-use error at merged revision 26a761ff74a2d625d4cfbe1ed1ebae2780d7aacd. The native test hard-codes that host port in both Docker publication and the generated client URLs.
Acceptance Criteria
Docker allocates the fixture's loopback host port and both database URLs use the observed binding.
Malformed or absent binding observations fail closed.
Real stopped-service recovery, database privilege checks and owned container/volume cleanup still pass in required CI.
Protected merge and a successful default-branch run verify the repair.
Size: S. This is a live CI hotfix. Related to #573; no production database or credential changes are needed.
Verified after protected merge #756 at 5c32ee64719c107a99f35580d60a34839850e2b8. The signature is valid and its complete Git tree equals reviewed head ffeaa63025977646c256f7b956af6dd913f8b7ea.
The original PR CI completed all 237 jobs, including real stopped-service PostgreSQL recovery, restricted-role checks and owned cleanup. The exact merged revision now has successful main CI: all 236 jobs settled, with 191 successful and 45 intentionally skipped. The other three actual post-merge workflows also succeeded. The loopback binding is Docker-assigned and malformed or absent observations remain refusals.
All four acceptance criteria are verified. No production service or credential was changed.
Activity
chore: agent-claim #755 nonce=2c571a14551bb3148e2ed34e4b3304ec
chore: agent-claim #755 nonce=0556754f52d9a9a37d64fb45f61a6419
chore: agent-claim #755 nonce=856234e412782f3371e6ac5b577488e2
chore: agent-claim #755 nonce=4f9e3cb9b546f36695a8274ca56aff64
chore: agent-claim #755 nonce=34c4c501dbb908f30101b059fc6efc71
test(ci): bind fixture checks to the allocated port
chore: agent-claim #755 nonce=f6e799bf2d872bf0608be890394d4d56
test(ci): allocate PostgreSQL recovery fixture ports (#756)
devantler commentedon Oct 25, 2026
Verified after protected merge #756 at
5c32ee64719c107a99f35580d60a34839850e2b8. The signature is valid and its complete Git tree equals reviewed headffeaa63025977646c256f7b956af6dd913f8b7ea.The original PR CI completed all 237 jobs, including real stopped-service PostgreSQL recovery, restricted-role checks and owned cleanup. The exact merged revision now has successful main CI: all 236 jobs settled, with 191 successful and 45 intentionally skipped. The other three actual post-merge workflows also succeeded. The loopback binding is Docker-assigned and malformed or absent observations remain refusals.
All four acceptance criteria are verified. No production service or credential was changed.