* fix: update name template in goreleaser * fix: add arm version * fix: space * fix: --clean --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
		
			
				
	
	
		
			114 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| PREFIX ?= /usr/local
 | |
| VERSION ?= $(shell git describe --tags --dirty --always | sed -e 's/^v//')
 | |
| IS_SNAPSHOT = $(if $(findstring -, $(VERSION)),true,false)
 | |
| MAJOR_VERSION = $(word 1, $(subst ., ,$(VERSION)))
 | |
| MINOR_VERSION = $(word 2, $(subst ., ,$(VERSION)))
 | |
| PATCH_VERSION = $(word 3, $(subst ., ,$(word 1,$(subst -, , $(VERSION)))))
 | |
| NEW_VERSION ?= $(MAJOR_VERSION).$(MINOR_VERSION).$(shell echo $$(( $(PATCH_VERSION) + 1)) )
 | |
| 
 | |
| fix = false
 | |
| ifeq (true,$(fix))
 | |
| 	FIX = --fix
 | |
| endif
 | |
| 
 | |
| ACT ?= go run main.go
 | |
| 
 | |
| HAS_TOKEN = $(if $(test -e ~/.config/github/token),true,false)
 | |
| ifeq (true,$(HAS_TOKEN))
 | |
| 	export GITHUB_TOKEN := $(shell cat ~/.config/github/token)
 | |
| endif
 | |
| 
 | |
| .PHONY: pr
 | |
| pr: tidy format-all lint test
 | |
| 
 | |
| .PHONY: build
 | |
| build:
 | |
| 	go build -ldflags "-X main.version=$(VERSION)" -o dist/local/act main.go
 | |
| 
 | |
| .PHONY: format
 | |
| format:
 | |
| 	go fmt ./...
 | |
| 
 | |
| .PHONY: format-all
 | |
| format-all:
 | |
| 	go fmt ./...
 | |
| 	npx prettier --write .
 | |
| 
 | |
| .PHONY: test
 | |
| test:
 | |
| 	go test ./...
 | |
| 	$(ACT)
 | |
| 
 | |
| .PHONY: lint-go
 | |
| lint-go:
 | |
| 	golangci-lint run $(FIX)
 | |
| 
 | |
| .PHONY: lint-js
 | |
| lint-js:
 | |
| 	npx standard $(FIX)
 | |
| 
 | |
| .PHONY: lint-md
 | |
| lint-md:
 | |
| 	npx markdownlint . $(FIX)
 | |
| 
 | |
| .PHONY: lint-rest
 | |
| lint-rest:
 | |
| 	docker run --rm -it \
 | |
| 		-v $(PWD):/tmp/lint \
 | |
| 		-e GITHUB_STATUS_REPORTER=false \
 | |
| 		-e GITHUB_COMMENT_REPORTER=false \
 | |
| 		megalinter/megalinter-go:v5
 | |
| 
 | |
| .PHONY: lint
 | |
| lint: lint-go lint-rest
 | |
| 
 | |
| .PHONY: lint-fix
 | |
| lint-fix: lint-md lint-go
 | |
| 
 | |
| .PHONY: fix
 | |
| fix:
 | |
| 	make lint-fix fix=true
 | |
| 
 | |
| .PHONY: tidy
 | |
| tidy:
 | |
| 	go mod tidy
 | |
| 
 | |
| .PHONY: install
 | |
| install: build
 | |
| 	@cp dist/local/act $(PREFIX)/bin/act
 | |
| 	@chmod 755 $(PREFIX)/bin/act
 | |
| 	@act --version
 | |
| 
 | |
| .PHONY: installer
 | |
| installer:
 | |
| 	@GO111MODULE=off go get github.com/goreleaser/godownloader
 | |
| 	godownloader -r nektos/act -o install.sh
 | |
| 
 | |
| .PHONY: promote
 | |
| promote:
 | |
| 	@git fetch --tags
 | |
| 	@echo "VERSION:$(VERSION) IS_SNAPSHOT:$(IS_SNAPSHOT) NEW_VERSION:$(NEW_VERSION)"
 | |
| ifeq (false,$(IS_SNAPSHOT))
 | |
| 	@echo "Unable to promote a non-snapshot"
 | |
| 	@exit 1
 | |
| endif
 | |
| ifneq ($(shell git status -s),)
 | |
| 	@echo "Unable to promote a dirty workspace"
 | |
| 	@exit 1
 | |
| endif
 | |
| 	echo -n $(NEW_VERSION) > VERSION
 | |
| 	git add VERSION
 | |
| 	git commit -m "chore: bump VERSION to $(NEW_VERSION)"
 | |
| 	git tag -a -m "releasing v$(NEW_VERSION)" v$(NEW_VERSION)
 | |
| 	git push origin master
 | |
| 	git push origin v$(NEW_VERSION)
 | |
| 
 | |
| .PHONY: snapshot
 | |
| snapshot:
 | |
| 	goreleaser build \
 | |
| 		--clean \
 | |
| 		--single-target \
 | |
| 		--snapshot
 | |
| 
 | |
| .PHONY: clean all
 |