forked from rsc/qr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
43 lines (31 loc) · 983 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
GIT_BRANCH ?= main
GIT_REMOTE ?= origin
RELEASE_TYPE ?= patch
tidy:
go mod tidy
go mod vendor
test:
go test .
snapshot:
@$(info - Releasing $(PROJECT_NAME)-snapshot)
@goreleaser release --snapshot --skip-publish --rm-dist
_quick-commit:
git add .
git commit -m "updating"
git push
_setup-versions:
$(eval export CURRENT_VERSION=$(shell git ls-remote --tags $(GIT_REMOTE) | grep -v latest | awk '{ print $$2}'|grep -v 'stable'| sort -r --version-sort | head -n1|sed 's/refs\/tags\///g'))
$(eval export NEXT_VERSION=$(shell semver -c -i $(RELEASE_TYPE) $(CURRENT_VERSION)))
all-versions:
@git ls-remote --tags $(GIT_REMOTE)
current-version: _setup-versions
@echo $(CURRENT_VERSION)
next-version: _setup-versions
@echo $(NEXT_VERSION)
release: _setup-versions
$(call git_push,"Released @ $(ENV)")
@git tag $(NEXT_VERSION)
@git tag v$(NEXT_VERSION)
@git push $(GIT_REMOTE) --tags
@$(info - Releasing $(PROJECT_NAME)-snapshot)
@goreleaser release --rm-dist