Skip to content

Commit

Permalink
tidy: speed up pre-commit hook, add pre-push hook
Browse files Browse the repository at this point in the history
  • Loading branch information
hbomb79 committed May 20, 2024
1 parent 7f6c4ba commit 26063f2
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 68 deletions.
53 changes: 2 additions & 51 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -1,53 +1,4 @@
#!/bin/sh

echo "Running precommit audit..."
make audit

##
## An example hook script to verify what is about to be committed.
## Called by "git commit" with no arguments. The hook should
## exit with non-zero status after issuing an appropriate message if
## it wants to stop the commit.
##
## To enable this hook, rename this file to "pre-commit".

#if git rev-parse --verify HEAD >/dev/null 2>&1
#then
# against=HEAD
#else
# # Initial commit: diff against an empty tree object
# against=$(git hash-object -t tree /dev/null)
#fi

## If you want to allow non-ASCII filenames set this variable to true.
#allownonascii=$(git config --type=bool hooks.allownonascii)

## Redirect output to stderr.
#exec 1>&2

## Cross platform projects tend to avoid non-ASCII filenames; prevent
## them from being added to the repository. We exploit the fact that the
## printable range starts at the space character and ends with tilde.
#if [ "$allownonascii" != "true" ] &&
# # Note that the use of brackets around a tr range is ok here, (it's
# # even required, for portability to Solaris 10's /usr/bin/tr), since
# # the square bracket bytes happen to fall in the designated range.
# test $(git diff --cached --name-only --diff-filter=A -z $against |
# LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
#then
# cat <<\EOF
#Error: Attempt to add a non-ASCII file name.

#This can cause problems if you want to work with people on other platforms.

#To be portable it is advisable to rename the file.

#If you know what you are doing you can disable this check using:

# git config hooks.allownonascii true
#EOF
# exit 1
#fi

## If there are whitespace errors, print the offending file names and fail.
#exec git diff-index --check --cached $against --
echo "Running pre-commit linting..."
make pre-commit
4 changes: 4 additions & 0 deletions .githooks/pre-push
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

echo "Running pre-push audit..."
make pre-push
33 changes: 16 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,18 @@ no-dirty:
tidy:
go fmt ./...
go mod tidy -v
go mod verify

.PHONY: fix
fix: build
go mod tidy -v
golangci-lint run --fix

## lint: run linting of src and go mod using std tools and golangci-lint
.PHONY: lint
lint:
go vet ./...
go run honnef.co/go/tools/cmd/staticcheck@latest -f stylish -checks=all,-ST1000,-U1000 ./...
golangci-lint run

## audit: run quality control checks
## audit: run quality control checks (tidy, lints, builds, checks for dep vulns and runs tests)
.PHONY: audit
audit: tidy
go generate ./...
go mod verify
go vet ./...
golangci-lint run
go run honnef.co/go/tools/cmd/staticcheck@latest -f stylish -checks=all,-ST1000,-U1000 ./...
audit: tidy lint build
go run golang.org/x/vuln/cmd/govulncheck@latest ./...
go test -buildvcs -vet=off ./...

Expand All @@ -62,11 +56,6 @@ test: build
# DEVELOPMENT
# ==================================================================================== #

## test: run all tests
# .PHONY: test
# test:
# go test -v -race -buildvcs ./...

## clean: remove existing artifcats generated by this makefile (.bin)
.PHONY: clean
clean:
Expand All @@ -93,3 +82,13 @@ run/live:
--ignore '**/*.gen.go' \
--ignore '**/mocks/*' \
-- make run

# ==================================================================================== #
# GIT HOOKS
# ==================================================================================== #

.PHONY: pre-commit
pre-commit: lint

.PHONY: pre-push
pre-push: audit

0 comments on commit 26063f2

Please sign in to comment.