[feat] makefile adding an aprooval step for version bump targets (#202)
Ticket: https://mattermost.atlassian.net/browse/CLD-7957
This commit is contained in:
parent
9805832b2f
commit
09c4f13f2c
1 changed files with 14 additions and 0 deletions
14
Makefile
14
Makefile
|
@ -67,6 +67,14 @@ define check_pending_pulls
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
endef
|
endef
|
||||||
|
# Prompt for approval
|
||||||
|
define prompt_approval
|
||||||
|
@read -p "About to bump $(APP_NAME) to version $(1), approve? (y/n) " userinput; \
|
||||||
|
if [ "$$userinput" != "y" ]; then \
|
||||||
|
echo "Bump aborted."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
endef
|
||||||
# ====================================================================================
|
# ====================================================================================
|
||||||
|
|
||||||
.PHONY: patch minor major patch-rc minor-rc major-rc
|
.PHONY: patch minor major patch-rc minor-rc major-rc
|
||||||
|
@ -75,6 +83,7 @@ patch: ## to bump patch version (semver)
|
||||||
$(call check_protected_branch)
|
$(call check_protected_branch)
|
||||||
$(call check_pending_pulls)
|
$(call check_pending_pulls)
|
||||||
@$(eval PATCH := $(shell echo $$(($(PATCH)+1))))
|
@$(eval PATCH := $(shell echo $$(($(PATCH)+1))))
|
||||||
|
$(call prompt_approval,$(MAJOR).$(MINOR).$(PATCH))
|
||||||
@echo Bumping $(APP_NAME) to Patch version $(MAJOR).$(MINOR).$(PATCH)
|
@echo Bumping $(APP_NAME) to Patch version $(MAJOR).$(MINOR).$(PATCH)
|
||||||
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH) -m "Bumping $(APP_NAME) to Patch version $(MAJOR).$(MINOR).$(PATCH)"
|
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH) -m "Bumping $(APP_NAME) to Patch version $(MAJOR).$(MINOR).$(PATCH)"
|
||||||
git push origin v$(MAJOR).$(MINOR).$(PATCH)
|
git push origin v$(MAJOR).$(MINOR).$(PATCH)
|
||||||
|
@ -85,6 +94,7 @@ minor: ## to bump minor version (semver)
|
||||||
$(call check_pending_pulls)
|
$(call check_pending_pulls)
|
||||||
@$(eval MINOR := $(shell echo $$(($(MINOR)+1))))
|
@$(eval MINOR := $(shell echo $$(($(MINOR)+1))))
|
||||||
@$(eval PATCH := 0)
|
@$(eval PATCH := 0)
|
||||||
|
$(call prompt_approval,$(MAJOR).$(MINOR).$(PATCH))
|
||||||
@echo Bumping $(APP_NAME) to Minor version $(MAJOR).$(MINOR).$(PATCH)
|
@echo Bumping $(APP_NAME) to Minor version $(MAJOR).$(MINOR).$(PATCH)
|
||||||
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH) -m "Bumping $(APP_NAME) to Minor version $(MAJOR).$(MINOR).$(PATCH)"
|
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH) -m "Bumping $(APP_NAME) to Minor version $(MAJOR).$(MINOR).$(PATCH)"
|
||||||
git push origin v$(MAJOR).$(MINOR).$(PATCH)
|
git push origin v$(MAJOR).$(MINOR).$(PATCH)
|
||||||
|
@ -96,6 +106,7 @@ major: ## to bump major version (semver)
|
||||||
$(eval MAJOR := $(shell echo $$(($(MAJOR)+1))))
|
$(eval MAJOR := $(shell echo $$(($(MAJOR)+1))))
|
||||||
$(eval MINOR := 0)
|
$(eval MINOR := 0)
|
||||||
$(eval PATCH := 0)
|
$(eval PATCH := 0)
|
||||||
|
$(call prompt_approval,$(MAJOR).$(MINOR).$(PATCH))
|
||||||
@echo Bumping $(APP_NAME) to Major version $(MAJOR).$(MINOR).$(PATCH)
|
@echo Bumping $(APP_NAME) to Major version $(MAJOR).$(MINOR).$(PATCH)
|
||||||
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH) -m "Bumping $(APP_NAME) to Major version $(MAJOR).$(MINOR).$(PATCH)"
|
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH) -m "Bumping $(APP_NAME) to Major version $(MAJOR).$(MINOR).$(PATCH)"
|
||||||
git push origin v$(MAJOR).$(MINOR).$(PATCH)
|
git push origin v$(MAJOR).$(MINOR).$(PATCH)
|
||||||
|
@ -105,6 +116,7 @@ patch-rc: ## to bump patch release candidate version (semver)
|
||||||
$(call check_protected_branch)
|
$(call check_protected_branch)
|
||||||
$(call check_pending_pulls)
|
$(call check_pending_pulls)
|
||||||
@$(eval RC := $(shell echo $$(($(RC)+1))))
|
@$(eval RC := $(shell echo $$(($(RC)+1))))
|
||||||
|
$(call prompt_approval,$(MAJOR).$(MINOR).$(PATCH)-rc$(RC))
|
||||||
@echo Bumping $(APP_NAME) to Patch RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
@echo Bumping $(APP_NAME) to Patch RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
||||||
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC) -m "Bumping $(APP_NAME) to Patch RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)"
|
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC) -m "Bumping $(APP_NAME) to Patch RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)"
|
||||||
git push origin v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
git push origin v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
||||||
|
@ -116,6 +128,7 @@ minor-rc: ## to bump minor release candidate version (semver)
|
||||||
@$(eval MINOR := $(shell echo $$(($(MINOR)+1))))
|
@$(eval MINOR := $(shell echo $$(($(MINOR)+1))))
|
||||||
@$(eval PATCH := 0)
|
@$(eval PATCH := 0)
|
||||||
@$(eval RC := 1)
|
@$(eval RC := 1)
|
||||||
|
$(call prompt_approval,$(MAJOR).$(MINOR).$(PATCH)-rc$(RC))
|
||||||
@echo Bumping $(APP_NAME) to Minor RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
@echo Bumping $(APP_NAME) to Minor RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
||||||
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC) -m "Bumping $(APP_NAME) to Minor RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)"
|
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC) -m "Bumping $(APP_NAME) to Minor RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)"
|
||||||
git push origin v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
git push origin v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
||||||
|
@ -128,6 +141,7 @@ major-rc: ## to bump major release candidate version (semver)
|
||||||
@$(eval MINOR := 0)
|
@$(eval MINOR := 0)
|
||||||
@$(eval PATCH := 0)
|
@$(eval PATCH := 0)
|
||||||
@$(eval RC := 1)
|
@$(eval RC := 1)
|
||||||
|
$(call prompt_approval,$(MAJOR).$(MINOR).$(PATCH)-rc$(RC))
|
||||||
@echo Bumping $(APP_NAME) to Major RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
@echo Bumping $(APP_NAME) to Major RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
||||||
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC) -m "Bumping $(APP_NAME) to Major RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)"
|
git tag -s -a v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC) -m "Bumping $(APP_NAME) to Major RC version $(MAJOR).$(MINOR).$(PATCH)-rc$(RC)"
|
||||||
git push origin v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
git push origin v$(MAJOR).$(MINOR).$(PATCH)-rc$(RC)
|
||||||
|
|
Reference in a new issue