version: '3' tasks: default: cmds: - task: fmt - task: test - task: lint fmt: desc: Format go code sources: - '**/*.go' cmds: - go fmt ./... - go mod tidy gen: desc: Generate files sources: - '**/*.go' cmds: - go generate ./... lint: desc: Do static analysis sources: - '**/*.go' cmds: - golangci-lint run test: desc: Run unit tests deps: [fmt] 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 deps: [coverage-report] cmds: - ip addr list | grep inet - php -S 0.0.0.0:3434 -t build serve-docs: desc: Serve the current docs cmds: - godoc -http=0.0.0.0:3434 -play build: desc: Build binaries deps: [test] sources: - '**/*.go' generates: - ./build/trakter cmds: - go build -o ./build/ ./cmd/trakter/