check / check (push) Waiting to run
The Dockerfile runs make test and make build with Go's build cache in a BuildKit cache mount, so a build compiles only what changed since the last one instead of the standard library and every dependency from nothing. The mount has an id of its own, so builds of other repositories, compiled against other C headers, do not share it. script/test passes -count=1, so no test result is taken from the cache. Model: opus-5-5
18 lines
444 B
Bash
Executable File
18 lines
444 B
Bash
Executable File
#!/bin/sh
|
|
# script/test: run the test suite (vet first, verbose rerun on failure).
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
# CGO is required (Makefile exports this too)
|
|
export CGO_ENABLED=1
|
|
go vet ./...
|
|
# -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 "$@"
|