84 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			84 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: "*"
 |