-
Notifications
You must be signed in to change notification settings - Fork 0
Harden CI pipeline: race detector, security scanning, code coverage #16
Copy link
Copy link
Open
Description
Summary
CI runs fmt, proto, vet, and test — solid baseline, but missing important checks for a security-critical system.
Current state
.github/workflows/ci.yml— Go 1.24, protoc v33.4, four checks- No race detector (
-raceflag) - No security scanning (gosec, trivy)
- No linting (golangci-lint)
- No dependency vulnerability scanning
- No code coverage reporting
Required work
- Add
go test -race ./...to catch data races (the budget tracker and memory store use mutexes — races here would be silent corruption) - Add
golangci-lintwith a reasonable config (errcheck, gosimple, govet, ineffassign, staticcheck, unused at minimum) - Add
gosecfor security-focused static analysis - Add
go mod verifyto ensure module checksums are valid - Add code coverage reporting (upload to Codecov or similar) — set a floor, not a target
- Add dependency vulnerability scanning (govulncheck or nancy)
- Add a
make linttarget to the Makefile
Files
.github/workflows/ci.yml— add jobsMakefile— addlint,test-race,security-scantargets.golangci.yml— linter configuration
Priority
Medium — catches real bugs cheaply.
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels