ezhandler/Taskfile.yml
2025-07-07 21:37:05 -05:00

83 lines
1.4 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, vet, and build
deps:
- fmt
- lint
- build-all
fmt:
desc: Format go files
sources:
- "**/*.go"
cmds:
- go fmt ./...
lint:
desc: Statically analyze code
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
cmd-build:
internal: true
cmds:
- go build -o build/ ./cmd/{{.CMD}}
build-all:
desc: Builds all available commands
sources:
- "**/*.go"
generates:
- build/convids
- build/cool-down
cmds:
- task: cmd-build
vars:
CMD: "*"