ROOT_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) VERSION=$(shell git rev-parse --short HEAD) TAG=arkindex-backend .PHONY: build clean: rm -rf *.egg-info build dist .eggs find . -name '*.pyc' -exec rm {} \; build: clean docker build $(ROOT_DIR) -t $(TAG):$(VERSION) publish-version: require-docker-auth $(MAKE) build TAG=registry.gitlab.com/arkindex/backend docker push registry.gitlab.com/arkindex/backend:$(VERSION) latest: $(MAKE) publish-version VERSION=latest release: require-version echo $(version) > $(ROOT_DIR)/VERSION $(MAKE) publish-version VERSION=$(version) git commit $(ROOT_DIR)/VERSION -m 'Release $(version)' git tag $(version) require-docker-auth: @grep registry.gitlab.com ~/.docker/config.json > /dev/null || (echo "Docker Login on registry.gitlab.com"; docker login registry.gitlab.com) require-version: @if [ ! "$(version)" ]; then echo "Missing version to publish"; exit 1; fi @git rev-parse $(version) >/dev/null 2>&1 && (echo "Version $(version) already exists on local git repo !" && exit 1) || true