64 lines
1.1 KiB
YAML
64 lines
1.1 KiB
YAML
# https://taskfile.dev
|
|
|
|
version: '3'
|
|
|
|
vars:
|
|
GOBIN_ENV:
|
|
sh: go env GOBIN
|
|
GOPATH_ENV:
|
|
sh: go env GOPATH
|
|
BIN: '{{if .GOBIN_ENV}}{{.GOBIN_ENV}}{{else}}{{.GOPATH_ENV}}/bin{{end}}'
|
|
|
|
tasks:
|
|
default:
|
|
desc: fmt, lint, test
|
|
deps:
|
|
- fmt
|
|
- lint
|
|
- test
|
|
|
|
fmt:
|
|
desc: Format go files
|
|
sources:
|
|
- "*.go"
|
|
cmds:
|
|
- go fmt ./...
|
|
|
|
lint:
|
|
desc: Statically analyze code
|
|
sources:
|
|
- '*.go'
|
|
cmds:
|
|
- golangci-lint run
|
|
|
|
test:
|
|
desc: Run all tests
|
|
sources:
|
|
- '*.go'
|
|
generates:
|
|
- build/cover.out
|
|
cmds:
|
|
- go test -race -cover -coverprofile build/cover.out .
|
|
|
|
coverage-report:
|
|
desc: Build coverage report
|
|
deps: [test]
|
|
sources:
|
|
- build/cover.out
|
|
generates:
|
|
- build/cover.html
|
|
cmds:
|
|
- go tool cover -html=build/cover.out -o build/cover.html
|
|
|
|
serve-report:
|
|
desc: Serve the coverage report
|
|
sources:
|
|
- build/cover.html
|
|
cmds:
|
|
- ip addr list | grep inet
|
|
- python3 -m http.server -d build/ 3434
|
|
|
|
serve-docs:
|
|
desc: Serve the docs
|
|
cmds:
|
|
- godoc -http=0.0.0.0:3434 -play
|