#!/bin/sh # mesh-check-toolchain: go # # The Go part of the lab's own check (novox/hq issue 302): the replays register and its prover, run by the # build seat in the mesh's Go toolchain, its own container, because the lab's merge-check.sh declares it # (`# mesh-check-also: go replays/merge-check.sh`) — and by hand, from anywhere: # `sh replays/merge-check.sh`. # # 1. formatted and vetted — the register, the replays and the prover compile, tests included; # 2. the tests that need nothing but Go and git: every replay registered whole (TestEveryReplayIsWhole), # and the bed's reading of what a change touches. # # **Said, never passed silently**: the replays themselves raise containers and a bus of the release the mesh # runs; this container holds no container runtime, so they are not run here. They run from the lab's main, # reviewed, in the gate of every core change, and a change to one is proven by `go run ./cmd/prove` before # it merges. set -eu cd "$(dirname "$0")" unformatted=$(gofmt -l .) if [ -n "$unformatted" ]; then echo "not gofmt'd:" echo "$unformatted" exit 1 fi go vet ./... go test -count=1 -run '^(TestEveryReplayIsWhole|TestTheBedProvesWhatTheChangeTouches)$' . echo "NOT RUN HERE: the replays themselves — they raise containers, and this container holds no container runtime"