github.com/andresbott/yamlfmt@v0.1.0/Makefile (about)

     1  SHELL := /bin/bash
     2  
     3  
     4  # ======================================================================================
     5  default: help;
     6  
     7  fmt: ## format go code and run mod tidy
     8  	@go fmt ./...
     9  	@go mod tidy
    10  
    11  .PHONY: test
    12  test: ## run go tests
    13  	@go test ./...  -cover
    14  
    15  lint: ## run go linter
    16  	@golangci-lint run
    17  
    18  benchmark: ## run go benchmarks
    19  	@go test -run=^$$ -bench=. ./...
    20  
    21  verify: fmt test benchmark lint ## run all verification and code structure tiers
    22  
    23  build: ## builds a snapshot build using goreleaser
    24  	@goreleaser --snapshot --rm-dist
    25  
    26  release: verify ## release a new version of goback
    27  	@:$(call check_defined, version, "version defined: call with version=\"v1.2.3\"")
    28  	@git diff --quiet || ( echo 'git is in dirty state' ; exit 1 )
    29  	@[ "${version}" ] || ( echo ">> version is not set, usage: make release version=\"v1.2.3\" "; exit 1 )
    30  	@git tag -d $(version) || true # delete tag if it exists, allows to overwrite tags
    31  	@git push --delete origin $(version) || true
    32  	@git tag -a $(version) -m "Release version: $(version)"
    33  	@git push origin $(version)
    34  	@goreleaser --rm-dist
    35  
    36  
    37  help: ## Show this help
    38  	@egrep '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST)  | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m·%-20s\033[0m %s\n", $$1, $$2}'