#! /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 . ./...