From 1f8dcda880360b50d58e577156f3e76b7766ec8e Mon Sep 17 00:00:00 2001 From: Aleksei Kobzev Date: Fri, 12 Apr 2024 12:42:35 +0300 Subject: [PATCH] pin envtest version to fix unit-test --- Makefile | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 4854fa61..763236e1 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,7 @@ kind-load: .PHONY: unit-test unit-test: manifests generate fmt vet envtest ## Run unit tests - KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" go test -v -timeout 1800s -p 1 ./internal/controllers/... -ginkgo.v -coverprofile cover.out + KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use --arch=amd64 $(ENVTEST_K8S_VERSION) -p path)" go test -v -timeout 1800s -p 1 ./internal/controllers/... -ginkgo.v -coverprofile cover.out .PHONY: e2e-test e2e-test: manifests generate fmt vet docker-build kind-init kind-load ## Run e2e tests @@ -104,12 +104,17 @@ docker-push: ## Push docker image with the manager. docker push ${IMG} CONTROLLER_GEN = $(shell pwd)/bin/controller-gen +CONTROLLER_GEN_VERSION ?= v0.6.1 controller-gen: ## Download controller-gen locally if necessary. - $(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.6.1) + $(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_GEN_VERSION)) +# ENVTEST_VERSION is usually latest, but might need to be pinned from time to time. +# Version pinning is needed due to version incompatibility between controller-runtime and setup-envtest. +# For more information: https://github.com/kubernetes-sigs/controller-runtime/issues/2744 ENVTEST = $(shell pwd)/bin/setup-envtest +ENVTEST_VERSION ?= release-0.16 envtest: ## Download envtest-setup locally if necessary. - $(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@latest) + $(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@$(ENVTEST_VERSION)) # go-get-tool will 'go install' any package $2 and install it to $1. PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))