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
7fa70b8cdf
commit
5aa4dd2975
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