...

Text file src/github.com/cert-manager/issuer-lib/make/test-e2e.mk

Documentation: github.com/cert-manager/issuer-lib/make

     1# Copyright 2023 The cert-manager Authors.
     2#
     3# Licensed under the Apache License, Version 2.0 (the "License");
     4# you may not use this file except in compliance with the License.
     5# You may obtain a copy of the License at
     6#
     7#     http://www.apache.org/licenses/LICENSE-2.0
     8#
     9# Unless required by applicable law or agreed to in writing, software
    10# distributed under the License is distributed on an "AS IS" BASIS,
    11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12# See the License for the specific language governing permissions and
    13# limitations under the License.
    14
    15.PHONY: generate-crds-test-e2e
    16## Generate end-to-end test CRD manifests.
    17## @category [shared] Generate/ Verify
    18generate-crds-test-e2e: | $(NEEDS_CONTROLLER-GEN) $(NEEDS_YQ)
    19	$(CONTROLLER-GEN) crd \
    20		paths=./examples/simple/api/... \
    21		output:crd:artifacts:config=./examples/simple/deploy/crds
    22
    23shared_generate_targets += generate-crds-test-e2e
    24
    25.PHONY: e2e-setup-cert-manager
    26e2e-setup-cert-manager: | kind-cluster $(NEEDS_HELM) $(NEEDS_KUBECTL)
    27	$(HELM) upgrade \
    28		--install \
    29		--create-namespace \
    30		--wait \
    31		--version $(quay.io/jetstack/cert-manager-controller.TAG) \
    32		--namespace cert-manager \
    33		--repo https://charts.jetstack.io \
    34		--set installCRDs=true \
    35		--set image.repository=$(quay.io/jetstack/cert-manager-controller.REPO) \
    36		--set image.tag=$(quay.io/jetstack/cert-manager-controller.TAG) \
    37		--set image.pullPolicy=Never \
    38		--set cainjector.image.repository=$(quay.io/jetstack/cert-manager-cainjector.REPO) \
    39		--set cainjector.image.tag=$(quay.io/jetstack/cert-manager-cainjector.TAG) \
    40		--set cainjector.image.pullPolicy=Never \
    41		--set webhook.image.repository=$(quay.io/jetstack/cert-manager-webhook.REPO) \
    42		--set webhook.image.tag=$(quay.io/jetstack/cert-manager-webhook.TAG) \
    43		--set webhook.image.pullPolicy=Never \
    44		--set startupapicheck.image.repository=$(quay.io/jetstack/cert-manager-startupapicheck.REPO) \
    45		--set startupapicheck.image.tag=$(quay.io/jetstack/cert-manager-startupapicheck.TAG) \
    46		--set startupapicheck.image.pullPolicy=Never \
    47		cert-manager cert-manager >/dev/null
    48
    49	$(KUBECTL) -n cert-manager apply -f ./make/config/cert-manager/approve.yaml
    50
    51$(bin_dir)/scratch/yaml/kustomization.yaml: FORCE | $(NEEDS_KUSTOMIZE)
    52	rm -rf $(bin_dir)/scratch/yaml
    53	mkdir -p $(bin_dir)/scratch/yaml
    54
    55	cd $(bin_dir)/scratch/yaml; \
    56	$(KUSTOMIZE) create \
    57		--namespace "my-namespace" \
    58		--nameprefix "simple-issuer-" \
    59		--resources ../../../examples/simple/deploy/static/
    60
    61	cd $(bin_dir)/scratch/yaml; \
    62	$(KUSTOMIZE) edit set image "controller:latest=$(oci_manager_image_name_development):$(oci_manager_image_tag)"
    63
    64.PHONY: e2e-setup-simple-issuer
    65e2e-setup-simple-issuer: | oci-load-manager $(bin_dir)/scratch/yaml/kustomization.yaml kind-cluster $(NEEDS_KUBECTL)
    66	$(KUBECTL) apply -f examples/simple/deploy/crds
    67	$(KUBECTL) apply -f examples/simple/deploy/rbac
    68	$(KUBECTL) apply -k $(bin_dir)/scratch/yaml/
    69
    70test-e2e-deps: e2e-setup-cert-manager
    71test-e2e-deps: e2e-setup-simple-issuer
    72
    73.PHONY: test-e2e
    74## Smoke end-to-end tests
    75## @category Testing
    76test-e2e: test-e2e-deps | kind-cluster $(NEEDS_GOTESTSUM) $(ARTIFACTS)
    77	$(eval abs_artifacts := $(abspath $(ARTIFACTS)))
    78
    79	cd ./examples/simple && \
    80	GOWORK=off \
    81	KUBECONFIG=$(CURDIR)/$(kind_kubeconfig) \
    82	$(GOTESTSUM) \
    83		--junitfile=$(abs_artifacts)/junit-go-e2e.xml \
    84		-- \
    85		-coverprofile=$(abs_artifacts)/filtered.cov \
    86		./e2e/... \
    87		-- \
    88		-ldflags $(go_manager_ldflags)

View as plain text