GOCMD=go GOBUILD=$(GOCMD) build GOCLEAN=$(GOCMD) clean GOTEST=$(GOCMD) test COMMIT?=$(shell git rev-parse --short HEAD) BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S') GOOS?=linux GOARCH?=amd64 DOCKER_REGISTRY=yourRegistryHost: BINARY_NAME=$(shell basename `pwd`) PORT?=1488 SHELL = /bin/bash LDFLAGS=-s -w -X github.com/skeris/appInit/version.Release=${shell git describe --tags --abbrev=0} \ -X github.com/skeris/appInit/version.Commit=${COMMIT} -X github.com/skeris/appInit/version.BuildTime=${BUILD_TIME} all: compile run clean: rm -f $(BINARY_NAME) rm -f ./worker/worker compile: clean CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} $(GOBUILD) -ldflags "${LDFLAGS}" -o ${BINARY_NAME} CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} $(GOBUILD) -ldflags "${LDFLAGS}" -o ./worker/worker run: compile ./$(BINARY_NAME) container: compile docker build -t $(BINARY_NAME):${shell git describe --tags --abbrev=0} . docker build -t $(BINARY_NAME)-worker:${shell git describe --tags --abbrev=0} ./worker docker-push: container docker tag $(BINARY_NAME) $(DOCKER_REGISTRY)/$(BINARY_NAME) docker tag $(BINARY_NAME)-worker $(DOCKER_REGISTRY)/$(BINARY_NAME)-worker pull: docker pull $(DOCKER_REGISTRY)/$(BINARY_NAME) docker pull $(DOCKER_REGISTRY)/$(BINARY_NAME)-worker docker tag $(DOCKER_REGISTRY)/$(BINARY_NAME) $(BINARY_NAME) docker tag $(DOCKER_REGISTRY)/$(BINARY_NAME)-worker $(BINARY_NAME)-worker run-container: docker run --rm --name squiz --network host -p 1488:1488 $(BINARY_NAME):latest test: $(GOTEST) -v -race ./... commit-all: git add -A git commit -a git push push-new-release: commit-all git tag ${shell git describe --tags --abbrev=0 | awk -F '.' '{print "v"$$1+1".0.0"}'} git push --tags push-new-feature: commit-all git tag ${shell git describe --tags --abbrev=0 | awk -F '.' '{print $$1"."$$2+1".0"}'} git push --tags push-new-state: commit-all git tag ${shell git describe --tags --abbrev=0 | awk -F '.' '{print $$1"."$$2"."$$3+1}'} git push --tags benchmark: mv ./tests/new.txt ./tests/old.txt go test -run=NONE -bench=. -benchmem ./tests -test.short > ./tests/new.txt benchstat -html ./tests/old.txt ./tests/new.txt > benchmark.html # show full set of messages test-in-docker-debug: docker-compose -f deployments/test/docker-compose.yaml up --build --force-recreate # show only relevant messages test-in-docker: docker-compose -f deployments/test/docker-compose.yaml up --build --force-recreate --exit-code-from test-squiz 2>/dev/null | grep ^test-squiz