Skip to content

Commit 60e930f

Browse files
authored
docs(agents): note the WSL2 pre-push smoke-hook docker hang (#742)
Adds a recurring-friction note documenting that the lefthook `pre-push` smoke hook hangs in `core/adapters/docker` on a WSL2 Docker box (~60s test timeout), which blocks pushes even for changes that touch no `core/` files. The note (with a linked `docs/feedback/` detail file) records how to confirm it is that hang and the safe workaround — verify the diff does not touch `core/` (`go test ./middlewares/ ./config/ ./cli/`), then rely on CI as the authoritative gate — with an explicit "never disable the docker tests" guardrail. Docs-only; matches the existing `docs/feedback/*` friction-note convention.
2 parents f803cdd + 573e47c commit 60e930f

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ This file explains repo‑wide conventions and where to find scoped rules.
5858

5959
## Recurring friction notes
6060
- `./docs/feedback/golangci-lint-cache-cross-worktree.md` — run `golangci-lint cache clean` before pushing if you use multiple sibling worktrees; stale cache entries from siblings get replayed as findings and block the `pre-push` hook.
61+
- `./docs/feedback/lefthook-smoke-hook-docker-hang.md` — on WSL2 the `pre-push` smoke hook hangs in `core/adapters/docker` (~60s test timeout) and blocks pushes even for non-`core/` changes; verify your diff is clean (`go test ./cli/... ./middlewares/...`), then `git push --no-verify` and rely on CI. Never disable the docker tests.
6162

6263
## Repository hygiene
6364
- Manage dependencies exclusively with Go modules.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Pre-push smoke hook hangs in `core/adapters/docker` (WSL2)
2+
3+
The lefthook **pre-push** smoke hook
4+
5+
```
6+
go test -short -timeout=60s ./core/... ./cli/... ./middlewares/...
7+
```
8+
9+
hangs in the `core/adapters/docker` integration package on a WSL2 Docker box (a test
10+
times out at ~60s → `panic: test timed out`), which blocks pushes even for changes that
11+
touch no `core/` files.
12+
13+
When blocked:
14+
15+
1. Confirm the failure is that hang and your diff does not touch `core/`:
16+
`go test ./cli/... ./middlewares/... -count=1`.
17+
2. If clean, `git push --no-verify` and rely on CI — CI is the authoritative gate.
18+
19+
Never disable or skip the docker tests. If your change *does* touch
20+
`core/adapters/docker`, investigate the hang instead of bypassing it.

0 commit comments

Comments
 (0)