Include go version into builds

This commit is contained in:
Dan Sosedoff 2019-11-29 13:59:50 -06:00
parent a21ff40588
commit 8b1f234b91
3 changed files with 17 additions and 7 deletions

View File

@ -1,9 +1,10 @@
TARGETS = darwin/amd64 darwin/386 linux/amd64 linux/386 windows/amd64 windows/386
GIT_COMMIT = $(shell git rev-parse HEAD)
BUILD_TIME = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ" | tr -d '\n')
GO_VERSION = $(shell go version | awk {'print $$3'})
BINDATA_IGNORE = $(shell git ls-files -io --exclude-standard $< | sed 's/^/-ignore=/;s/[.]/[.]/g')
DOCKER_RELEASE_TAG = "sosedoff/pgweb:$(shell git describe --abbrev=0 --tags | sed 's/v//')"
DOCKER_LATEST_TAG = "sosedoff/pgweb:latest"
BINDATA_IGNORE = $(shell git ls-files -io --exclude-standard $< | sed 's/^/-ignore=/;s/[.]/[.]/g')
usage:
@echo ""
@ -49,12 +50,12 @@ release: clean assets
@echo "Building binaries..."
@gox \
-osarch "$(TARGETS)" \
-ldflags "-X github.com/sosedoff/pgweb/pkg/command.GitCommit=$(GIT_COMMIT) -X github.com/sosedoff/pgweb/pkg/command.BuildTime=$(BUILD_TIME)" \
-ldflags "-X github.com/sosedoff/pgweb/pkg/command.GitCommit=$(GIT_COMMIT) -X github.com/sosedoff/pgweb/pkg/command.BuildTime=$(BUILD_TIME) -X github.com/sosedoff/pgweb/pkg/command.GoVersion=$(GO_VERSION)" \
-output "./bin/pgweb_{{.OS}}_{{.Arch}}"
@echo "Building ARM binaries..."
GOOS=linux GOARCH=arm GOARM=5 go build \
-ldflags "-X github.com/sosedoff/pgweb/pkg/command.GitCommit=$(GIT_COMMIT) -X github.com/sosedoff/pgweb/pkg/command.BuildTime=$(BUILD_TIME)" \
-ldflags "-X github.com/sosedoff/pgweb/pkg/command.GitCommit=$(GIT_COMMIT) -X github.com/sosedoff/pgweb/pkg/command.BuildTime=$(BUILD_TIME) -X github.com/sosedoff/pgweb/pkg/command.GoVersion=$(GO_VERSION)" \
-o "./bin/pgweb_linux_arm_v5"
@echo "\nPackaging binaries...\n"

View File

@ -143,12 +143,14 @@ func initOptions() {
}
func printVersion() {
str := fmt.Sprintf("Pgweb v%s", command.Version)
chunks := []string{fmt.Sprintf("Pgweb v%s", command.Version)}
if command.GitCommit != "" {
str += fmt.Sprintf(" (git: %s)", command.GitCommit)
chunks = append(chunks, fmt.Sprintf("(git: %s)", command.GitCommit))
}
fmt.Println(str)
if command.GoVersion != "" {
chunks = append(chunks, fmt.Sprintf("(go: %s)", command.GoVersion))
}
fmt.Println(strings.Join(chunks, " "))
}
func startServer() {

View File

@ -1,10 +1,17 @@
package command
const (
// Version is the current Pgweb application version
Version = "0.11.4"
)
var (
// GitCommit contains the Git commit SHA for the binary
GitCommit string
// BuildTime contains the binary build time
BuildTime string
// GoVersion contains the Go runtime version
GoVersion string
)