fix: pgtest left an anonymous volume behind on every run

The postgres image declares a VOLUME, so tearing the container down with
`docker rm -f` (no -v) orphaned its anonymous data volume each time the
test binary ran. Add -v to all three teardown sites, and state the
cleanup expectation in AGENTS.md so a killed run gets swept by hand.
This commit is contained in:
2026-08-23 13:07:04 +07:00
parent 2ac1f0c507
commit ffda243c04
2 changed files with 14 additions and 3 deletions
+9
View File
@@ -50,6 +50,15 @@ Backend (`cd backend`):
Local stack: `docker compose up` (bookmark-api + postgres only; `postgres-data` named volume, `restart: unless-stopped`). No browser — without `BROWSER_WS_URL` the poller logs and skips kagane and comix. To run one: `cd chrome && BROWSER_BIND_ADDR=172.17.0.1 docker compose up -d --build`, then `BROWSER_WS_URL=ws://172.17.0.1:9222` in the root `.env` (bridge gateway, so the API container can name it by IP).
**Clean up Docker after testing.** Storage on the dev machine is scarce, so
anything you started for a test you also tear down before calling the work
done: `docker compose down -v` for a stack you brought up, `docker rm -f -v`
for a container you ran by hand (`-v`, or the image's anonymous data volume
survives). Then check `docker volume ls` and `docker system df` for leftovers
and reclaim them — a dangling volume nobody notices is the leak that fills the
disk. Never remove the `postgres-data` volume of a stack the user is actually
running, and never blanket-`docker system prune` their images or build cache.
Live CDP proof (needs that browser and network, skipped otherwise):
`SMOKE_BROWSER_WS_URL=ws://<ip>:<port> go test -run 'TestSmokeKagane|TestSmokeComix' ./internal/latest`
— fetches a real kagane and comix cover and chapter list. A red run means the challenge is