80 lines
1.4 KiB
YAML
80 lines
1.4 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
|
|
|
|
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
|