From 154555e912f23498a872b080fb25a7afff4c3c9f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 16 Mar 2023 11:37:08 +0800 Subject: [PATCH] check go version when build (#53) Fix #51 Reviewed-on: https://gitea.com/gitea/act_runner/pulls/53 --- Makefile | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index af33e75..437138c 100644 --- a/Makefile +++ b/Makefile @@ -76,6 +76,16 @@ fmt: vet: $(GO) vet ./... +.PHONY: go-check +go-check: + $(eval MIN_GO_VERSION_STR := $(shell grep -Eo '^go\s+[0-9]+\.[0-9]+' go.mod | cut -d' ' -f2)) + $(eval MIN_GO_VERSION := $(shell printf "%03d%03d" $(shell echo '$(MIN_GO_VERSION_STR)' | tr '.' ' '))) + $(eval GO_VERSION := $(shell printf "%03d%03d" $(shell $(GO) version | grep -Eo '[0-9]+\.[0-9]+' | tr '.' ' ');)) + @if [ "$(GO_VERSION)" -lt "$(MIN_GO_VERSION)" ]; then \ + echo "Act Runner requires Go $(MIN_GO_VERSION_STR) or greater to build. You can get it at https://go.dev/dl/"; \ + exit 1; \ + fi + .PHONY: fmt-check fmt-check: @hash gofumpt > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ @@ -94,7 +104,7 @@ test: fmt-check install: $(GOFILES) $(GO) install -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -build: $(EXECUTABLE) +build: go-check $(EXECUTABLE) $(EXECUTABLE): $(GOFILES) $(GO) build -v -tags '$(TAGS)' -ldflags '$(EXTLDFLAGS)-s -w $(LDFLAGS)' -o $@