From 3146178d985e9e416e05a74469a6913807fe2dc0 Mon Sep 17 00:00:00 2001 From: Min Zhang Date: Wed, 12 Feb 2025 16:12:05 +0000 Subject: [PATCH] set_version should support MacOS --- Makefile | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index c9bcaef..a3d3e03 100644 --- a/Makefile +++ b/Makefile @@ -275,21 +275,31 @@ daemon-build: test-daemon ## Build docker image with the manager. daemon-push: $(DOCKER) push $(IMAGE_TAG_BASE)-daemon:v$(VERSION) +# Determine correct 'sed' version to use based on OS +ifeq ($(shell uname), Darwin) + # macOS: use gsed if available + ifeq ($(shell which gsed),) + $(error gsed not found. Install with 'brew install gnu-sed') + endif + SED_CMD := gsed +else + SED_CMD := sed +endif + # update the version in Makefile, kustomization.yaml, config.yaml, and GitHub workflows # use VERSION as an arg to the set_version target: make set_version VERSION=x.x.x .PHONY: set_version set_version: @echo "VERSION: $(VERSION)" - @sed -i 's/^\(VERSION ?= \).*/\1$(VERSION)/' Makefile - @sed -i 's/\(newTag: v\).*/\1$(VERSION)/' config/manager/kustomization.yaml - @sed -i 's/\(newTag: v\).*/\1$(VERSION)/' config/samples/kustomization.yaml - @sed -i 's|\(image: ghcr.io\/foundation-model-stack\/multi-nic-cni-daemon:v\).*|\1$(VERSION)|' config/samples/config.yaml - @sed -i 's/\(IMAGE_VERSION: \).*/\1\"$(VERSION)\"/' .github/workflows/*.yaml - @sed -i 's/\(VERSION: \).*/\1\"$(VERSION)\"/' .github/workflows/build_push_controller.yaml - @sed -i '0,/branches:/s//branches:/; n; s/- v.*/- v$(VERSION)/' .github/workflows/*.yaml - @sed -i 's/multi-nic-cni-bundle:v[0-9.]\+/multi-nic-cni-bundle:v$(VERSION)/' README.md - @sed -i 's/multi-nic-cni-concheck:v[0-9.]\+/multi-nic-cni-concheck:v$(VERSION)/' connection-check/concheck.yaml - @sed -i 's/multi-nic-cni-daemon:v[0-9.]\+/multi-nic-cni-daemon:v$(VERSION)/' controllers/vars/vars.go - @sed -i 's/-daemon:v[0-9.]\+/-daemon:v$(VERSION)/' daemon/Makefile - @sed -i 's/git clone -b v[0-9.]\+/git clone -b v$(VERSION)/' daemon/dockerfiles/Dockerfile.kbuilder + @$(SED_CMD) -i 's/^\(VERSION ?= \).*/\1$(VERSION)/' Makefile + @$(SED_CMD) -i 's/\(newTag: v\).*/\1$(VERSION)/' config/manager/kustomization.yaml + @$(SED_CMD) -i 's/\(newTag: v\).*/\1$(VERSION)/' config/samples/kustomization.yaml + @$(SED_CMD) -i 's|\(image: ghcr.io\/foundation-model-stack\/multi-nic-cni-daemon:v\).*|\1$(VERSION)|' config/samples/config.yaml + @$(SED_CMD) -i 's/\(IMAGE_VERSION: \).*/\1\"$(VERSION)\"/' .github/workflows/*.yaml + @$(SED_CMD) -i 's/\(VERSION: \).*/\1\"$(VERSION)\"/' .github/workflows/build_push_controller.yaml + @$(SED_CMD) -i '0,/branches:/s//branches:/; n; s/- v.*/- v$(VERSION)/' .github/workflows/*.yaml + @$(SED_CMD) -i 's/multi-nic-cni-bundle:v[0-9.]\+/multi-nic-cni-bundle:v$(VERSION)/' README.md + @$(SED_CMD) -i 's/multi-nic-cni-concheck:v[0-9.]\+/multi-nic-cni-concheck:v$(VERSION)/' connection-check/concheck.yaml + @$(SED_CMD) -i 's/multi-nic-cni-daemon:v[0-9.]\+/multi-nic-cni-daemon:v$(VERSION)/' controllers/vars/vars.go + @$(SED_CMD) -i 's/-daemon:v[0-9.]\+/-daemon:v$(VERSION)/' daemon/Makefile