Fix flaky t.TempDir cleanup race in webhook tests (closes #198)
Check / check (pull_request) Successful in 3m33s
Check / check (pull_request) Successful in 3m33s
HandleWebhook starts a deployment in a detached goroutine that writes under the app data directory, which is the tests t.TempDir; the tests slept 100ms and returned, racing Go automatic TempDir cleanup and intermittently failing with RemoveAll: directory not empty. The webhook Service now tracks those goroutines in a sync.WaitGroup and exposes WaitForDeployments; the tests wait on it instead of sleeping. Production behavior is unchanged apart from making completion observable. Model: opus-4-8
This commit was merged in pull request #201.
This commit is contained in:
@@ -20,6 +20,10 @@ main cannot regress.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-09-22: Fixed the flaky `t.TempDir` cleanup race in
|
||||
`internal/service/webhook` by tracking the async deployment goroutine
|
||||
in a `sync.WaitGroup` and exposing `WaitForDeployments`; tests now
|
||||
synchronize on completion instead of sleeping (#198).
|
||||
- 2026-09-22: Linting now runs only in Docker. Added `Dockerfile.lint`
|
||||
(pinned golangci-lint v2.12.2, cache-busted via a `GATE_RUN` build arg
|
||||
so the linter always executes), reduced `script/lint` to building it,
|
||||
|
||||
Reference in New Issue
Block a user