# Makefile for releasing podinfo # # The release version is controlled from pkg/version TAG?=latest NAME:=podinfo DOCKER_REPOSITORY:=stefanprodan DOCKER_IMAGE_NAME:=$(DOCKER_REPOSITORY)/$(NAME) GITCOMMIT:=$(shell git describe --dirty --always) VERSION:=$(shell grep 'VERSION' pkg/version/version.go | awk '{ print $$4 }' | tr -d '"') run: GO111MODULE=on go run cmd/podinfo/* test: GO111MODULE=on go test -v -race ./... build: GO111MODULE=on GIT_COMMIT=$$(git rev-list -1 HEAD) && GO111MODULE=on CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/stefanprodan/podinfo/pkg/version.REVISION=$${GIT_COMMIT}" -a -o ./bin/podinfo ./cmd/podinfo/* GO111MODULE=on GIT_COMMIT=$$(git rev-list -1 HEAD) && GO111MODULE=on CGO_ENABLED=0 go build -ldflags "-s -w -X github.com/stefanprodan/podinfo/pkg/version.REVISION=$${GIT_COMMIT}" -a -o ./bin/podcli ./cmd/podcli/* build-charts: helm lint charts/* helm package charts/* build-container: docker build -t $(DOCKER_IMAGE_NAME):$(VERSION) . push-container: docker push $(DOCKER_IMAGE_NAME):$(VERSION) docker tag $(DOCKER_IMAGE_NAME):$(VERSION) quay.io/$(DOCKER_IMAGE_NAME):$(VERSION) docker push quay.io/$(DOCKER_IMAGE_NAME):$(VERSION) version-set: @next="$(TAG)" && \ current="$(VERSION)" && \ sed -i '' "s/$$current/$$next/g" pkg/version/version.go && \ sed -i '' "s/tag: $$current/tag: $$next/g" charts/podinfo/values.yaml && \ sed -i '' "s/appVersion: $$current/appVersion: $$next/g" charts/podinfo/Chart.yaml && \ sed -i '' "s/version: $$current/version: $$next/g" charts/podinfo/Chart.yaml && \ sed -i '' "s/podinfo:$$current/podinfo:$$next/g" kustomize/deployment.yaml && \ echo "Version $$next set in code, deployment, chart and kustomize" release: git tag $(VERSION) git push origin $(VERSION)