add main project files
This commit is contained in:
58
Makefile
Normal file
58
Makefile
Normal file
@ -0,0 +1,58 @@
|
||||
IMAGE_REPO ?= reg.cadoles.com/cadoles/altcha
|
||||
|
||||
GORELEASER_VERSION ?= v1.13.1
|
||||
GORELEASER_ARGS ?= release --snapshot --rm-dist
|
||||
|
||||
ALTCHA_VERSION ?=
|
||||
GIT_COMMIT := $(shell git rev-parse --short HEAD)
|
||||
DATE_VERSION := $(shell date +%Y.%-m.%-d)
|
||||
FULL_VERSION := v$(DATE_VERSION)-$(GIT_COMMIT)$(if $(shell git diff --stat),-dirty,)
|
||||
|
||||
.PHONY: test
|
||||
test: test-go ## Executing tests
|
||||
|
||||
test-go:
|
||||
go test -v -race ./...
|
||||
|
||||
build: build-altcha
|
||||
|
||||
build-altcha: ## Build executable
|
||||
CGO_ENABLED=0 go build \
|
||||
-v \
|
||||
-ldflags "\
|
||||
-X 'main.GitRef=$(shell git rev-parse --short HEAD)' \
|
||||
-X 'main.ProjectVersion=$(FULL_VERSION)' \
|
||||
-X 'main.BuildDate=$(shell date --utc --rfc-3339=seconds)' \
|
||||
" \
|
||||
-o ./bin/altcha \
|
||||
./cmd/altcha
|
||||
|
||||
run:
|
||||
bin/altcha $(ATLCHA_CMD)
|
||||
|
||||
.PHONY: goreleaser
|
||||
goreleaser:
|
||||
curl -sfL https://goreleaser.com/static/run | VERSION=$(GORELEASER_VERSION) GORELEASER_CURRENT_TAG="$(FULL_VERSION)" bash /dev/stdin $(GORELEASER_ARGS)
|
||||
|
||||
build-image:
|
||||
docker build \
|
||||
-t "$(IMAGE_REPO):latest" \
|
||||
.
|
||||
|
||||
release-image: .mktools
|
||||
@[ ! -z "$(MKT_PROJECT_VERSION)" ] || ( echo "Just downloaded mktools. Please re-run command."; exit 1 )
|
||||
docker tag "$(IMAGE_REPO):latest" "$(IMAGE_REPO):$(MKT_PROJECT_VERSION)"
|
||||
docker tag "$(IMAGE_REPO):latest" "$(IMAGE_REPO):$(MKT_PROJECT_SHORT_VERSION)"
|
||||
docker push "$(IMAGE_REPO):latest"
|
||||
docker push "$(IMAGE_REPO):$(MKT_PROJECT_VERSION)"
|
||||
docker push "$(IMAGE_REPO):$(MKT_PROJECT_SHORT_VERSION)"
|
||||
|
||||
.PHONY: mktools
|
||||
mktools:
|
||||
rm -rf .mktools
|
||||
curl -q https://forge.cadoles.com/Cadoles/mktools/raw/branch/master/install.sh | $(SHELL)
|
||||
|
||||
.mktools:
|
||||
$(MAKE) mktools
|
||||
|
||||
-include .mktools/*.mk
|
Reference in New Issue
Block a user