check / check (push) Failing after 2s
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
18 lines
500 B
Bash
Executable File
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 "$@"
|