@@ -31,7 +31,7 @@ KIND_NODE_IMAGE ?= kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9
3131
3232GATEAY_API_VERSION ?= v1.2.0
3333DASHBOARD_VERSION ?= dev
34- ADC_VERSION ?= 0.20 .0
34+ ADC_VERSION ?= 0.21 .0
3535
3636GINKGO_VERSION ?= 2.20.0
3737TEST_TIMEOUT ?= 80m
@@ -133,7 +133,7 @@ kind-e2e-test: kind-up build-image kind-load-images e2e-test
133133
134134# Utilize Kind or modify the e2e tests to load the image locally, enabling compatibility with other vendors.
135135.PHONY : e2e-test
136- e2e-test :
136+ e2e-test : adc
137137 @kind get kubeconfig --name $(KIND_NAME ) > $$ KUBECONFIG
138138 DASHBOARD_VERSION=$(DASHBOARD_VERSION ) go test $(TEST_DIR ) -test.timeout=$(TEST_TIMEOUT ) -v -ginkgo.v -ginkgo.focus=" $( TEST_FOCUS) " -ginkgo.label-filter=" $( TEST_LABEL) "
139139
@@ -145,7 +145,7 @@ download-api7ee3-chart:
145145 @echo " Downloaded API7EE3 chart"
146146
147147.PHONY : ginkgo-e2e-test
148- ginkgo-e2e-test :
148+ ginkgo-e2e-test : adc
149149 @ginkgo -cover -coverprofile=coverage.txt -r --randomize-all --randomize-suites --trace --focus=$(E2E_FOCUS ) --nodes=$(E2E_NODES ) --label-filter=" $( TEST_LABEL) " $(TEST_DIR )
150150
151151.PHONY : install-ginkgo
@@ -184,13 +184,12 @@ kind-down:
184184 || echo " kind cluster does not exist"
185185
186186.PHONY : kind-load-images
187- kind-load-images : pull-infra-images kind-load-ingress-image
187+ kind-load-images : pull-infra-images kind-load-ingress-image kind-load-adc-image
188188 @kind load docker-image hkccr.ccs.tencentyun.com/api7-dev/api7-ee-3-gateway:dev --name $(KIND_NAME )
189189 @kind load docker-image hkccr.ccs.tencentyun.com/api7-dev/api7-ee-dp-manager:$(DASHBOARD_VERSION ) --name $(KIND_NAME )
190190 @kind load docker-image hkccr.ccs.tencentyun.com/api7-dev/api7-ee-3-integrated:$(DASHBOARD_VERSION ) --name $(KIND_NAME )
191191 @kind load docker-image kennethreitz/httpbin:latest --name $(KIND_NAME )
192192 @kind load docker-image jmalloc/echo-server:latest --name $(KIND_NAME )
193- @kind load docker-image ghcr.io/api7/adc:dev --name $(KIND_NAME )
194193 @kind load docker-image apache/apisix:dev --name $(KIND_NAME )
195194
196195.PHONY : kind-load-gateway-image
@@ -202,14 +201,16 @@ kind-load-dashboard-images:
202201 @kind load docker-image hkccr.ccs.tencentyun.com/api7-dev/api7-ee-dp-manager:$(DASHBOARD_VERSION ) --name $(KIND_NAME )
203202 @kind load docker-image hkccr.ccs.tencentyun.com/api7-dev/api7-ee-3-integrated:$(DASHBOARD_VERSION ) --name $(KIND_NAME )
204203
205- .PHONY : kind-load-adc-image
206- kind-load-adc-image :
207- @kind load docker-image ghcr.io/api7/adc:dev --name $(KIND_NAME )
208-
209204.PHONY : kind-load-ingress-image
210205kind-load-ingress-image :
211206 @kind load docker-image $(IMG ) --name $(KIND_NAME )
212207
208+ .PHONY : kind-load-adc-image
209+ kind-load-adc-image :
210+ @docker pull ghcr.io/api7/adc:$(ADC_VERSION )
211+ @docker tag ghcr.io/api7/adc:$(ADC_VERSION ) ghcr.io/api7/adc:dev
212+ @kind load docker-image ghcr.io/api7/adc:dev --name $(KIND_NAME )
213+
213214.PHONY : pull-infra-images
214215pull-infra-images :
215216 @docker pull hkccr.ccs.tencentyun.com/api7-dev/api7-ee-3-gateway:dev
@@ -244,11 +245,11 @@ build-multi-arch:
244245.PHONY : build-multi-arch-image
245246build-multi-arch-image : build-multi-arch
246247 # daemon.json: "features":{"containerd-snapshotter": true}
247- @docker buildx build --load --platform linux/amd64,linux/arm64 --build-arg ADC_VERSION=$(ADC_VERSION) - t $(IMG) .
248+ @docker buildx build --load --platform linux/amd64,linux/arm64 -t $(IMG) .
248249
249250.PHONY : build-push-multi-arch-image
250251build-push-multi-arch-image : build-multi-arch
251- @docker buildx build --push --platform linux/amd64,linux/arm64 --build-arg ADC_VERSION= $( ADC_VERSION ) - t $(IMG ) .
252+ @docker buildx build --push --platform linux/amd64,linux/arm64 -t $(IMG ) .
252253
253254.PHONY : run
254255run : manifests generate fmt vet # # Run a controller from your host.
@@ -259,12 +260,7 @@ run: manifests generate fmt vet ## Run a controller from your host.
259260# More info: https://docs.docker.com/develop/develop-images/build_enhancements/
260261.PHONY : docker-build
261262docker-build : set-e2e-goos build # # Build docker image with the manager.
262- @echo " Building with ADC_VERSION=$( ADC_VERSION) "
263- @if [ " $( strip $( ADC_VERSION) ) " = " dev" ]; then \
264- $(CONTAINER_TOOL ) build -t ${IMG} -f Dockerfile.dev . ; \
265- else \
266- $(CONTAINER_TOOL ) build --build-arg ADC_VERSION=${ADC_VERSION} -t ${IMG} -f Dockerfile . ; \
267- fi
263+ $(CONTAINER_TOOL ) build -t ${IMG} -f Dockerfile .
268264
269265.PHONY : docker-push
270266docker-push : # # Push docker image with the manager.
@@ -341,13 +337,17 @@ KUSTOMIZE ?= $(LOCALBIN)/kustomize
341337CONTROLLER_GEN ?= $(LOCALBIN ) /controller-gen
342338ENVTEST ?= $(LOCALBIN ) /setup-envtest
343339GOLANGCI_LINT = $(LOCALBIN ) /golangci-lint
340+ ADC_BIN ?= $(LOCALBIN ) /adc
344341
345342# # Tool Versions
346343KUSTOMIZE_VERSION ?= v5.4.2
347344CONTROLLER_TOOLS_VERSION ?= v0.17.2
348345ENVTEST_VERSION ?= release-0.18
349346GOLANGCI_LINT_VERSION ?= v2.1.5
350347
348+ # # export PATH so that the tools are found
349+ export PATH := $(LOCALBIN ) :$(PATH )
350+
351351.PHONY : kustomize
352352kustomize : $(KUSTOMIZE ) # # Download kustomize locally if necessary.
353353$(KUSTOMIZE ) : $(LOCALBIN )
@@ -368,6 +368,16 @@ golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary.
368368$(GOLANGCI_LINT ) : $(LOCALBIN )
369369 curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(LOCALBIN ) $(GOLANGCI_LINT_VERSION )
370370
371+ .PHONY : adc
372+ adc : $(ADC_BIN ) # # Download adc locally if necessary.
373+ $(ADC_BIN ) :
374+ ifeq ($(ADC_VERSION ) ,dev)
375+ @echo "ADC_VERSION=dev, skip download"
376+ else
377+ curl -sSfL https://github.com/api7/adc/releases/download/v${ADC_VERSION}/adc_${ADC_VERSION}_${GOOS}_${GOARCH}.tar.gz \
378+ | tar -xz -C $(LOCALBIN)
379+ endif
380+
371381gofmt : # # Apply go fmt
372382 @gofmt -w -r ' interface{} -> any' .
373383 @gofmt -w -r ' FIt -> It' test
0 commit comments