Files
mfer/script/generate
T
sneak 74185ae5d6
check / check (push) Failing after 2s
Never regenerate mf.pb.go during checks; fail when it is stale (closes #71)
The test and format scripts regenerated mfer/mf.pb.go whenever
mfer/mf.proto looked newer by mtime, which a fresh checkout often causes,
so make check could rewrite a committed file and needed protoc. Nothing
regenerates it any more except make generate (script/generate), which
also records the hash of mf.proto in mfer/mf.proto.sha256. A Go test
compares that hash with mf.proto and fails, naming make generate, when
they differ; it needs no protoc. The Makefile's mtime rule for mf.pb.go,
make clean's deletion of it and the Dockerfile's touch workarounds are
removed.

Model: opus-5-5
2026-10-04 10:07:40 +00:00

18 lines
500 B
Bash
Executable File

#!/bin/sh
# script/generate: regenerate mfer/mf.pb.go from mfer/mf.proto, and record
# the hash of that mf.proto in mfer/mf.proto.sha256. Nothing else
# regenerates mf.pb.go: it is committed, so building and checking need no
# protoc. Needs protoc and protoc-gen-go on PATH. A test fails while
# mf.proto no longer matches the recorded hash.
set -eu
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
main() {
cd "$ROOT/mfer"
go generate .
shasum -a 256 mf.proto >mf.proto.sha256
}
main "$@"