Merge pull request #4186 from yuswift/upgrade-kubebuilder

upgrade kubebuilder envtest to v3
This commit is contained in:
KubeSphere CI Bot
2021-08-31 08:55:13 +08:00
committed by GitHub
3 changed files with 19 additions and 2 deletions

1
.gitignore vendored
View File

@@ -32,3 +32,4 @@ kustomize/network/etcd
apiserver.local.config
tmp/
kubesphere.yaml
testbin/

View File

@@ -2,6 +2,7 @@
# Use of this source code is governed by a Apache license
# that can be found in the LICENSE file.
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
CRD_OPTIONS ?= "crd:trivialVersions=true"
@@ -137,11 +138,16 @@ helm-uninstall: ; $(info $(M)...Begin to helm-uninstall.) @ ## Helm-uninstall.
kubectl delete -f https://raw.githubusercontent.com/kubesphere/ks-installer/master/roles/ks-core/prepare/files/ks-init/role-templates.yaml
# Run tests
test: vet ;$(info $(M)...Begin to run tests.) @ ## Run tests.
export KUBEBUILDER_CONTROLPLANE_START_TIMEOUT=2m; go test ./pkg/... ./cmd/... -covermode=atomic -coverprofile=coverage.txt
ENVTEST_ASSETS_DIR=$(shell pwd)/testbin
test: vet test-env ;$(info $(M)...Begin to run tests.) @ ## Run tests.
export KUBEBUILDER_ASSETS=$(shell pwd)/testbin/bin; go test ./pkg/... ./cmd/... -covermode=atomic -coverprofile=coverage.txt
cd staging/src/kubesphere.io/api ; GOFLAGS="" go test ./...
cd staging/src/kubesphere.io/client-go ; GOFLAGS="" go test ./...
.PHONY: test-env
test-env: ;$(info $(M)...Begin to setup test env) @ ## Download unit test libraries e.g. kube-apiserver etcd.
@hack/setup-kubebuilder-env.sh
.PHONY: clean
clean: ;$(info $(M)...Begin to clean.) @ ## Clean.
-make -C ./pkg/version clean

10
hack/setup-kubebuilder-env.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
# Setting SHELL to bash allows bash commands to be executed by recipes.
# This is a requirement for 'setup-envtest.sh' in the test target.
# Options are set to exit when a recipe line exits non-zero or a piped command fails.
SHELL="/usr/bin/env bash -o pipefail"
ENVTEST_ASSETS_DIR=$(pwd)/testbin
mkdir -p "${ENVTEST_ASSETS_DIR}"
test -f "${ENVTEST_ASSETS_DIR}"/setup-envtest.sh || curl -sSLo "${ENVTEST_ASSETS_DIR}"/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/v0.8.3/hack/setup-envtest.sh
source "${ENVTEST_ASSETS_DIR}"/setup-envtest.sh; fetch_envtest_tools "${ENVTEST_ASSETS_DIR}"; setup_envtest_env "${ENVTEST_ASSETS_DIR}"