diff --git a/Makefile b/Makefile index 2919255bdb..e02b6b7cb3 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,4 @@ NOW_RFC3339 = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") -GIT_SHA = $(shell git rev-parse HEAD 2>/dev/null || no_git) -GIT_BRANCH = $(shell git symbolic-ref --short HEAD 2>/dev/null ||:) -ifneq ($(GIT_BRANCH),) -GIT_COMMIT = $(GIT_SHA) ($(GIT_BRANCH)) -else -GIT_COMMIT = $(GIT_SHA) -endif all: build cmddocs @@ -15,7 +8,7 @@ generate: build: generate @echo Running Build - go build -o bin/flyctl -ldflags="-X 'github.com/superfly/flyctl/internal/buildinfo.buildDate=$(NOW_RFC3339)' -X 'github.com/superfly/flyctl/internal/buildinfo.commit=$(GIT_COMMIT)'" . + go build -o bin/flyctl -ldflags="-X 'github.com/superfly/flyctl/internal/buildinfo.buildDate=$(NOW_RFC3339)'" . test: FORCE go test ./... -ldflags="-X 'github.com/superfly/flyctl/internal/buildinfo.buildDate=$(NOW_RFC3339)'" --run=$(T) diff --git a/internal/buildinfo/version.go b/internal/buildinfo/version.go index e9d2c698c7..dc626a3a37 100644 --- a/internal/buildinfo/version.go +++ b/internal/buildinfo/version.go @@ -5,6 +5,7 @@ import ( "os" "strconv" "time" + "runtime/debug" "github.com/blang/semver" "github.com/superfly/flyctl/terminal" @@ -13,7 +14,6 @@ import ( var ( buildDate = "" version = "" - commit = "" ) var ( @@ -66,7 +66,22 @@ func loadMeta() { } func Commit() string { - return commit + info, _ := debug.ReadBuildInfo(); + var rev string = ""; + var dirty string = ""; + for _, v := range info.Settings { + if v.Key == "vcs.revision" { + rev = v.Value; + } + if v.Key == "vcs.modified" { + if v.Value == "true" { + dirty = "-dirty" + } else { + dirty = ""; + } + } + } + return rev + dirty; } func Version() semver.Version {