diff --git a/Makefile b/Makefile index 3832860..9194b92 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ CMD_PATH := ./cmd/app # ── Default target ───────────────────────────────────────────────────────────── help: ## Show this help message - @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' Makefile | \ awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}' | sort # ── First-time setup ─────────────────────────────────────────────────────────── @@ -82,7 +82,18 @@ ifdef VERSION $(MAKE) test-race $(MAKE) lint $(MAKE) security - git tag $(VERSION) + @MSG=$$(mktemp); \ + LAST=$$(git describe --tags --abbrev=0 2>/dev/null); \ + echo "$(VERSION)" > $$MSG; \ + echo "" >> $$MSG; \ + if [ -n "$$LAST" ]; then \ + echo "Changes since $$LAST:" >> $$MSG; \ + git log $$LAST..HEAD --oneline >> $$MSG; \ + else \ + git log --oneline >> $$MSG; \ + fi; \ + git tag -a -e -F $$MSG $(VERSION); \ + rm -f $$MSG git push origin $(VERSION) else @echo "Released versions:"