diff --git a/Makefile b/Makefile index 7ced5f3..4535b1c 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,6 @@ clean: .PHONY: clean-tools clean-tools: - if [ -d $(UGET_DIRECTORY)/k8s ]; then chmod -R +w $(UGET_DIRECTORY)/k8s; fi rm -rf $(UGET_DIRECTORY) @echo "Cleaned $(UGET_DIRECTORY)." @@ -103,7 +102,8 @@ verify: ### tools BOILERPLATE_VERSION ?= 0.3.0 -ENVTEST_VERSION ?= release-0.19 +ENVTEST_ETCD_VERSION ?= 3.5.15 +ENVTEST_KUBE_VERSION ?= v1.34.2 GIMPS_VERSION ?= 0.6.3 GOIMPORTS_VERSION ?= c70783e636f2213cac683f6865d88c5edace3157 GOLANGCI_LINT_VERSION ?= 2.1.6 @@ -125,8 +125,22 @@ install-boilerplate: @hack/uget.sh https://github.com/kubermatic-labs/boilerplate/releases/download/v{VERSION}/boilerplate_{VERSION}_{GOOS}_{GOARCH}.tar.gz boilerplate $(BOILERPLATE_VERSION) .PHONY: install-envtest -install-envtest: - @GO_MODULE=true hack/uget.sh sigs.k8s.io/controller-runtime/tools/setup-envtest setup-envtest $(ENVTEST_VERSION) +install-envtest: install-kube-apiserver install-etcd install-kubectl + +.PHONY: install-kube-apiserver +install-kube-apiserver: + @UNCOMPRESSED=true hack/uget.sh https://dl.k8s.io/release/{VERSION}/bin/{GOOS}/{GOARCH}/kube-apiserver kube-apiserver $(ENVTEST_KUBE_VERSION) kube-apiserver + +.PHONY: install-etcd +install-etcd: + @hack/uget.sh https://github.com/etcd-io/etcd/releases/download/v{VERSION}/etcd-v{VERSION}-{GOOS}-{GOARCH}.tar.gz etcd $(ENVTEST_ETCD_VERSION) + +.PHONY: envtest-env +envtest-env: export UGET_PRINT_PATH=absolute +envtest-env: + @echo "export TEST_ASSET_KUBE_APISERVER=$$(make --no-print-directory install-kube-apiserver)" + @echo "export TEST_ASSET_ETCD=$$(make --no-print-directory install-etcd)" + @echo "export TEST_ASSET_KUBECTL=$$(make --no-print-directory install-kubectl)" GIMPS = $(UGET_DIRECTORY)/gimps-$(GIMPS_VERSION) @@ -189,7 +203,7 @@ install-reconciler-gen: .PHONY: update-tools update-tools: UGET_UPDATE=true -update-tools: clean-tools install-boilerplate install-gimps install-golangci-lint install-kubectl install-yq +update-tools: clean-tools install-boilerplate install-gimps install-golangci-lint install-kubectl install-yq install-kcp install-kube-apiserver install-etcd ############################################################################ ### docs diff --git a/hack/ci/run-e2e-tests.sh b/hack/ci/run-e2e-tests.sh index 31d2dd5..55c8e74 100755 --- a/hack/ci/run-e2e-tests.sh +++ b/hack/ci/run-e2e-tests.sh @@ -32,9 +32,7 @@ make build # get kube envtest binaries echodate "Setting up Kube binaries…" -ENVTEST="$(UGET_PRINT_PATH=relative make --no-print-directory install-envtest)" -export KUBEBUILDER_ASSETS="$("$ENVTEST" use 1.31.0 --bin-dir _tools -p path)" -KUBEBUILDER_ASSETS="$(realpath "$KUBEBUILDER_ASSETS")" +source <(make --no-print-directory envtest-env) # start a shared kcp process KCP="$(UGET_PRINT_PATH=relative make --no-print-directory install-kcp)" diff --git a/hack/run-e2e-tests.sh b/hack/run-e2e-tests.sh index af1fd3d..ace4090 100755 --- a/hack/run-e2e-tests.sh +++ b/hack/run-e2e-tests.sh @@ -22,9 +22,7 @@ source hack/lib.sh # get kube envtest binaries echodate "Setting up Kube binaries…" -ENVTEST="$(UGET_PRINT_PATH=relative make --no-print-directory install-envtest)" -export KUBEBUILDER_ASSETS="$($ENVTEST use 1.31.0 --bin-dir $UGET_DIRECTORY -p path)" -KUBEBUILDER_ASSETS="$(realpath "$KUBEBUILDER_ASSETS")" +source <(make --no-print-directory envtest-env) export ARTIFACTS=.e2e diff --git a/hack/tools.checksums b/hack/tools.checksums index b42038b..488c432 100644 --- a/hack/tools.checksums +++ b/hack/tools.checksums @@ -1,9 +1,13 @@ boilerplate|GOARCH=amd64;GOOS=linux|6f05fc3be207ae2ed99e125509a08df677cb007e197e16607c654a434b91d47f boilerplate|GOARCH=arm64;GOOS=linux|70253486ed7a803a35a9abb2bab4db2f1f7748d5266bf7a1c2ee298fda2b208a +etcd|GOARCH=amd64;GOOS=linux|435d74510f3216bab1932fb6d7a6b5fe8245301143fcd25f7e65dfb7dcf8904a +etcd|GOARCH=arm64;GOOS=linux|cc8c645e5a8df0f35f2a5c51d9b9383037eef0cf0167c52e648457b3971a7a09 gimps|GOARCH=amd64;GOOS=linux|b597efc7e2c72097a44c001b41a06ccca97610963e1f1aec74c3d99c0e0b6c11 gimps|GOARCH=arm64;GOOS=linux|2588daec997b4f4b3a8d8875f780fd6faf3c39c933519e7899e19a686476c8e4 golangci-lint|GOARCH=amd64;GOOS=linux|7009324a8aad93c1f84dce1c3cf61181bdd6b68e5f1b8b5d6971662258255050 golangci-lint|GOARCH=arm64;GOOS=linux|c51ff5b21be688b043baea44de7dd855cf07b855c14f0de405bfaf922b1d7634 +kube-apiserver|GOARCH=amd64;GOOS=linux|ca822082ec39e54a25836a4011ddb66e482e317a7a4f1a1f73882bbd2cf5a2a1 +kube-apiserver|GOARCH=arm64;GOOS=linux|6ade6c2646e2c01fde1095407452afc2b65e89d6da16da29ee39f6223ccaf63b kubectl|GOARCH=amd64;GOOS=linux|9591f3d75e1581f3f7392e6ad119aab2f28ae7d6c6e083dc5d22469667f27253 kubectl|GOARCH=arm64;GOOS=linux|95df604e914941f3172a93fa8feeb1a1a50f4011dfbe0c01e01b660afc8f9b85 yq|GOARCH=amd64;GOOS=linux|0c2b24e645b57d8e7c0566d18643a6d4f5580feeea3878127354a46f2a1e4598