#!/bin/sh # script/precommit: run by the git pre-commit hook; fails the commit if # checks fail. Our own extension to scripts-to-rule-them-all. Go repo # extras: go mod tidy and go fmt must leave the tree unchanged. set -eu SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd -P)" ROOT="$(cd "$SCRIPT_DIR/.." && pwd -P)" main() { cd "$ROOT" go mod tidy go fmt ./... git diff --exit-code -- go.mod go.sum || { echo "go mod tidy changed files; please stage and retry" exit 1 } "$SCRIPT_DIR/check" } main "$@"