More Makefile enhancements (#569)
Allows us to make use of of make's target deps instead of re-execing make in our build target just for custom, one-shot environment changes. Keeps e2e bin in bin/e2e/virtual-kubelet.
This commit is contained in:
17
Makefile.e2e
17
Makefile.e2e
@@ -20,6 +20,12 @@ skaffold/%: skaffold.validate
|
||||
-f $(PWD)/hack/skaffold/virtual-kubelet/skaffold.yml \
|
||||
-p $(PROFILE)
|
||||
|
||||
bin/e2e:
|
||||
@mkdir -p bin/e2e
|
||||
|
||||
bin/e2e/virtual-kubelet: bin/e2e
|
||||
GOOS=linux GOARCH=amd64 $(MAKE) OUTPUT_DIR=$(@D) build
|
||||
|
||||
# e2e runs the end-to-end test suite against the Kubernetes cluster targeted by the current kubeconfig.
|
||||
# It automatically deploys the virtual-kubelet with the mock provider by running "make skaffold MODE=run".
|
||||
# It is the caller's responsibility to cleanup the deployment after running this target (e.g. by running "make skaffold MODE=delete").
|
||||
@@ -30,10 +36,9 @@ e2e: NODE_NAME := vkubelet-mock-0
|
||||
e2e: TAINT_KEY := virtual-kubelet.io/provider
|
||||
e2e: TAINT_VALUE := mock
|
||||
e2e: TAINT_EFFECT := NoSchedule
|
||||
e2e: tags_with_mock := $(VK_BUILD_TAGS) mock
|
||||
e2e: e2e.clean
|
||||
GOOS=linux GOARCH=amd64 $(MAKE) VK_BUILD_TAGS="$(tags_with_mock)" build; \
|
||||
$(MAKE) skaffold/run; \
|
||||
e2e: export VK_BUILD_TAGS += mock_provider
|
||||
e2e: e2e.clean bin/e2e/virtual-kubelet skaffold/run
|
||||
@echo Running tests...
|
||||
cd $(PWD)/test/e2e && go test -v -tags e2e ./... \
|
||||
-kubeconfig=$(KUBECONFIG) \
|
||||
-namespace=$(NAMESPACE) \
|
||||
@@ -43,5 +48,7 @@ e2e: e2e.clean
|
||||
-taint-effect=$(TAINT_EFFECT)
|
||||
|
||||
.PHONY: e2e.clean
|
||||
e2e.clean: NODE_NAME ?= vkubelet-mock-0
|
||||
e2e.clean: skaffold/delete
|
||||
kubectl delete --ignore-not-found node $(NODE_NAME)
|
||||
kubectl delete --ignore-not-found node $(NODE_NAME); \
|
||||
if [ -f bin/e2e/virtual-kubelet ]; then rm bin/e2e/virtual-kubelet; fi
|
||||
|
||||
Reference in New Issue
Block a user