Skip to content

deps: bump testcontainers-go to v0.44.0 - #1237

Merged
Tim Hockin (thockin) merged 1 commit into
agent-substrate:mainfrom
orangeCatDeveloper:deps/bump-testcontainers-go
Aug 27, 2026
Merged

deps: bump testcontainers-go to v0.44.0#1237
Tim Hockin (thockin) merged 1 commit into
agent-substrate:mainfrom
orangeCatDeveloper:deps/bump-testcontainers-go

Conversation

@orangeCatDeveloper

Copy link
Copy Markdown
Contributor

Part of #1230

When reusing an already-running Ryuk reaper, testcontainers-go v0.43.0 waits only for its Docker port mapping. Docker exposes that port before Ryuk is listening, so a second package can connect too early and lose the handshake with read ack: EOF. That is testcontainers-go#3743; v0.44.0 also waits for the reaper's Started log line (#3761).

A package whose handshake fails is not counted as a Ryuk client but its containers still carry the shared session label, so another package exiting can delete a database that is still in use — the failure reported in #1230.

Scope

This helps local runs, where the reaper stays on. It does not fix CI on its own, so it is deliberately separate from #1235, which disables the reaper for run-tests.

Measured on a 4-core Linux VM with cold build caches, which staggers package start times the way CI does:

v0.43.0, 3 rounds   handshake failures in 3/3 rounds; one round cascaded
v0.44.0, 3 rounds   no handshake failures; database tests still unavailable in 3/3 rounds

Under v0.44.0 the failures move to wait for reaper <id>: context deadline exceeded — a late package finds a reaper that is already shutting down, and one readiness probe (defaultStartupTimeout, 60s) outlives the whole reaper retry budget (MaxElapsedTime, 20s), so the retry loop never gets a second attempt. The remaining fail-open behind all of this is #3827, still open upstream.

Diff size

Four lines of go.mod. The rest is go mod vendor output: v0.44.0 pulls newer moby/client, gopsutil, and otelhttp, and otelhttp moves otel/semconv from v1.39.0 to v1.41.0. Insertions and deletions nearly cancel because most of it is a directory swap and one generated httpsnoop file being merged into another.

go.mod, go.sum      62 lines
vendor/             61 files, 17356 +/17490 -

hack/verify/go-modules.sh, licenses.sh, boilerplate.sh, and gofmt.sh all pass; go test -race ./cmd/ateapi/... is green with no silently skipped database tests.


  • Tests pass
  • Appropriate changes to documentation are included in the PR

When reusing an existing reaper, v0.43.0 waits only for its Docker port
mapping, and Docker exposes that port before Ryuk is listening -- so a
package can connect too early and lose the handshake. v0.44.0 also waits
for the reaper's "Started" log line.

Claude-Session: https://claude.ai/code/session_01XuQqkwLf5Zx6CSZFHSC6hb
@thockin
Tim Hockin (thockin) merged commit 7b02f51 into agent-substrate:main Aug 27, 2026
9 checks passed
@orangeCatDeveloper
NekoPunch (orangeCatDeveloper) deleted the deps/bump-testcontainers-go branch August 27, 2026 04:55
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