github.com/azlyth/helm@v2.8.2+incompatible/versioning.mk (about) 1 MUTABLE_VERSION := canary 2 3 GIT_COMMIT = $(shell git rev-parse HEAD) 4 GIT_SHA = $(shell git rev-parse --short HEAD) 5 GIT_TAG = $(shell git describe --tags --abbrev=0 --exact-match 2>/dev/null) 6 GIT_DIRTY = $(shell test -n "`git status --porcelain`" && echo "dirty" || echo "clean") 7 8 ifdef VERSION 9 DOCKER_VERSION = $(VERSION) 10 BINARY_VERSION = $(VERSION) 11 endif 12 13 DOCKER_VERSION ?= git-${GIT_SHA} 14 BINARY_VERSION ?= ${GIT_TAG} 15 16 # Only set Version if building a tag or VERSION is set 17 ifneq ($(BINARY_VERSION),) 18 LDFLAGS += -X k8s.io/helm/pkg/version.Version=${BINARY_VERSION} 19 endif 20 21 # Clear the "unreleased" string in BuildMetadata 22 ifneq ($(GIT_TAG),) 23 LDFLAGS += -X k8s.io/helm/pkg/version.BuildMetadata= 24 endif 25 LDFLAGS += -X k8s.io/helm/pkg/version.GitCommit=${GIT_COMMIT} 26 LDFLAGS += -X k8s.io/helm/pkg/version.GitTreeState=${GIT_DIRTY} 27 28 IMAGE := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME}:${DOCKER_VERSION} 29 IMAGE_RUDDER := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME_RUDDER}:${DOCKER_VERSION} 30 MUTABLE_IMAGE := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME}:${MUTABLE_VERSION} 31 MUTABLE_IMAGE_RUDDER := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME_RUDDER}:${DOCKER_VERSION} 32 33 DOCKER_PUSH = docker push 34 ifeq ($(DOCKER_REGISTRY),gcr.io) 35 DOCKER_PUSH = gcloud docker push 36 endif 37 38 info: 39 @echo "Version: ${VERSION}" 40 @echo "Git Tag: ${GIT_TAG}" 41 @echo "Git Commit: ${GIT_COMMIT}" 42 @echo "Git Tree State: ${GIT_DIRTY}" 43 @echo "Docker Version: ${DOCKER_VERSION}" 44 @echo "Registry: ${DOCKER_REGISTRY}" 45 @echo "Immutable Image: ${IMAGE}" 46 @echo "Mutable Image: ${MUTABLE_IMAGE}" 47 48 .PHONY: docker-push 49 docker-push: docker-mutable-push docker-immutable-push 50 51 .PHONY: docker-immutable-push 52 docker-immutable-push: 53 ${DOCKER_PUSH} ${IMAGE} 54 55 .PHONY: docker-mutable-push 56 docker-mutable-push: 57 ${DOCKER_PUSH} ${MUTABLE_IMAGE}