@@ -38,6 +38,7 @@ ENVSUBST := $(TOOLS_BIN_DIR)/envsubst
38
38
MOCKGEN := $(TOOLS_BIN_DIR ) /mockgen
39
39
CONTROLLER_GEN := $(TOOLS_BIN_DIR ) /controller-gen
40
40
CONVERSION_VERIFIER := $(TOOLS_BIN_DIR ) /conversion-verifier
41
+ SETUP_ENVTEST := $(TOOLS_BIN_DIR ) /setup-envtest
41
42
42
43
STAGING_REGISTRY ?= gcr.io/k8s-staging-capi-ibmcloud
43
44
STAGING_BUCKET ?= artifacts.k8s-staging-capi-ibmcloud.appspot.com
@@ -54,6 +55,8 @@ ARCH ?= amd64
54
55
ALL_ARCH ?= amd64 ppc64le
55
56
PULL_POLICY ?= Always
56
57
58
+ KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ?= 1.23.3
59
+
57
60
# main controller
58
61
CORE_IMAGE_NAME ?= cluster-api-ibmcloud-controller
59
62
CORE_CONTROLLER_IMG ?= $(REGISTRY ) /$(CORE_IMAGE_NAME )
@@ -160,9 +163,19 @@ lint-fix: $(GOLANGCI_LINT) ## Lint the codebase and run auto-fixers if supported
160
163
# # Testing
161
164
# # --------------------------------------
162
165
166
+ .PHONY : setup-envtest
167
+ setup-envtest : $(SETUP_ENVTEST ) # Build setup-envtest from tools folder.
168
+ @if [ $( shell go env GOOS) == " darwin" ]; then \
169
+ $(eval KUBEBUILDER_ASSETS := $(shell $(SETUP_ENVTEST ) use --use-env -p path --arch amd64 $(KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ) ) ) \
170
+ echo " kube-builder assets set using darwin OS" ; \
171
+ else \
172
+ $(eval KUBEBUILDER_ASSETS := $(shell $(SETUP_ENVTEST ) use --use-env -p path $(KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ) ) ) \
173
+ echo " kube-builder assets set using other OS" ; \
174
+ fi
175
+
163
176
# Run unit tests
164
- test : generate fmt vet manifests
165
- go test ./... -coverprofile cover.out
177
+ test : generate fmt vet manifests setup-envtest # # Run tests
178
+ KUBEBUILDER_ASSETS= " $( KUBEBUILDER_ASSETS ) " go test ./... -coverprofile cover.out
166
179
167
180
# Allow overriding the e2e configurations
168
181
GINKGO_FOCUS ?= Workload cluster creation
0 commit comments