From cd5245003353b0233fd7b79c199cc782f7944a2d Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 22 Aug 2026 00:02:58 +0000 Subject: [PATCH] CI runs the Go tests under the race detector The alerter and agent code is deliberately concurrent, and the review rounds that shaped it left behind a suite of tests that pin contested interleavings with barrier hooks. Those tests only earn their keep if the race detector is watching while they run, so the CI test step now passes -race. It also passes -count=1: actions/setup-go restores the Go build cache between runs, and a cached test result silently replays the old pass instead of executing anything. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01NpxQtrW7f2YaKiYL6evoTZ --- .github/workflows/build.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 467ef13..b563e19 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,7 +51,11 @@ jobs: run: cd web-ui/backend && go vet ./... - name: Test - run: cd web-ui/backend && go test ./... + # -race because the alerter and agent paths are deliberately + # concurrent and their regression tests pin interleavings; + # -count=1 because the restored build cache would otherwise + # replay cached passes instead of running anything. + run: cd web-ui/backend && go test -race -count=1 ./... - name: Build run: cd web-ui/backend && go build ./cmd/sysmon-web