github.com/tilotech/tilores-cli@v0.28.0/Makefile (about)

     1  LIST_ALL := $(shell go list ./... | grep -v vendor | grep -v mocks)
     2  
     3  all: lint test
     4  
     5  .PHONY: lint
     6  lint: ## Lint the files
     7  	@golangci-lint version
     8  	@golangci-lint run --timeout 3m0s
     9  
    10  .PHONY: test
    11  test: ## Run unit tests
    12  	@go test -short -count 1 -v ./...
    13  
    14  .PHONY: race
    15  race: ## Run data race detector
    16  	@go test -race -count 1 -v ./...
    17  
    18  .PHONY: coverage
    19  coverage: ## Generate coverage report
    20  	@go-acc ./...
    21  	@go tool cover -func=coverage.txt
    22  
    23  .PHONY: build
    24  build: ## Build binary file
    25  	@go build -o ./bin/$$(basename $$(go list -m))
    26  
    27  .PHONY: depcheck
    28  depcheck: ## Check dependencies for vulnerabilities
    29  	@go list -json -deps ./... | nancy sleuth
    30  
    31  .PHONY: upgrade
    32  upgrade: ## Upgrade the dependencies
    33  	@go get -u -t ./...
    34  	@go mod tidy
    35  	@go mod vendor
    36  
    37  .PHONY: licensecheck
    38  licensecheck: ## Check dependencies for forbidden licenses
    39  	@go-licenses check ./...
    40  
    41  .PHONY: clean
    42  clean: ## Remove outdated file and empty cache
    43  	@rm -rf "$(go env GOCACHE)"
    44  	@rm -f coverage.*
    45  	@rm -f ./bin/*
    46  
    47  .PHONY: help
    48  help: ## Display this help screen
    49  	@grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'