45 lines
1.1 KiB
Makefile
45 lines
1.1 KiB
Makefile
|
|
||
|
BIN=go
|
||
|
|
||
|
build:
|
||
|
${BIN} build -v ./...
|
||
|
|
||
|
test:
|
||
|
go test -race -v ./...
|
||
|
watch-test:
|
||
|
reflex -t 50ms -s -- sh -c 'gotest -race -v ./...'
|
||
|
|
||
|
bench:
|
||
|
go test -benchmem -count 3 -bench ./...
|
||
|
watch-bench:
|
||
|
reflex -t 50ms -s -- sh -c 'go test -benchmem -count 3 -bench ./...'
|
||
|
|
||
|
coverage:
|
||
|
${BIN} test -v -coverprofile=cover.out -covermode=atomic .
|
||
|
${BIN} tool cover -html=cover.out -o cover.html
|
||
|
|
||
|
# tools
|
||
|
tools:
|
||
|
${BIN} install github.com/cespare/reflex@latest
|
||
|
${BIN} install github.com/rakyll/gotest@latest
|
||
|
${BIN} install github.com/psampaz/go-mod-outdated@latest
|
||
|
${BIN} install github.com/jondot/goweight@latest
|
||
|
${BIN} install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||
|
${BIN} get -t -u golang.org/x/tools/cmd/cover
|
||
|
${BIN} install github.com/sonatype-nexus-community/nancy@latest
|
||
|
go mod tidy
|
||
|
|
||
|
lint:
|
||
|
golangci-lint run --timeout 60s --max-same-issues 50 ./...
|
||
|
lint-fix:
|
||
|
golangci-lint run --timeout 60s --max-same-issues 50 --fix ./...
|
||
|
|
||
|
audit: tools
|
||
|
${BIN} list -json -m all | nancy sleuth
|
||
|
|
||
|
outdated: tools
|
||
|
${BIN} list -u -m -json all | go-mod-outdated -update -direct
|
||
|
|
||
|
weight: tools
|
||
|
goweight
|