Loading
ci: wrap CI test jobs with gotestsum for readable output
What
Wrap go test with gotestsum in the project's own CI test jobs, for readable, grouped console output with an end-of-run summary of failures and the slowest tests.
Converted jobs (invoked as go tool gotestsum --format testname -- <go test flags>):
test:integration.redis-integration-base(redis-standalone / -sentinel / -cluster)test:integration:s3-garagetest:integration:s3-aws.gcs-realbackend(gcs-key-creds / -instance-creds).conformance-realbackend(conformance:s3-garage / gcs-key-creds)test:race
Why
go test -v interleaves all output and is hard to scan, especially in the long serial integration suites. gotestsum runs go test -json under the hood, groups output per test, colorizes PASS/FAIL, and always prints a clean failure + slowest-test summary at the end.
How / scope of the change
- Output-only. All
go testflags (-tags,-count,-timeout,-race,-short,-run,-coverprofile) pass through unchanged. Coverage capture (go tool cover -func … | tail -1) and thecoverage:regex read the cover output, notgo testoutput, so they behave exactly as before. - The redundant
-vflag is dropped because gotestsum drives verbosity through--format. - gotestsum is pinned through the
tooldirective ingo.mod(checksum-verified viago.sum, Renovate-managed), mirroring the existinggo tool gofail. This satisfies the security posture the credentialed jobs already follow (they pingocover-coberturarather than use@latest): gotestsum runs as a fixed, checksum-verified version in those same live-credential jobs.
Out of scope (left on plain go test)
fuzz:{oci,npm,maven}— emit fuzzing output, not test results; gotestsum's summarizer adds nothing.test:storage-failpoints— a compile-under-gofail check, not a readability case.go_unittests— provided by thegolang-buildcomponent; its internals are not ours to edit.
Notes
- No application code changes; the pipeline itself validates the change (no unit tests apply to a CI-config edit).
- Maintenance/CI toil, so no linked feature issue per the contributing guardrails.