Keep Go's build cache between builds (closes #124)
check / check (push) Successful in 49s

make test and make build in the Dockerfile now share one Go build cache,
kept in a BuildKit cache mount with this repository's own id, so they
compile only what changed. script/test passes -count=1.

Model: opus-5-5
This commit was merged in pull request #125.
This commit is contained in:
2026-10-07 01:02:35 +02:00
parent ae030d759d
commit b109c4e5e1
5 changed files with 27 additions and 6 deletions
+2 -1
View File
@@ -6,7 +6,8 @@
# the lower limit of a plain `docker build .`.
# A cached build checks nothing: a new CHECK_EPOCH on every run makes the
# Dockerfile's check steps run again on an unchanged tree, while its base
# images and module downloads stay cached.
# images, module downloads and the Go build cache that make test and make
# build use stay cached.
set -eu
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
+3 -1
View File
@@ -9,7 +9,9 @@ main() {
# CGO is required (Makefile exports this too)
export CGO_ENABLED=1
go vet ./...
go test ./... || go test -v ./...
# -count=1: run every test, never take a result from Go's test cache,
# which the Dockerfile keeps between builds
go test -count=1 ./... || go test -count=1 -v ./...
}
main "$@"