113 lines
1.9 KiB
YAML
113 lines
1.9 KiB
YAML
version: '3'
|
|
|
|
tasks:
|
|
default:
|
|
cmds:
|
|
- task: fmt
|
|
- task: test
|
|
- task: build
|
|
|
|
fmt:
|
|
desc: Format go code
|
|
sources:
|
|
- '**/*.go'
|
|
cmds:
|
|
- go fmt ./...
|
|
- go mod tidy
|
|
|
|
gen:
|
|
desc: Generate files
|
|
sources:
|
|
- '**/*.go'
|
|
cmds:
|
|
- go generate ./...
|
|
|
|
vet:
|
|
desc: Vet go code
|
|
sources:
|
|
- '**/*.go'
|
|
deps: [gen]
|
|
cmds:
|
|
- go vet ./...
|
|
|
|
critic:
|
|
desc: Critique go code
|
|
sources:
|
|
- '**/*.go'
|
|
cmds:
|
|
- gocritic check ./...
|
|
|
|
staticcheck:
|
|
desc: Static check go code
|
|
sources:
|
|
- '**/*.go'
|
|
cmds:
|
|
- staticcheck ./...
|
|
|
|
cog-complex:
|
|
desc: Calculate cognitive complexity
|
|
sources:
|
|
- '**/*.go'
|
|
cmds:
|
|
- gocognit -over 5 .
|
|
|
|
cyc-complex:
|
|
desc: Calculate cyclomatic complexity
|
|
sources:
|
|
- '**/*.go'
|
|
cmds:
|
|
- gocyclo -over 5 .
|
|
|
|
complex:
|
|
desc: Calculate complexities
|
|
deps:
|
|
- cog-complex
|
|
- cyc-complex
|
|
|
|
vuln:
|
|
desc: Check for vulnerabilities
|
|
sources:
|
|
- '**/*.go'
|
|
cmds:
|
|
- govulncheck ./...
|
|
|
|
lint:
|
|
desc: Do static analysis
|
|
deps:
|
|
- vet
|
|
- critic
|
|
- staticcheck
|
|
- complex
|
|
- vuln
|
|
|
|
test:
|
|
desc: Run unit tests
|
|
deps: [fmt, vet, gen]
|
|
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
|