mirror of
https://github.com/submariner-io/submariner-charts.git
synced 2026-09-20 22:40:34 +00:00
Use the '--app-version' parameter to 'helm package' to dynamically set the chart 'appVersion' field. We can then omit the hardcoded 'appVersion' field in the Chart.yaml file. The chart 'version' field is also set by 'helm package' but we still need to define it in the Chart.yaml file since 'help dep update' requires it. The placeholder 'version' field is now set to 0.0.0 just to give it some value. For E2E, since the version fields are no longer hardcoded, it now simulates a release by running 'helm package' and extracting the tar files to HELM_REPO_LOCATION, now set to ./helm_repo. Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
82 lines
2.1 KiB
Makefile
82 lines
2.1 KiB
Makefile
BASE_BRANCH ?= release-0.14
|
|
export BASE_BRANCH
|
|
export HELM_REPO_LOCATION=./helm_repo
|
|
|
|
ifneq (,$(DAPPER_HOST_ARCH))
|
|
|
|
# Running in Dapper
|
|
|
|
include $(SHIPYARD_DIR)/Makefile.inc
|
|
|
|
ifneq (,$(filter ovn,$(_using)))
|
|
export SETTINGS = $(DAPPER_SOURCE)/.shipyard.e2e.ovn.yml
|
|
else
|
|
export SETTINGS = $(DAPPER_SOURCE)/.shipyard.e2e.yml
|
|
endif
|
|
|
|
export DEPLOYTOOL = helm
|
|
GH_URL=https://submariner-io.github.io/submariner-charts/charts
|
|
CHARTS_DIR=charts
|
|
CHARTS_VERSION=0.14.4
|
|
HELM_DOCS_VERSION=0.15.0
|
|
REPO_URL=$(shell git config remote.origin.url)
|
|
SUBCTL_VERSION=$(CHARTS_VERSION)
|
|
export SUBCTL_VERSION
|
|
|
|
# Targets to make
|
|
|
|
CHART_PACKAGES := submariner-k8s-broker-$(CHARTS_VERSION).tgz submariner-operator-$(CHARTS_VERSION).tgz
|
|
|
|
local-helm-repo: $(CHART_PACKAGES)
|
|
mkdir -p $(HELM_REPO_LOCATION)
|
|
for archive in $^; do \
|
|
tar xzf $$archive -C $(HELM_REPO_LOCATION); \
|
|
done
|
|
|
|
e2e: local-helm-repo
|
|
$(SCRIPTS_DIR)/e2e.sh
|
|
|
|
%.tgz:
|
|
helm dep update $(subst -$(CHARTS_VERSION),,$(basename $(@F)))
|
|
helm package --version $(CHARTS_VERSION) --app-version $(CHARTS_VERSION) $(subst -$(CHARTS_VERSION),,$(basename $(@F)))
|
|
|
|
helm-docs:
|
|
# Avoid polluting repo with helm-docs' README/LICENSE or other files in the release archive
|
|
cd /tmp && \
|
|
curl -sL https://github.com/norwoodj/helm-docs/releases/download/v$(HELM_DOCS_VERSION)/helm-docs_$(HELM_DOCS_VERSION)_Linux_x86_64.tar.gz | tar zx && \
|
|
cd -
|
|
/tmp/helm-docs
|
|
if [ ! -z $(git status --porcelain) ]; then \
|
|
echo "Helm docs not up-to-date:"; \
|
|
git status --porcelain; \
|
|
git diff; \
|
|
echo "Run make helm-docs locally to generate updated docs, commit the updates."; \
|
|
exit 1; \
|
|
fi
|
|
|
|
release: $(CHART_PACKAGES)
|
|
git checkout gh-pages
|
|
mv *.tgz $(CHARTS_DIR)
|
|
if [ -f $(CHARTS_DIR)/index.yaml ]; then \
|
|
helm repo index $(CHARTS_DIR) --url $(GH_URL) --merge $(CHARTS_DIR)/index.yaml; \
|
|
else \
|
|
helm repo index $(CHARTS_DIR) --url $(GH_URL); \
|
|
fi
|
|
|
|
.PHONY: release helm-docs
|
|
|
|
else
|
|
|
|
# Not running in Dapper
|
|
|
|
Makefile.dapper:
|
|
@echo Downloading $@
|
|
@curl -sfLO https://raw.githubusercontent.com/submariner-io/shipyard/$(BASE_BRANCH)/$@
|
|
|
|
include Makefile.dapper
|
|
|
|
endif
|
|
|
|
# Disable rebuilding Makefile
|
|
Makefile Makefile.inc: ;
|