make: add help, build, lint to the canonical target set
Docker Build & Push (Reusable) / create-manifest (push) Blocked by required conditions
Docker Build & Push (Reusable) / tag-single-arch (push) Blocked by required conditions
Docker Build & Push (Reusable) / deploy (push) Blocked by required conditions
Docker Build & Push (Reusable) / sbom (push) Blocked by required conditions
Build kms / build (push) Waiting to run
Docker Build & Push (Reusable) / build-amd64 (push) Waiting to run
Docker Build & Push (Reusable) / build-arm64 (push) Skipped
Release / Build binaries (linux/amd64) (push) Waiting to run
Release / GitHub Release (push) Blocked by required conditions
Release / Multi-arch Docker (ghcr.io/hanzoai/kms) (push) Blocked by required conditions
Release / Notify universe (auto-bump pin) (push) Blocked by required conditions
Release / Build binaries (linux/arm64) (push) Failing after 0s
Release / Build binaries (darwin/amd64) (push) Failing after 0s
Release / Build binaries (darwin/arm64) (push) Failing after 0s

build names the two binaries the Dockerfile ships (kmsd + kms) by calling
their existing recipes rather than repeating them; lint aliases vet, the one
static check this repo runs. help is the first target, so bare `make` now
prints the target list instead of building kmsd.

clean is unchanged — it already removed exactly the two binaries.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-09-03 13:23:16 -07:00
co-authored by Hanzo Dev
parent a0222b2e03
commit d445023116
+19 -6
View File
@@ -1,18 +1,31 @@
# Hanzo KMS
kmsd:
help: ## Show this help.
@awk 'BEGIN{FS=":.*##";printf "\nUsage: make <target>\n\nTargets:\n"} /^[a-zA-Z_-]+:.*##/{printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
# What the image ships. The Dockerfile builds exactly these two binaries and no
# others — cmd/kms-fetch and cmd/smoke-zap are helpers, not release artifacts.
# It names the two recipes below rather than repeating them, so each binary has
# one build. Those recipes stay a plain `go build`: the image adds CGO_ENABLED=0,
# GOEXPERIMENT=jsonv2 and -ldflags="-s -w" on top, which is a release concern and
# not what you want in the edit loop.
build: kmsd kms ## Build both binaries the image ships: ./kmsd and ./kms.
kmsd: ## Build the KMS server.
go build -o kmsd ./cmd/kmsd/
kms:
kms: ## Build the KMS CLI.
go build -o kms ./cmd/kms/
test:
test: ## Run the tests.
go test ./...
vet:
vet: ## Vet.
go vet ./...
clean:
lint: vet ## Lint — go vet, the one static check this repo runs.
clean: ## Remove the built binaries.
rm -f kmsd kms
.PHONY: kmsd kms test vet clean
.PHONY: help build kmsd kms test vet lint clean