.DEFAULT_GOAL := help # ==================================================================================== # # HELPERS # ==================================================================================== # ## help: print this help message .PHONY: help help: @echo 'Usage:' @sed -n 's/^##//p' ${MAKEFILE_LIST} | column -t -s ':' | sed -e 's/^/ /' # ==================================================================================== # # QUALITY CONTROL # ==================================================================================== # ## tidy: format code and tidy modfile .PHONY: tidy tidy: go fmt ./... go mod tidy -v ## audit: run quality control checks .PHONY: audit audit: go mod verify go vet ./... go run honnef.co/go/tools/cmd/staticcheck@latest -checks=all,-ST1000,-U1000 ./... go run golang.org/x/vuln/cmd/govulncheck@latest ./... go test -race -buildvcs -vet=off ./... go run github.com/golangci/golangci-lint/cmd/golangci-lint@latest run -v ./... # ==================================================================================== # # DEVELOPMENT # ==================================================================================== # ## test: run all tests .PHONY: test test: go test -v -race -buildvcs ./... ## test/cover: run all tests and display coverage .PHONY: test/cover test/cover: go test -v -race -buildvcs -coverprofile=/tmp/coverage.out ./... go tool cover -html=/tmp/coverage.out