Makefile 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. MAKEFLAGS += --warn-undefined-variables
  2. SHELL := /usr/bin/env bash
  3. .SHELLFLAGS := -euo pipefail -c
  4. KIND_IMG = "kindest/node:v1.33.4@sha256:25a6018e48dfcaee478f4a59af81157a437f15e6e140bf103f85a2e7cd0cbbf2"
  5. DOCKER_BUILD_ARGS ?=
  6. export E2E_IMAGE_NAME ?= ghcr.io/external-secrets/external-secrets-e2e
  7. export GINKGO_LABELS ?= !managed && !v2
  8. export TEST_SUITES ?= provider generator flux argocd
  9. export OCI_IMAGE_NAME = ghcr.io/external-secrets/external-secrets
  10. start-kind: ## Start kind cluster
  11. kind create cluster \
  12. --name external-secrets \
  13. --config kind.yaml \
  14. --retain \
  15. --image "$(KIND_IMG)"
  16. stop-kind: ## Stop kind cluster
  17. kind delete cluster \
  18. --name external-secrets \
  19. test: e2e-image ## Run e2e tests against current kube context
  20. $(MAKE) -C ../ docker.build \
  21. IMAGE_NAME=$(IMAGE_NAME) \
  22. VERSION=$(VERSION) \
  23. ARCH=amd64 \
  24. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  25. $(MAKE) -C ../ docker.build \
  26. IMAGE_NAME=$(OCI_IMAGE_NAME) \
  27. VERSION=$(VERSION) \
  28. ARCH=amd64 \
  29. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  30. kind load docker-image --name="external-secrets" $(IMAGE_NAME):$(VERSION)
  31. kind load docker-image --name="external-secrets" $(OCI_IMAGE_NAME):$(VERSION)
  32. kind load docker-image --name="external-secrets" $(E2E_IMAGE_NAME):$(VERSION)
  33. ./run.sh
  34. test.v2: e2e-image ## Run v2 e2e tests against current kube context
  35. $(MAKE) -C ../ docker.build \
  36. IMAGE_NAME=$(IMAGE_NAME) \
  37. VERSION=$(VERSION) \
  38. ARCH=amd64 \
  39. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  40. $(MAKE) -C ../ docker.build \
  41. IMAGE_NAME=$(OCI_IMAGE_NAME) \
  42. VERSION=$(VERSION) \
  43. ARCH=amd64 \
  44. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  45. kind load docker-image --name="external-secrets" $(IMAGE_NAME):$(VERSION)
  46. kind load docker-image --name="external-secrets" $(OCI_IMAGE_NAME):$(VERSION)
  47. kind load docker-image --name="external-secrets" $(E2E_IMAGE_NAME):$(VERSION)
  48. kind load docker-image --name="external-secrets" ghcr.io/external-secrets/provider-kubernetes:$(VERSION)
  49. GINKGO_LABELS="v2" E2E_PROVIDER_MODE="v2" TEST_SUITES="provider" ./run.sh
  50. test.managed: e2e-image ## Run e2e tests against current kube context
  51. $(MAKE) -C ../ docker.build \
  52. VERSION=$(VERSION) \
  53. ARCH=amd64 \
  54. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  55. $(MAKE) -C ../ docker.build \
  56. IMAGE_NAME=$(OCI_IMAGE_NAME) \
  57. VERSION=$(VERSION) \
  58. ARCH=amd64 \
  59. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  60. $(MAKE) -C ../ docker.push \
  61. VERSION=$(VERSION)
  62. $(MAKE) -C ../ docker.push \
  63. IMAGE_NAME=$(OCI_IMAGE_NAME) \
  64. VERSION=$(VERSION)
  65. $(MAKE) -C ../ docker.push \
  66. IMAGE_NAME=$(E2E_IMAGE_NAME) \
  67. VERSION=$(VERSION)
  68. ./run.sh
  69. e2e-bin: install-ginkgo
  70. CGO_ENABLED=0 ginkgo build ./suites/...
  71. e2e-image: e2e-bin
  72. -rm -rf ./k8s/deploy
  73. mkdir -p k8s
  74. $(MAKE) -C ../ helm.generate
  75. cp -r ../deploy ./k8s
  76. docker build $(DOCKER_BUILD_ARGS) -t $(E2E_IMAGE_NAME):$(VERSION) -f Dockerfile ..
  77. GINKGO_VERSION := $(shell grep 'github.com/onsi/ginkgo/v2' go.mod | awk '{print $$2}')
  78. install-ginkgo:
  79. @echo "Installing ginkgo version $(GINKGO_VERSION) from go.mod"
  80. go install github.com/onsi/ginkgo/v2/ginkgo@$(GINKGO_VERSION)
  81. help: ## displays this help message
  82. @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_\/-]+:.*?## / {printf "\033[34m%-18s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
  83. sort | \
  84. grep -v '#'