chore(build): add version embedding to Makefile
All checks were successful
CI / Test (push) Successful in 33s
CI / Lint (push) Successful in 29s
CI / Build (push) Successful in 20s
Release / Create Release (push) Successful in 36s

Embed version, commit hash, and build date into the Go binary using ldflags.
This provides better traceability for development builds.
This commit is contained in:
Greg Gauthier 2026-03-02 00:10:39 +00:00
parent 9278c2c718
commit 3f293d1c4e

View File

@ -1,5 +1,9 @@
.PHONY: test test-cover test-agent lint build install clean
VERSION ?= dev-$(shell git describe --tags --always --dirty 2>/dev/null || echo unknown)
COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo unknown)
DATE ?= $(shell date -u +%Y-%m-%dT%H:%M:%SZ 2>/dev/null || echo unknown)
test:
go test ./... -v
@ -18,7 +22,8 @@ lint:
build:
@mkdir -p build
go build -ldflags "-s -w" -trimpath -o build/grokkit .
go build -trimpath -ldflags "-s -w -X 'gmgauthier.com/grokkit/internal/version.Version=$(VERSION)' -X 'gmgauthier.com/grokkit/internal/version.Commit=$(COMMIT)' -X 'gmgauthier.com/grokkit/internal/version.BuildDate=$(DATE)'" -o build/grokkit .
@echo "✅ Dev build: VERSION=$(VERSION) COMMIT=$(COMMIT) DATE=$(DATE)"
install: build
mkdir -p ~/.local/bin