version: '3' tasks: default: cmds: - task: fmt - task: test - task: build fmt: desc: Format go code sources: - '**/*.go' cmds: - go fmt ./... - go mod tidy vet: desc: Vet go code sources: - '**/*.go' cmds: - go vet ./... critic: desc: Critique go code sources: - '**/*.go' cmds: - gocritic check ./... staticcheck: desc: Static check go code sources: - '**/*.go' cmds: - staticcheck ./... analyze: desc: Do static analysis deps: - vet - critic - staticcheck test: desc: Run unit tests deps: [fmt, vet] 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:3265 -t build build: desc: Build server binary sources: - '**/*.go' generates: - build/combluotion cmds: - go build -o build/combluotion cmd/combluotion/main.go