Run tests with envtest installed in testbin
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
This commit is contained in:
parent
8534a1463a
commit
3cb1ce8029
|
@ -30,18 +30,12 @@ jobs:
|
|||
image: kindest/node:v1.21.1@sha256:69860bda5563ac81e3c0057d654b5253219618a22ec3a346306239bba8cfa1a6
|
||||
- name: Setup Kustomize
|
||||
uses: fluxcd/pkg//actions/kustomize@main
|
||||
- name: Setup Kubebuilder
|
||||
uses: fluxcd/pkg//actions/kubebuilder@main
|
||||
- name: Setup Kubectl
|
||||
uses: fluxcd/pkg/actions/kubectl@main
|
||||
with:
|
||||
version: 1.21.2
|
||||
- name: Override Kubebuilder kubectl
|
||||
run: sudo cp /usr/local/bin/kubectl /home/runner/work/kustomize-controller/kustomize-controller/kubebuilder/bin/kubectl
|
||||
- name: Run tests
|
||||
run: make test
|
||||
env:
|
||||
KUBEBUILDER_ASSETS: ${{ github.workspace }}/kubebuilder/bin
|
||||
- name: Check if working tree is dirty
|
||||
run: |
|
||||
if [[ $(git diff --stat) != '' ]]; then
|
||||
|
@ -51,8 +45,6 @@ jobs:
|
|||
fi
|
||||
- name: Build container image
|
||||
run: make docker-build IMG=test/kustomize-controller:latest
|
||||
env:
|
||||
KUBEBUILDER_ASSETS: ${{ github.workspace }}/kubebuilder/bin
|
||||
- name: Load test image
|
||||
run: kind load docker-image test/kustomize-controller:latest
|
||||
- name: Install CRDs
|
||||
|
@ -71,8 +63,6 @@ jobs:
|
|||
make dev-deploy IMG=test/kustomize-controller:latest
|
||||
kubectl -n kustomize-system rollout status deploy/source-controller --timeout=1m
|
||||
kubectl -n kustomize-system rollout status deploy/kustomize-controller --timeout=1m
|
||||
env:
|
||||
KUBEBUILDER_ASSETS: ${{ github.workspace }}/kubebuilder/bin
|
||||
- name: Run overlays tests
|
||||
run: |
|
||||
kubectl -n kustomize-system apply -k ./config/testdata/overlays
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
# Dependency directories (remove the comment below to include it)
|
||||
# vendor/
|
||||
testbin/
|
||||
bin/
|
||||
config/release/
|
||||
config/crd/bases/gitrepositories.yaml
|
||||
|
|
28
Makefile
28
Makefile
|
@ -13,10 +13,17 @@ endif
|
|||
|
||||
all: manager
|
||||
|
||||
# Download the envtest binaries to testbin
|
||||
ENVTEST_ASSETS_DIR=$(shell pwd)/testbin
|
||||
ENVTEST_AKUBERNETES_VERSION=latest
|
||||
install-envtest: setup-envtest
|
||||
$(SETUP_ENVTEST) use $(ENVTEST_AKUBERNETES_VERSION) --bin-dir=$(ENVTEST_ASSETS_DIR)
|
||||
|
||||
# Run tests
|
||||
test: generate fmt vet manifests api-docs download-crd-deps
|
||||
go test ./... -coverprofile cover.out
|
||||
cd api; go test ./... -coverprofile cover.out
|
||||
KUBEBUILDER_ASSETS?="$(shell $(SETUP_ENVTEST) use -i $(ENVTEST_AKUBERNETES_VERSION) --bin-dir=$(ENVTEST_ASSETS_DIR) -p path)"
|
||||
test: generate fmt vet manifests api-docs download-crd-deps install-envtest
|
||||
KUBEBUILDER_ASSETS=$(KUBEBUILDER_ASSETS) go test ./... -v -coverprofile cover.out
|
||||
cd api; go test ./... -v
|
||||
|
||||
# Build manager binary
|
||||
manager: generate fmt vet
|
||||
|
@ -130,3 +137,18 @@ API_REF_GEN=$(GOBIN)/gen-crd-api-reference-docs
|
|||
else
|
||||
API_REF_GEN=$(shell which gen-crd-api-reference-docs)
|
||||
endif
|
||||
|
||||
setup-envtest:
|
||||
ifeq (, $(shell which setup-envtest))
|
||||
@{ \
|
||||
set -e ;\
|
||||
SETUP_ENVTEST_TMP_DIR=$$(mktemp -d) ;\
|
||||
cd $$SETUP_ENVTEST_TMP_DIR ;\
|
||||
go mod init tmp ;\
|
||||
go get sigs.k8s.io/controller-runtime/tools/setup-envtest@latest ;\
|
||||
rm -rf $$SETUP_ENVTEST_TMP_DIR ;\
|
||||
}
|
||||
SETUP_ENVTEST=$(GOBIN)/setup-envtest
|
||||
else
|
||||
SETUP_ENVTEST=$(shell which setup-envtest)
|
||||
endif
|
||||
|
|
Loading…
Reference in New Issue