Fix flaky t.TempDir cleanup race in webhook tests (closes #198)
Check / check (pull_request) Skipped
Check / check (pull_request) Skipped
HandleWebhook starts a deployment in a detached goroutine that keeps writing under the app data dir (the test's t.TempDir). The webhook tests slept 100ms and returned, racing Go's automatic TempDir cleanup and intermittently failing with "RemoveAll: directory not empty". Track those goroutines in a sync.WaitGroup on the webhook Service and expose WaitForDeployments; the tests now wait on it instead of sleeping. Deploy joins its own sub-goroutines before returning, so the wait covers every temp-dir write. Production behavior is unchanged apart from making completion observable. Model: opus-4-8
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: Added `.prettierignore` so `make fmt` no longer rewrites
|
||||
the vendored `static/js/alpine.min.js` bundle (#185).
|
||||
- 2026-09-22: Fixed the gosec G703 path-traversal finding in the deploy
|
||||
|
||||
Reference in New Issue
Block a user