@@ -39,6 +39,13 @@ GO_MODULE_FILES := go.mod go.sum
3939# Disable CGO for all Go builds to create static binaries
4040export CGO_ENABLED =0
4141
42+ # Build version info (set at build time; release workflow overrides VERSION and GIT_SHA)
43+ VERSION_PACKAGE := github.com/securebuildhq/securebuild/pkg/buildversion
44+ VERSION ?= 0.0.0-dev
45+ GIT_SHA ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
46+ BUILD_TIME ?= $(shell date -u +% Y-% m-% dT% H:% M:% SZ)
47+ BUILD_LDFLAGS := -X $(VERSION_PACKAGE ) .version=$(VERSION ) -X $(VERSION_PACKAGE ) .gitSHA=$(GIT_SHA ) -X $(VERSION_PACKAGE ) .buildTime=$(BUILD_TIME )
48+
4249.PHONY : migrate
4350migrate :
4451 @echo " Running migrations..."
@@ -113,7 +120,7 @@ bin/worker: bin/builder-linux-amd64 bin/builder-linux-arm64 $(GO_SOURCES) $(GO_M
113120 @echo " Copying builder binaries for embedding..."
114121 cp bin/builder-linux-amd64 pkg/builder/builder-linux-amd64
115122 cp bin/builder-linux-arm64 pkg/builder/builder-linux-arm64
116- go build -o bin/worker cmd/main.go
123+ go build -ldflags " $( BUILD_LDFLAGS ) " - o bin/worker cmd/main.go
117124 @echo " Cleaning up copied builder binaries..."
118125 rm -f pkg/builder/builder-linux-amd64 pkg/builder/builder-linux-arm64
119126
@@ -122,14 +129,15 @@ build-worker: bin/worker
122129
123130# Cross-compiled worker binaries for release (linux/amd64 and linux/arm64).
124131# Embeds both builder binaries so the worker can build for either arch.
132+ # Set VERSION and GIT_SHA in CI (e.g. VERSION=1.2.3 GIT_SHA=abc1234 make build-worker-release).
125133.PHONY : build-worker-release
126134build-worker-release : bin/builder-linux-amd64 bin/builder-linux-arm64
127135 @echo " Building worker for linux/amd64..."
128136 cp bin/builder-linux-amd64 pkg/builder/builder-linux-amd64
129137 cp bin/builder-linux-arm64 pkg/builder/builder-linux-arm64
130- GOOS=linux GOARCH=amd64 go build -o bin/securebuild-worker-linux-amd64 cmd/main.go
138+ GOOS=linux GOARCH=amd64 go build -ldflags " $( BUILD_LDFLAGS ) " - o bin/securebuild-worker-linux-amd64 cmd/main.go
131139 @echo " Building worker for linux/arm64..."
132- GOOS=linux GOARCH=arm64 go build -o bin/securebuild-worker-linux-arm64 cmd/main.go
140+ GOOS=linux GOARCH=arm64 go build -ldflags " $( BUILD_LDFLAGS ) " - o bin/securebuild-worker-linux-arm64 cmd/main.go
133141 @echo " Cleaning up copied builder binaries..."
134142 rm -f pkg/builder/builder-linux-amd64 pkg/builder/builder-linux-arm64
135143
0 commit comments