From ea97bf51c834aac5635ffc218de7ea3a694dc5db Mon Sep 17 00:00:00 2001 From: 9seconds Date: Fri, 2 Nov 2018 18:54:28 +0300 Subject: [PATCH 1/4] Remove autogeneration of version.go --- Makefile | 21 ++++++++++----------- main.go | 4 ++-- scripts/generate_version.sh | 12 ------------ 3 files changed, 12 insertions(+), 25 deletions(-) delete mode 100755 scripts/generate_version.sh diff --git a/Makefile b/Makefile index d0216b3..8e0c57a 100644 --- a/Makefile +++ b/Makefile @@ -3,26 +3,28 @@ IMAGE_NAME := mtg APP_NAME := $(IMAGE_NAME) CC_BINARIES := $(shell bash -c "echo -n $(APP_NAME)-{linux,freebsd,openbsd}-{386,amd64} $(APP_NAME)-linux-{arm,arm64}") -APP_DEPS := version.go GOLANGCI_LINT_VERSION := v1.10.2 -COMMON_BUILD_FLAGS := -ldflags="-s -w" +VERSION_GO := $(shell go version) +VERSION_DATE := $(shell date -Ru) +VERSION_TAG := $(shell git describe --long --always) +COMMON_BUILD_FLAGS := -ldflags="-s -w -X 'main.version=$(VERSION_TAG) ($(VERSION_GO)) [$(VERSION_DATE)]'" MOD_ON := env GO111MODULE=on MOD_OFF := env GO111MODULE=auto # ----------------------------------------------------------------------------- -$(APP_NAME): $(APP_DEPS) +$(APP_NAME): @$(MOD_ON) go build $(COMMON_BUILD_FLAGS) -o "$(APP_NAME)" -static-$(APP_NAME): $(APP_DEPS) +static-$(APP_NAME): @$(MOD_ON) env CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo $(COMMON_BUILD_FLAGS) -o "$(APP_NAME)" $(APP_NAME)-%: GOOS=$(shell echo -n "$@" | sed 's?$(APP_NAME)-??' | cut -f1 -d-) $(APP_NAME)-%: GOARCH=$(shell echo -n "$@" | sed 's?$(APP_NAME)-??' | cut -f2 -d-) -$(APP_NAME)-%: $(APP_DEPS) ccbuilds +$(APP_NAME)-%: ccbuilds @$(MOD_ON) env "GOOS=$(GOOS)" "GOARCH=$(GOARCH)" \ go build \ $(COMMON_BUILD_FLAGS) \ @@ -31,9 +33,6 @@ $(APP_NAME)-%: $(APP_DEPS) ccbuilds ccbuilds: @rm -rf ./ccbuilds && mkdir -p ./ccbuilds -version.go: - @$(MOD_ON) go generate main.go - vendor: go.mod go.sum @$(MOD_ON) go mod vendor @@ -53,15 +52,15 @@ crosscompile-dir: @rm -rf "$(CC_DIR)" && mkdir -p "$(CC_DIR)" .PHONY: test -test: vendor $(APP_DEPS) +test: vendor @$(MOD_ON) go test -v ./... .PHONY: lint -lint: vendor $(APP_DEPS) +lint: vendor @$(MOD_OFF) golangci-lint run .PHONY: critic -critic: vendor $(APP_DEPS) +critic: vendor @$(MOD_OFF) gocritic check-project "$(ROOT_DIR)" .PHONY: clean diff --git a/main.go b/main.go index 37d5ff5..7f1c76f 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,5 @@ package main -//go:generate scripts/generate_version.sh - import ( "encoding/json" "fmt" @@ -22,6 +20,8 @@ import ( "github.com/9seconds/mtg/stats" ) +var version = "dev" // this has to be set by build ld flags + var ( app = kingpin.New("mtg", "Simple MTPROTO proxy.") diff --git a/scripts/generate_version.sh b/scripts/generate_version.sh deleted file mode 100755 index 8a964ec..0000000 --- a/scripts/generate_version.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -set -eu - -PROJECT_DIR="$(git rev-parse --show-toplevel)" -OUTPUT_FILE="${PROJECT_DIR}/version.go" - -cat > "$OUTPUT_FILE" < Date: Fri, 2 Nov 2018 19:02:07 +0300 Subject: [PATCH 2/4] Update golangci-lint --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8e0c57a..8e45916 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ APP_NAME := $(IMAGE_NAME) CC_BINARIES := $(shell bash -c "echo -n $(APP_NAME)-{linux,freebsd,openbsd}-{386,amd64} $(APP_NAME)-linux-{arm,arm64}") -GOLANGCI_LINT_VERSION := v1.10.2 +GOLANGCI_LINT_VERSION := v1.11.2 VERSION_GO := $(shell go version) VERSION_DATE := $(shell date -Ru) From 28b3cbe91adf5a1e03814eb43fde4b745d67a98c Mon Sep 17 00:00:00 2001 From: 9seconds Date: Fri, 2 Nov 2018 19:02:39 +0300 Subject: [PATCH 3/4] Update dependencies --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3370d1a..221d572 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( go.uber.org/atomic v1.3.2 // indirect go.uber.org/multierr v1.1.0 // indirect go.uber.org/zap v1.9.1 - golang.org/x/net v0.0.0-20181029044818-c44066c5c816 // indirect + golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc // indirect golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f // indirect gopkg.in/alecthomas/kingpin.v2 v2.2.6 gopkg.in/alexcesaro/statsd.v2 v2.0.0 diff --git a/go.sum b/go.sum index 22ba675..bc62614 100644 --- a/go.sum +++ b/go.sum @@ -49,8 +49,8 @@ go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/zap v1.9.1 h1:XCJQEf3W6eZaVwhRBof6ImoYGJSITeKWsyeh3HFu/5o= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/net v0.0.0-20181029044818-c44066c5c816 h1:mVFkLpejdFLXVUv9E42f3XJVfMdqd0IVLVIVLjZWn5o= -golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc h1:ZMCWScCvS2fUVFw8LOpxyUUW5qiviqr4Dg5NdjLeiLU= +golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f h1:wMNYb4v58l5UBM7MYRLPG6ZhfOqbKu7X5eyFl8ZhKvA= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= From 7d6b661d977a0863fa84db2c6a19b550f81efa24 Mon Sep 17 00:00:00 2001 From: 9seconds Date: Fri, 2 Nov 2018 19:10:21 +0300 Subject: [PATCH 4/4] More correct command for versioning --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8e45916..c001a39 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ GOLANGCI_LINT_VERSION := v1.11.2 VERSION_GO := $(shell go version) VERSION_DATE := $(shell date -Ru) -VERSION_TAG := $(shell git describe --long --always) +VERSION_TAG := $(shell git describe --tags --always) COMMON_BUILD_FLAGS := -ldflags="-s -w -X 'main.version=$(VERSION_TAG) ($(VERSION_GO)) [$(VERSION_DATE)]'" MOD_ON := env GO111MODULE=on