This commit is contained in:
aynic.os
2021-05-31 20:52:49 +02:00
parent 0996e2a355
commit 4b14361bc1
14 changed files with 90 additions and 85 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
CMDS += copy master-tag release release-check release-create release-finish subrepo-push update-subrepo
CONTEXT += APPS ENV RELEASE_INSTALL
CMDS += copy master-tag release release-check release-create release-finish subrepo-push subrepo-update
CONTEXT += APPS ENV RELEASE
DIRS ?= $(MAKE_DIR) $(PARAMETERS) $(SHARED)
RELEASE_UPGRADE ?= $(filter v%, $(shell git tag -l 2>/dev/null |sort -V |awk '/$(RELEASE_INSTALL)/,0'))
RELEASE_UPGRADE ?= $(filter v%, $(shell git tag -l 2>/dev/null |sort -V |awk '/$(RELEASE)/,0'))
RELEASE_VERSION ?= $(firstword $(subst -, ,$(VERSION)))
SUBREPOS ?= $(filter subrepo/%, $(shell git remote 2>/dev/null))
+15 -1
View File
@@ -26,10 +26,24 @@ release-create: release-check git-stash ## Create release [version]
.PHONY: release-finish
release-finish: release-check git-stash ## Finish release [version]
$(call make,git-branch-merge-upstream-master BRANCH=$(RELEASE_BRANCH))
$(call make,update-subrepos)
$(call make,subrepos-update)
$(call make,git-tag-create-upstream-master TAG=$(RELEASE_VERSION))
$(call make,subrepos-tag-create-master TAG=$(RELEASE_VERSION))
$(call make,git-tag-merge-upstream-develop TAG=$(RELEASE_VERSION))
$(call make,git-branch-delete BRANCH=$(RELEASE_BRANCH))
$(call make,subrepos-branch-delete BRANCH=$(RELEASE_BRANCH))
$(call make,git-unstash,,STATUS)
## Update release version number in .env
.PHONY: release-update
release-update:
$(ECHO) awk -v s=RELEASE=$(RELEASE_VERSION) '/^RELEASE=/{$$0=s;f=1} {a[++n]=$$0} END{if(!f)a[++n]=s;for(i=1;i<=n;i++)print a[i]>ARGV[1]}' .env
## Run migration targets to upgrade specific releases
.PHONY: release-upgrade
release-upgrade: $(patsubst %,release-upgrade-from-%,$(RELEASE_UPGRADE)) release-update ## Update monorepo version
## Sample of release migration target
.PHONY: release-upgrade-from-%
release-upgrade-from-%:
echo "Upgrading from release: $*"
+8
View File
@@ -57,3 +57,11 @@ subrepos-branch-delete: $(APPS) ;
.PHONY: subrepos-tag-create-%
subrepos-tag-create-%: $(APPS) ;
.PHONY: subrepos-update
subrepos-update: myos-base git-stash $(APPS) git-unstash ## Update subrepos
$(call exec,git push upstream $(BRANCH))
.PHONY: subrepo-update-%
subrepo-update-%:
$(if $(wildcard $*/Makefile),$(call make,subrepo-update,$*))
-47
View File
@@ -1,47 +0,0 @@
##
# UPDATE
## Update /etc/hosts
.PHONY: update-hosts
update-hosts:
ifneq (,$(filter $(ENV),local))
cat */.env 2>/dev/null |grep -Eo 'urlprefix-[^/]+' |sed 's/urlprefix-//' |while read host; do grep $$host /etc/hosts >/dev/null 2>&1 || { echo "Adding $$host to /etc/hosts"; echo 127.0.0.1 $$host |$(ECHO) sudo tee -a /etc/hosts >/dev/null; }; done
endif
.PHONY: update-$(PARAMETERS)
update-$(PARAMETERS): $(PARAMETERS)
$(PARAMETERS): SSH_PUBLIC_HOST_KEYS := $(PARAMETERS_REMOTE_HOST) $(SSH_BASTION_HOSTNAME) $(SSH_REMOTE_HOSTS)
$(PARAMETERS): MAKE_ENV_VARS += SSH_BASTION_HOSTNAME SSH_BASTION_USERNAME SSH_PRIVATE_IP_RANGE SSH_PUBLIC_HOST_KEYS
$(PARAMETERS): myos-base
$(call exec,[ -d $(PARAMETERS) ] && cd $(PARAMETERS) && git pull --quiet || git clone --quiet $(APP_PARAMETERS_REPOSITORY))
## Update release version number in .env
.PHONY: update-release
update-release:
$(ECHO) awk -v s=RELEASE_INSTALL=$(RELEASE_VERSION) '/^RELEASE_INSTALL=/{$$0=s;f=1} {a[++n]=$$0} END{if(!f)a[++n]=s;for(i=1;i<=n;i++)print a[i]>ARGV[1]}' .env
## Update remotes
.PHONY: update-remotes
update-remotes: myos-base
$(call exec,git fetch --all --prune --tags -u)
.PHONY: update-remote-%
update-remote-%: myos-base
$(call exec,git fetch --prune --tags -u $*)
## Update subrepos
.PHONY: update-subrepos
update-subrepos: myos-base git-stash $(APPS) git-unstash ## Update subrepos
$(call exec,git push upstream $(BRANCH))
.PHONY: update-subrepo-%
update-subrepo-%:
$(if $(wildcard $*/Makefile),$(call make,update-subrepo,$*))
.PHONY: update-upstream
update-upstream: myos-base .git/refs/remotes/upstream/master
$(call exec,git fetch --tags upstream)
.git/refs/remotes/upstream/master: myos-base
$(call exec,git remote add upstream $(APP_UPSTREAM_REPOSITORY) 2>/dev/null ||:)
-9
View File
@@ -1,9 +0,0 @@
##
# UPGRADE
.PHONY: upgrade
upgrade: $(patsubst %,upgrade-from-release-%,$(RELEASE_UPGRADE)) update-release ## Update monorepo version
.PHONY: upgrade-from-release-%
upgrade-from-release-%:
# echo "Upgrading from release: $*"