From 5d8fe52f818ffdce975b5c0ff0ff9d1da70f9620 Mon Sep 17 00:00:00 2001 From: timflannagan Date: Wed, 15 Jan 2025 20:42:57 +0000 Subject: [PATCH] Makefile: Fix LDFLAGS quoting issues - goreleaser has validation logic that denies LDFLAGS variable with quotes - various testing suites were failing trying to build and load our component container images Signed-off-by: timflannagan --- Makefile | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index ad2ed85e555..5cd0c8c7a89 100644 --- a/Makefile +++ b/Makefile @@ -49,7 +49,7 @@ SOURCES := $(shell find . -name "*.go" | grep -v test.go) # and # https://soloio.slab.com/posts/extended-http-methods-design-doc-40j7pjeu export ENVOY_GLOO_IMAGE ?= quay.io/solo-io/envoy-gloo:1.31.2-patch3 -export LDFLAGS := -X github.com/solo-io/gloo/pkg/version.Version=$(VERSION) +export LDFLAGS := -X 'github.com/solo-io/gloo/pkg/version.Version=$(VERSION)' export GCFLAGS ?= UNAME_M := $(shell uname -m) @@ -199,7 +199,7 @@ GINKGO_USER_FLAGS ?= .PHONY: test test: ## Run all tests, or only run the test package at {TEST_PKG} if it is specified - $(GINKGO_ENV) go run github.com/onsi/ginkgo/v2/ginkgo -ldflags=$(LDFLAGS) \ + $(GINKGO_ENV) go run github.com/onsi/ginkgo/v2/ginkgo -ldflags='$(LDFLAGS)' \ $(GINKGO_FLAGS) $(GINKGO_REPORT_FLAGS) $(GINKGO_USER_FLAGS) \ $(TEST_PKG) @@ -248,7 +248,7 @@ GO_TEST_USER_ARGS ?= .PHONY: go-test go-test: ## Run all tests, or only run the test package at {TEST_PKG} if it is specified go-test: clean-bug-report clean-test-logs $(BUG_REPORT_DIR) $(TEST_LOG_DIR) # Ensure the bug_report dir is reset before each invocation - @$(GO_TEST_ENV) go test -ldflags=$(LDFLAGS) \ + @$(GO_TEST_ENV) go test -ldflags='$(LDFLAGS)' \ $(GO_TEST_ARGS) $(GO_TEST_USER_ARGS) \ $(TEST_PKG) > $(TEST_LOG_DIR)/go-test 2>&1; \ RESULT=$$?; \ @@ -424,7 +424,7 @@ INGRESS_SOURCES=$(call get_sources,$(INGRESS_DIR)) INGRESS_OUTPUT_DIR=$(OUTPUT_DIR)/$(INGRESS_DIR) $(INGRESS_OUTPUT_DIR)/ingress-linux-$(GOARCH): $(INGRESS_SOURCES) - $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags=$(LDFLAGS) -gcflags=$(GCFLAGS) -o $@ $(INGRESS_DIR)/cmd/main.go + $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags='$(LDFLAGS)' -gcflags=$(GCFLAGS) -o $@ $(INGRESS_DIR)/cmd/main.go .PHONY: ingress ingress: $(INGRESS_OUTPUT_DIR)/ingress-linux-$(GOARCH) @@ -458,7 +458,7 @@ ACCESS_LOG_SOURCES=$(call get_sources,$(ACCESS_LOG_DIR)) ACCESS_LOG_OUTPUT_DIR=$(OUTPUT_DIR)/$(ACCESS_LOG_DIR) $(ACCESS_LOG_OUTPUT_DIR)/access-logger-linux-$(GOARCH): $(ACCESS_LOG_SOURCES) - $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags=$(LDFLAGS) -gcflags=$(GCFLAGS) -o $@ $(ACCESS_LOG_DIR)/cmd/main.go + $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags='$(LDFLAGS)' -gcflags=$(GCFLAGS) -o $@ $(ACCESS_LOG_DIR)/cmd/main.go .PHONY: access-logger access-logger: $(ACCESS_LOG_OUTPUT_DIR)/access-logger-linux-$(GOARCH) @@ -492,7 +492,7 @@ DISCOVERY_SOURCES=$(call get_sources,$(DISCOVERY_DIR)) DISCOVERY_OUTPUT_DIR=$(OUTPUT_DIR)/$(DISCOVERY_DIR) $(DISCOVERY_OUTPUT_DIR)/discovery-linux-$(GOARCH): $(DISCOVERY_SOURCES) - $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags=$(LDFLAGS) -gcflags=$(GCFLAGS) -o $@ $(DISCOVERY_DIR)/cmd/main.go + $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags='$(LDFLAGS)' -gcflags=$(GCFLAGS) -o $@ $(DISCOVERY_DIR)/cmd/main.go .PHONY: discovery discovery: $(DISCOVERY_OUTPUT_DIR)/discovery-linux-$(GOARCH) @@ -532,7 +532,7 @@ GLOO_OUTPUT_DIR=$(OUTPUT_DIR)/$(GLOO_DIR) # We include the files in EDGE_GATEWAY_DIR and K8S_GATEWAY_DIR as dependencies to the gloo build # so changes in those directories cause the make target to rebuild $(GLOO_OUTPUT_DIR)/gloo-linux-$(GOARCH): $(GLOO_SOURCES) $(EDGE_GATEWAY_SOURCES) $(K8S_GATEWAY_SOURCES) - $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags=$(LDFLAGS) -gcflags=$(GCFLAGS) -o $@ $(GLOO_DIR)/cmd/main.go + $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags='$(LDFLAGS)' -gcflags=$(GCFLAGS) -o $@ $(GLOO_DIR)/cmd/main.go .PHONY: gloo gloo: $(GLOO_OUTPUT_DIR)/gloo-linux-$(GOARCH) @@ -617,7 +617,7 @@ SDS_SOURCES=$(call get_sources,$(SDS_DIR)) SDS_OUTPUT_DIR=$(OUTPUT_DIR)/$(SDS_DIR) $(SDS_OUTPUT_DIR)/sds-linux-$(GOARCH): $(SDS_SOURCES) - $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags=$(LDFLAGS) -gcflags=$(GCFLAGS) -o $@ $(SDS_DIR)/cmd/main.go + $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags='$(LDFLAGS)' -gcflags=$(GCFLAGS) -o $@ $(SDS_DIR)/cmd/main.go .PHONY: sds sds: $(SDS_OUTPUT_DIR)/sds-linux-$(GOARCH) @@ -651,7 +651,7 @@ ENVOYINIT_SOURCES=$(call get_sources,$(ENVOYINIT_DIR)) ENVOYINIT_OUTPUT_DIR=$(OUTPUT_DIR)/$(ENVOYINIT_DIR) $(ENVOYINIT_OUTPUT_DIR)/envoyinit-linux-$(GOARCH): $(ENVOYINIT_SOURCES) - $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags=$(LDFLAGS) -gcflags=$(GCFLAGS) -o $@ $(ENVOYINIT_DIR)/main.go + $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags='$(LDFLAGS)' -gcflags=$(GCFLAGS) -o $@ $(ENVOYINIT_DIR)/main.go .PHONY: envoyinit envoyinit: $(ENVOYINIT_OUTPUT_DIR)/envoyinit-linux-$(GOARCH) @@ -690,7 +690,7 @@ CERTGEN_SOURCES=$(call get_sources,$(CERTGEN_DIR)) CERTGEN_OUTPUT_DIR=$(OUTPUT_DIR)/$(CERTGEN_DIR) $(CERTGEN_OUTPUT_DIR)/certgen-linux-$(GOARCH): $(CERTGEN_SOURCES) - $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags=$(LDFLAGS) -gcflags=$(GCFLAGS) -o $@ $(CERTGEN_DIR)/main.go + $(GO_BUILD_FLAGS) GOOS=linux go build -ldflags='$(LDFLAGS)' -gcflags=$(GCFLAGS) -o $@ $(CERTGEN_DIR)/main.go .PHONY: certgen certgen: $(CERTGEN_OUTPUT_DIR)/certgen-linux-$(GOARCH) @@ -1147,12 +1147,12 @@ CONFORMANCE_ARGS := -gateway-class=gloo-gateway $(CONFORMANCE_SUPPORTED_FEATURES .PHONY: conformance ## Run the conformance test suite conformance: $(TEST_ASSET_DIR)/conformance/conformance_test.go - go test -mod=mod -ldflags=$(LDFLAGS) -tags conformance -test.v $(TEST_ASSET_DIR)/conformance/... -args $(CONFORMANCE_ARGS) + go test -mod=mod -ldflags='$(LDFLAGS)' -tags conformance -test.v $(TEST_ASSET_DIR)/conformance/... -args $(CONFORMANCE_ARGS) # Run only the specified conformance test. The name must correspond to the ShortName of one of the k8s gateway api # conformance tests. conformance-%: $(TEST_ASSET_DIR)/conformance/conformance_test.go - go test -mod=mod -ldflags=$(LDFLAGS) -tags conformance -test.v $(TEST_ASSET_DIR)/conformance/... -args $(CONFORMANCE_ARGS) \ + go test -mod=mod -ldflags='$(LDFLAGS)' -tags conformance -test.v $(TEST_ASSET_DIR)/conformance/... -args $(CONFORMANCE_ARGS) \ -run-test=$* #----------------------------------------------------------------------------------