Skip to content

Commit 749f587

Browse files
committed
package and push helm chart
1 parent a20c3aa commit 749f587

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

.github/workflows/publish.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ jobs:
8787
run: |
8888
IMG=ghcr.io/openmcp-project/metrics-operator:${{ env.version }} make docker-buildx docker-push
8989
90+
- name: Package and push helm chart
91+
run: |
92+
make helm-package helm-push
93+
9094
- name: setup OCM
9195
uses: open-component-model/ocm-setup-action@main
9296

Makefile

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
6161
ENVTEST ?= $(LOCALBIN)/setup-envtest
6262
GOTESTSUM ?= $(LOCALBIN)/gotestsum
6363
GOLANGCILINT ?= $(LOCALBIN)/golangci-lint
64-
65-
64+
HELM ?= $(LOCALBIN)/helm
6665

6766
## Tool Versions
6867
KUSTOMIZE_VERSION ?= v5.4.1
@@ -261,14 +260,36 @@ dev-apply-metric-dynatrace-prod: ## Apply metric using Dynatrace production exam
261260

262261
#----------------------------------------------------------------------------------------------
263262
##@ Helm
263+
264+
HELM_VERSION ?= v3.18.0
265+
OCI_REGISTRY ?= ghcr.io/sap/charts
266+
267+
$(HELM): $(LOCALBIN)
268+
@if test -x $(LOCALBIN)/helm && ! $(LOCALBIN)/helm version --short | grep -q $(HELM_VERSION); then \
269+
echo "$(LOCALBIN)/helm version is not expected $(HELM_VERSION). Removing it before installing."; \
270+
rm -rf $(LOCALBIN)/helm; \
271+
fi
272+
test -s $(LOCALBIN)/helm || (curl -sSL https://get.helm.sh/helm-$(HELM_VERSION)-$(shell uname | tr '[:upper:]' '[:lower:]')-amd64.tar.gz | tar xz -C /tmp && \
273+
mv /tmp/$(shell uname | tr '[:upper:]' '[:lower:]')-amd64/helm $(LOCALBIN)/helm && \
274+
chmod +x $(LOCALBIN)/helm && \
275+
rm -rf /tmp/$(shell uname | tr '[:upper:]' '[:lower:]')-amd64)
276+
277+
.PHONY: helm-package
278+
helm-package: $(HELM) helm-chart
279+
$(LOCALBIN)/helm package charts/$(PROJECT_FULL_NAME)/ -d ./ --version $(shell cat VERSION)
280+
281+
.PHONY: helm-push
282+
helm-push: $(HELM)
283+
$(LOCALBIN)/helm push $(PROJECT_FULL_NAME)-$(shell cat VERSION).tgz oci://$(OCI_REGISTRY)
284+
264285
.PHONY: helm-chart
265286
helm-chart: ## Generate Helm chart files from templates.
266287
OPERATOR_VERSION=$(shell cat VERSION) envsubst < charts/$(PROJECT_FULL_NAME)/Chart.yaml.tpl > charts/$(PROJECT_FULL_NAME)/Chart.yaml
267288
OPERATOR_VERSION=$(shell cat VERSION) envsubst < charts/$(PROJECT_FULL_NAME)/values.yaml.tpl > charts/$(PROJECT_FULL_NAME)/values.yaml
268289

269290
.PHONY: helm-install-local
270-
helm-install-local: ## Install the Helm chart locally using the Docker image
271-
helm upgrade --install $(PROJECT_FULL_NAME) charts/$(PROJECT_FULL_NAME)/ --set image.repository=$(IMG_BASE) --set image.tag=$(IMG_VERSION) --set image.pullPolicy=Never
291+
helm-install-local: $(HELM) ## Install the Helm chart locally using the Docker image
292+
$(LOCALBIN)/helm upgrade --install $(PROJECT_FULL_NAME) charts/$(PROJECT_FULL_NAME)/ --set image.repository=$(IMG_BASE) --set image.tag=$(IMG_VERSION) --set image.pullPolicy=Never
272293
$(KIND) load docker-image ${IMG} --name=$(PROJECT_FULL_NAME)-dev
273294

274295
#----------------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)