gomatrix/hooks/pre-commit

20 lines
453 B
Bash
Executable File

#! /bin/bash
set -eu
# gofmt doesn't exit with an error code if the files don't match the expected
# format. So we have to run it and see if it outputs anything.
if gofmt -l -s . 2>&1 | read
then
echo "Error: not all code had been formatted with gofmt."
echo "Fixing the following files"
gofmt -s -w -l .
echo
echo "Please add them to the commit"
git status --short
exit 1
fi
golangci-lint run
go test -timeout 5s . ./...