From ce18ef35a8a9cecc2f29b9038266f3a12a3cd987 Mon Sep 17 00:00:00 2001 From: Vault Automation Date: Fri, 24 Apr 2026 07:41:32 -0400 Subject: [PATCH] Backport Make it possible to skip the `go generate` part of the build. into ce/main (#14245) --- Makefile | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 082006b01e..e42f721a8a 100644 --- a/Makefile +++ b/Makefile @@ -170,18 +170,24 @@ protolint: prep check-tools-external @echo "==> Linting protobufs..." @buf lint -# prep runs `go generate` to build the dynamically generated -# source files. +# prep runs `go generate` to build the dynamically generated source files. +# Since generated files are committed to git, this is usually not needed. +# Set SKIP_GEN=1 to skip generation (for savvy users who know they don't need it). # # n.b.: prep used to depend on fmtcheck, but since fmtcheck is # now run as a pre-commit hook (and there's little value in # making every build run the formatter), we've removed that # dependency. -prep: check-go-version clean - @echo "==> Running go generate..." - @GOARCH= GOOS= $(GO_CMD) generate $(MAIN_PACKAGES) - @GOARCH= GOOS= cd api && $(GO_CMD) generate $(API_PACKAGES) - @GOARCH= GOOS= cd sdk && $(GO_CMD) generate $(SDK_PACKAGES) +prep: check-go-version + @if [ "$(SKIP_GEN)" = "1" ]; then \ + echo "==> Skipping go generate (SKIP_GEN=1)"; \ + else \ + $(MAKE) clean; \ + echo "==> Running go generate..."; \ + GOARCH= GOOS= $(GO_CMD) generate $(MAIN_PACKAGES); \ + (cd api && GOARCH= GOOS= $(GO_CMD) generate $(API_PACKAGES)); \ + (cd sdk && GOARCH= GOOS= $(GO_CMD) generate $(SDK_PACKAGES)); \ + fi # Git doesn't allow us to store shared hooks in .git. Instead, we make sure they're up-to-date # whenever a make target is invoked.