WIP: Working on the "release" target in Makefile
This commit is contained in:
parent
308fe5666b
commit
a90e996b7d
19
Makefile
19
Makefile
@ -3,6 +3,7 @@ VERSION := $(shell cat VERSION)
|
|||||||
BUILD_DIR := build
|
BUILD_DIR := build
|
||||||
DIST_DIR := dist
|
DIST_DIR := dist
|
||||||
LDFLAGS := "-w -s"
|
LDFLAGS := "-w -s"
|
||||||
|
VVERSION := v$(VERSION)
|
||||||
|
|
||||||
build:
|
build:
|
||||||
@echo "Building for this platform ..."
|
@echo "Building for this platform ..."
|
||||||
@ -13,30 +14,28 @@ build:
|
|||||||
|
|
||||||
.PHONY: release
|
.PHONY: release
|
||||||
release:
|
release:
|
||||||
# Check if the git working directory is clean
|
@echo "Check if the git working directory is clean"
|
||||||
@if [ -n "$$(git status --porcelain)" ]; then \
|
@if [ -n "$$(git status --porcelain)" ]; then \
|
||||||
echo "Error: The working directory is not clean. Please commit or stash your changes."; \
|
echo "Error: The working directory is not clean. Please commit or stash your changes."; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VVERSION=v$(VERSION)
|
@echo "Check if the version tag already exists and does not point to HEAD"
|
||||||
|
@if git rev-parse $(VVERSION) >/dev/null 2>&1; then \
|
||||||
# Check if the version tag already exists and does not point to HEAD
|
|
||||||
@if git rev-parse $$VVERSION >/dev/null 2>&1; then \
|
|
||||||
if ! git describe --tags --exact-match HEAD >/dev/null 2>&1; then \
|
if ! git describe --tags --exact-match HEAD >/dev/null 2>&1; then \
|
||||||
echo "Error: Version $$VVERSION is already tagged on a different commit."; \
|
echo "Error: Version $(VVERSION) is already tagged on a different commit."; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Tag the latest commit with the version from VERSION file if not already tagged
|
@echo "Tag the latest commit with the version from VERSION file if not already tagged"
|
||||||
@if ! git describe --tags --exact-match HEAD >/dev/null 2>&1; then \
|
@if ! git describe --tags --exact-match HEAD >/dev/null 2>&1; then \
|
||||||
echo "Latest commit not tagged. Tagging with version from VERSION file..."; \
|
echo "Latest commit not tagged. Tagging with version from VERSION file..."; \
|
||||||
git tag -a $$VVERSION -m "Release $$VVERSION"; \
|
git tag -a $(VVERSION) -m "Release $(VVERSION)"; \
|
||||||
git push origin $$VVERSION; \
|
git push origin $(VVERSION); \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set GITEA_TOKEN variable and run goreleaser
|
@echo "Set GITEA_TOKEN variable and run goreleaser"
|
||||||
@$(eval GITEA_TOKEN=$(shell pass www/behzadan.ir/git/reza/tokens/dt06-goreleaser))
|
@$(eval GITEA_TOKEN=$(shell pass www/behzadan.ir/git/reza/tokens/dt06-goreleaser))
|
||||||
@goreleaser release
|
@goreleaser release
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user