.DEFAULT_GOAL := help
VERSION ?= $(shell cat Cargo.toml | grep -Po 'version = "\K([0-9].[0-9].[0-9])')
DOCKER_REGISTRY ?= hendrikmaus
DOCKER_IMAGE ?= helm-templexer
DOCKER_TAG ?= $(VERSION)
install:
cargo install --path .
.PHONY: install
update: install
.PHONY: update
uninstall:
cargo uninstall --bin helm-templexer
.PHONY: uninstall
docker-build:
DOCKER_BUILDKIT=1 docker build \
--tag $(DOCKER_REGISTRY)/$(DOCKER_IMAGE):$(DOCKER_TAG) \
$(CURDIR)
.PHONY: docker-build
docker-push:
docker push \
$(DOCKER_REGISTRY)/$(DOCKER_IMAGE):$(DOCKER_TAG)
docker tag \
$(DOCKER_REGISTRY)/$(DOCKER_IMAGE):$(DOCKER_TAG) \
$(DOCKER_REGISTRY)/$(DOCKER_IMAGE):latest
docker push \
$(DOCKER_REGISTRY)/$(DOCKER_IMAGE):latest
.PHONY: docker-push
release:
$(MAKE) \
cargo-publish \
docker-publish \
github-publish
.PHONY: release
cargo-publish:
cargo publish
.PHONY: cargo-publish
docker-publish:
$(MAKE) docker-build docker-push
.PHONY: docker-publish
github-publish:
gh release create $(VERSION) \
--title $(VERSION)
.PHONY: github-publish
clean:
cargo clean
.PHONY: clean
help:
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[.a-zA-Z_-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
.PHONY: help