feat(cli): add git commit hash to version output
Users can now see the exact git commit used to build the binary, which helps with debugging and deployment tracking.
This commit is contained in:
parent
a604cd7223
commit
411ec69579
2 changed files with 21 additions and 6 deletions
3
Makefile
3
Makefile
|
|
@ -8,9 +8,10 @@ MAIN_GO=$(CMD_DIR)/main.go
|
|||
|
||||
# Version
|
||||
VERSION?=$(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
||||
GIT_COMMIT=$(shell git rev-parse --short=8 HEAD 2>/dev/null || echo "unknown")
|
||||
BUILD_TIME=$(shell date +%FT%T%z)
|
||||
GO_VERSION=$(shell $(GO) version | awk '{print $$3}')
|
||||
LDFLAGS=-ldflags "-X main.version=$(VERSION) -X main.buildTime=$(BUILD_TIME) -X main.goVersion=$(GO_VERSION)"
|
||||
LDFLAGS=-ldflags "-X main.version=$(VERSION) -X main.gitCommit=$(GIT_COMMIT) -X main.buildTime=$(BUILD_TIME) -X main.goVersion=$(GO_VERSION)"
|
||||
|
||||
# Go variables
|
||||
GO?=go
|
||||
|
|
|
|||
|
|
@ -35,15 +35,20 @@ import (
|
|||
)
|
||||
|
||||
var (
|
||||
version = "dev"
|
||||
buildTime string
|
||||
goVersion string
|
||||
version = "dev"
|
||||
gitCommit string
|
||||
buildTime string
|
||||
goVersion string
|
||||
)
|
||||
|
||||
const logo = "🦞"
|
||||
|
||||
func printVersion() {
|
||||
fmt.Printf("%s picoclaw %s\n", logo, version)
|
||||
fmt.Printf("%s picoclaw %s", logo, version)
|
||||
if gitCommit != "" {
|
||||
fmt.Printf(" (git: %s)", gitCommit)
|
||||
}
|
||||
fmt.Println()
|
||||
if buildTime != "" {
|
||||
fmt.Printf(" Build: %s\n", buildTime)
|
||||
}
|
||||
|
|
@ -760,7 +765,16 @@ func statusCmd() {
|
|||
|
||||
configPath := getConfigPath()
|
||||
|
||||
fmt.Printf("%s picoclaw Status\n\n", logo)
|
||||
fmt.Printf("%s picoclaw Status\n", logo)
|
||||
fmt.Printf("Version: %s", version)
|
||||
if gitCommit != "" {
|
||||
fmt.Printf(" (git: %s)", gitCommit)
|
||||
}
|
||||
fmt.Println()
|
||||
if buildTime != "" {
|
||||
fmt.Printf("Build: %s\n", buildTime)
|
||||
}
|
||||
fmt.Println()
|
||||
|
||||
if _, err := os.Stat(configPath); err == nil {
|
||||
fmt.Println("Config:", configPath, "✓")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue