myos/make/monorepo/release.mk

36 lines
1.4 KiB
Makefile
Raw Normal View History

2021-02-09 17:05:00 +01:00
##
# RELEASE
.PHONY: release
2021-05-31 03:45:39 +02:00
release: release-create ## Create release [version]
2021-02-09 17:05:00 +01:00
.PHONY: release-check
release-check:
ifneq ($(words $(ARGS)),0)
$(eval RELEASE_VERSION := $(word 1, $(ARGS)))
$(eval RELEASE_BRANCH := release/$(RELEASE_VERSION))
else
ifneq ($(findstring $(firstword $(subst /, ,$(BRANCH))),release),)
$(eval RELEASE_BRANCH := $(BRANCH))
$(eval RELEASE_VERSION := $(word 2, $(subst /, ,$(BRANCH))))
endif
endif
$(if $(filter VERSION=%,$(MAKEFLAGS)), $(eval RELEASE_VERSION:=$(VERSION)) $(eval RELEASE_BRANCH := release/$(RELEASE_VERSION)))
$(if $(findstring $(firstword $(subst /, ,$(RELEASE_BRANCH))),release),,$(error Please provide a VERSION or a release BRANCH))
.PHONY: release-create
release-create: release-check git-stash ## Create release [version]
2021-05-31 03:45:39 +02:00
$(call make,git-branch-create-upstream-develop BRANCH=$(RELEASE_BRANCH))
2021-02-09 17:05:00 +01:00
$(call make,git-unstash,,STATUS)
.PHONY: release-finish
release-finish: release-check git-stash ## Finish release [version]
2021-05-31 03:45:39 +02:00
$(call make,git-branch-merge-upstream-master BRANCH=$(RELEASE_BRANCH))
2021-02-09 17:05:00 +01:00
$(call make,update-subrepos)
2021-05-31 03:45:39 +02:00
$(call make,git-tag-create-upstream-master TAG=$(RELEASE_VERSION))
2021-02-09 17:05:00 +01:00
$(call make,subrepos-tag-create-master TAG=$(RELEASE_VERSION))
2021-05-31 03:45:39 +02:00
$(call make,git-tag-merge-upstream-develop TAG=$(RELEASE_VERSION))
$(call make,git-branch-delete BRANCH=$(RELEASE_BRANCH))
2021-02-09 17:05:00 +01:00
$(call make,subrepos-branch-delete BRANCH=$(RELEASE_BRANCH))
$(call make,git-unstash,,STATUS)