Repository navigation
test: Ginkgo/synctest suites, CI hardening, branding site, CVE fixes - #2
Merged
Merged
Conversation
Adds test coverage, hardens CI, and introduces a branding site. Tests (Ginkgo/Gomega + testing/synctest): - Suites for config, rules, cloudsql, and daemon (67 specs). - daemon.autoscalingLoop covered by a testing/synctest fake-clock test that simulates multiple intervals in zero real time. - Bump go.mod to 1.26 (required for the stable synctest clock). CI / linting: - Port .golangci.yml to golangci-lint v2 format. - Add govulncheck and go-mod-tidy jobs to ci.yaml; bump Go to 1.26. - Add `make vuln`; wire into `make check`. Branding: - Single-page site/ (GCP blue/green terminal theme) + GitHub Pages deploy workflow. Link the site from the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Resolves the Dependabot alerts and the govulncheck-reachable stdlib finding: - google.golang.org/grpc 1.73.0 -> 1.82.0 (GHSA-p77j-4mvh-x3m3, critical) - go.opentelemetry.io/otel 1.36.0 -> 1.44.0 (GHSA-mh2q-q3fh-2475, high) - Go toolchain -> 1.26.5 for crypto/tls GO-2026-5856 (reachable via the daemon HTTPS server and Cloud SQL client) - x/net (0.56.0) and x/crypto (0.53.0) already exceed the patched versions from earlier test-dep upgrades. govulncheck now reports 0 reachable vulnerabilities. The one remaining module-level advisory (GO-2026-5932, x/crypto/openpgp unmaintained) has no fix available and is not imported by this code. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The old golangci config was v1-format and never loaded under the v2 binary, so these pre-existing issues were never caught: - check json.Encoder.Encode / analyzer.Close return values (errcheck) - use metadata.ProjectIDWithContext instead of the deprecated metadata.ProjectID (staticcheck SA1019) - drop the no-op max_connections flag loop (staticcheck SA9003) - remove the unused ctx param from runDaemon (unparam) - drop the constant-valued param from a test helper (unparam) golangci-lint run ./... now reports 0 issues. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Docker Build Test job never ran before (it needs test+lint, and lint
was failing), which hid two issues:
- the image tag used ${{ github.repository }} ("Fraser-Isbester/...") ->
"repository name must be lowercase". Use the lowercase image path.
- the builder image was golang:1.24.4-alpine, incompatible with the
go 1.26.5 directive. Bump to golang:1.26.5-alpine.
Verified with a local docker build.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
config,rules,cloudsql,daemon(67 specs) plus atesting/synctestfake-clock test that exercisesdaemon.autoscalingLoopacross multiple intervals in ~zero real time. Bumps Go to 1.26..golangci.ymlto golangci-lint v2, addsgovulncheckandgo mod tidyjobs, addsmake vuln.site/(GCP blue/green terminal theme) + GitHub Pages deploy workflow, linked from the README.crypto/tlsadvisory; x/net & x/crypto already patched.Why
The repo had zero tests despite programmatically resizing production databases, CI lint config that would fail on golangci v2, no source-level vuln scanning, and no project landing page. This closes all four gaps.
Validation
go build ./...,go vet ./..., all 68 tests green locally.govulncheck ./...→ 0 reachable vulnerabilities.🤖 Generated with Claude Code