@@ -54,7 +54,7 @@ OPERATOR_SDK_VERSION ?= v1.31.0
5454DEFAULT_IMG ?= quay.io/openstack-k8s-operators/openstack-operator:latest
5555IMG ?= $(DEFAULT_IMG )
5656# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
57- ENVTEST_K8S_VERSION = 1.28.0
57+ ENVTEST_K8S_VERSION = 1.29
5858
5959CRDDESC_OVERRIDE ?= :maxDescLen=0
6060
@@ -107,9 +107,8 @@ docs-clean:
107107 rm -r docs_build
108108
109109.PHONY : docs-examples
110- docs-kustomize-examples : export KUSTOMIZE_VERSION=v5.0.1
111- docs-kustomize-examples : yq kustomize # # Generate updated docs from examples using kustomize
112- KUSTOMIZE=$(KUSTOMIZE ) LOCALBIN=$(LOCALBIN ) ./docs/kustomize_to_docs.sh
110+ docs-kustomize-examples : oc yq # # Generate updated docs from examples using kustomize
111+ LOCALBIN=$(LOCALBIN ) ./docs/kustomize_to_docs.sh
113112
114113# #@ General
115114
@@ -148,13 +147,14 @@ vet: gowork ## Run go vet against code.
148147 go vet ./...
149148 go vet ./apis/...
150149
150+ BRANCH =main
151151.PHONY : force-bump
152152force-bump : # # Force bump after tagging
153- for dep in $$ (cat go.mod | grep openstack-k8s-operators | grep -vE -- ' indirect|openstack-operator' | awk ' {print $$1}' ); do \
154- go get $$ dep@main ; \
153+ for dep in $$ (cat go.mod | grep openstack-k8s-operators | grep -vE -- ' indirect|openstack-operator|^replace ' | awk ' {print $$1}' ); do \
154+ go get $$ dep@$( BRANCH ) ; \
155155 done
156- for dep in $$ (cat apis/go.mod | grep openstack-k8s-operators | grep -vE -- ' indirect|openstack-operator' | awk ' {print $$1}' ); do \
157- cd ./apis && go get $$ dep@main && cd .. ; \
156+ for dep in $$ (cat apis/go.mod | grep openstack-k8s-operators | grep -vE -- ' indirect|openstack-operator|^replace ' | awk ' {print $$1}' ); do \
157+ cd ./apis && go get $$ dep@$( BRANCH ) && cd .. ; \
158158 done
159159
160160.PHONY : tidy
@@ -164,9 +164,14 @@ tidy: ## Run go mod tidy on every mod file in the repo
164164
165165.PHONY : golangci-lint
166166golangci-lint :
167- test -s $(LOCALBIN ) /golangci-lint || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.51.2
167+ test -s $(LOCALBIN ) /golangci-lint || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.59.1
168168 $(LOCALBIN ) /golangci-lint run --fix
169169
170+ MAX_PROCS := 5
171+ NUM_PROCS := $(shell expr $(shell nproc --ignore 2) / 2)
172+ PROCS ?= $(shell if [ $(NUM_PROCS ) -gt $(MAX_PROCS ) ]; then echo $(MAX_PROCS ) ; else echo $(NUM_PROCS ) ; fi)
173+ PROC_CMD = --procs $(PROCS )
174+
170175.PHONY : test
171176test : manifests generate gowork fmt vet envtest ginkgo ginkgo-run # # Run ginkgo tests with dependencies.
172177
@@ -175,7 +180,7 @@ ginkgo-run: ## Run ginkgo.
175180 source hack/export_related_images.sh && \
176181 KUBEBUILDER_ASSETS=" $( shell $( ENVTEST) -v debug --bin-dir $( LOCALBIN) use $( ENVTEST_K8S_VERSION) -p path) " \
177182 OPERATOR_TEMPLATES=" $( PWD) /templates" \
178- $(GINKGO ) --trace --cover --coverpkg=./pkg/openstack,./pkg/openstackclient,./pkg/util,./pkg/dataplane,./controllers/...,./apis/client/v1beta1,./apis/core/v1beta1,./apis/dataplane/v1beta1 --coverprofile cover.out --covermode=atomic ${PROC_CMD} $(GINKGO_ARGS ) $(GINKGO_TESTS )
183+ $(GINKGO ) --trace --cover --coverpkg=./pkg/openstack,./pkg/openstackclient,./pkg/util,./pkg/dataplane/... ,./controllers/...,./apis/client/v1beta1,./apis/core/v1beta1,./apis/dataplane/v1beta1 --coverprofile cover.out --covermode=atomic ${PROC_CMD} $(GINKGO_ARGS ) $(GINKGO_TESTS )
179184
180185.PHONY : test-all
181186test-all : test golint golangci golangci-lint # # Run all tests.
@@ -260,7 +265,7 @@ CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
260265ENVTEST ?= $(LOCALBIN ) /setup-envtest
261266CRD_MARKDOWN ?= $(LOCALBIN ) /crd-to-markdown
262267GINKGO ?= $(LOCALBIN ) /ginkgo
263- GINKGO_TESTS ?= ./tests/... ./apis/client/...
268+ GINKGO_TESTS ?= ./tests/... ./apis/client/... ./apis/core/... ./apis/dataplane/...
264269
265270KUTTL ?= $(LOCALBIN ) /kubectl-kuttl
266271
@@ -269,6 +274,8 @@ KUSTOMIZE_VERSION ?= v3.8.7
269274CONTROLLER_TOOLS_VERSION ?= v0.11.1
270275CRD_MARKDOWN_VERSION ?= v0.0.3
271276KUTTL_VERSION ?= 0.17.0
277+ GOTOOLCHAIN_VERSION ?= go1.21.0
278+ OC_VERSION ?= 4.14.0
272279
273280KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
274281.PHONY : kustomize
@@ -362,11 +369,17 @@ endif
362369endif
363370
364371.PHONY : yq
365- yq : # # Download and install yq in local env
372+ yq : $( LOCALBIN ) # # Download and install yq in local env
366373 test -s $(LOCALBIN ) /yq || ( cd $( LOCALBIN) && \
367374 wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64.tar.gz -O - | \
368375 tar xz && mv yq_linux_amd64 $(LOCALBIN ) /yq )
369376
377+ .PHONY : oc
378+ oc : $(LOCALBIN ) # # Download and install oc in local env
379+ test -s $(LOCALBIN ) /oc || ( cd $( LOCALBIN) && \
380+ wget https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/$(OC_VERSION ) /openshift-client-linux-$(OC_VERSION ) .tar.gz -O - | \
381+ tar xz)
382+
370383# Build make variables to export for shell
371384MAKE_ENV := $(shell echo '$(.VARIABLES ) ' | awk -v RS=' ' '/^(IMAGE) |.*?(REGISTRY)$$/')
372385SHELL_EXPORT = $(foreach v,$(MAKE_ENV ) ,$(v ) ='$($(v ) ) ')
@@ -437,7 +450,7 @@ golint: get-ci-tools
437450
438451.PHONY : gowork
439452gowork : # # Generate go.work file to support our multi module repository
440- test -f go.work || go work init
453+ test -f go.work || GOTOOLCHAIN= $( GOTOOLCHAIN_VERSION ) go work init
441454 go work use .
442455 go work use ./apis
443456 go work sync
0 commit comments