diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-10-31 18:16:41 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-10-31 18:16:41 +0000 |
| commit | 3cba8487e76694da4f70bb4942faa7671d3e8b46 (patch) | |
| tree | adfed06e17f2519e54131daa57d655d9b58ba149 /CLAUDE.md | |
| parent | 42c4c670c1d73fc19dc84405497ca59ce5e1faa7 (diff) | |
Gate the server too, and stop reading go test with grep
The commit hook had nine steps and not one of them touched the server. Every
server change for a week -- twenty-five commits, including the ad detectors and
the thing that publishes skips -- went in on somebody remembering to type "go
test" and reading the output. That is exactly the habit the Gradle wrappers
exist to replace, in the half of the repo nobody had wrapped.
go-verify reports from exit codes and parsed `go test -json`: gofmt, build, vet
and a real test count. It was watched catching both failures that look like
success in a terminal -- a failing test, named; and a package that fails to
compile, where go test exits non-zero with no failing test and the count
silently drops from 366 to 356.
366 is a number I did not have until now, because "go test ./... | grep -v ok"
cannot produce one.
It runs first in the hook, because ten seconds before the Android build beats
several minutes after it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -54,6 +54,7 @@ with `adb shell monkey`. Use the shared wrappers, which report from exit codes, and a logcat capture started before launch: ``` +/workspace/devtools/bin/go-verify /workspace/listen/server /workspace/devtools/bin/gradle-test /workspace/listen -- --rerun-tasks /workspace/devtools/bin/gradle-report /workspace/listen detekt /workspace/devtools/bin/android-launch-check org.terst.listen \ @@ -83,6 +84,16 @@ claims three separate times across these repos. ## Quality gate — every commit +0. **Server** — `/workspace/devtools/bin/go-verify server` passes: gofmt clean, builds, vets, + and every test runs. First because it is the fast one, ten seconds against several minutes. + + It had no gate at all until 2026-10-31. Twenty-five server commits went in on somebody + remembering to type `go test` and reading the output — the exact habit the Gradle wrappers + exist to replace, in the half of the repo nobody had wrapped. `go-verify` reports from exit + codes and parsed `go test -json`, and catches the two failures that look like success in a + terminal: a package whose tests fail to compile (the count silently drops) and a run where + nothing executed at all. + 1. **Build** — `./gradlew compileDebugKotlin` succeeds. 2. **Tests** — `./gradlew testDebugUnitTest` passes in full. 3. **Static analysis** — `./gradlew detekt lintDebug` clean: zero lint errors, zero new detekt |
