Makefile 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. MAKEFLAGS += --warn-undefined-variables
  2. SHELL := /bin/bash
  3. .SHELLFLAGS := -euo pipefail -c
  4. IMG_TAG = test
  5. IMG = local/external-secrets-e2e:$(IMG_TAG)
  6. KIND_IMG = "kindest/node:v1.21.1@sha256:69860bda5563ac81e3c0057d654b5253219618a22ec3a346306239bba8cfa1a6"
  7. BUILD_ARGS ?=
  8. IMAGE_REGISTRY ?=
  9. export FOCUS := $(FOCUS)
  10. export E2E_IMAGE_REGISTRY ?=
  11. export E2E_VERSION ?=
  12. start-kind: ## Start kind cluster
  13. kind create cluster \
  14. --name external-secrets \
  15. --config kind.yaml \
  16. --retain \
  17. --image "$(KIND_IMG)"
  18. test: e2e-image ## Run e2e tests against current kube context
  19. $(MAKE) -C ../ docker.build \
  20. IMAGE_REGISTRY=local/external-secrets \
  21. VERSION=$(IMG_TAG) \
  22. ARCH=amd64 \
  23. BUILD_ARGS="${BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  24. kind load docker-image --name="external-secrets" local/external-secrets:$(IMG_TAG)
  25. kind load docker-image --name="external-secrets" $(IMG)
  26. ./run.sh
  27. test.managed: e2e-remote-values e2e-image.managed ## Run e2e tests against current kube context
  28. $(MAKE) -C ../ docker.build \
  29. VERSION=$(PR_IMG_TAG) \
  30. ARCH=amd64 \
  31. BUILD_ARGS="${BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  32. $(MAKE) -C ../ docker.push \
  33. VERSION=$(PR_IMG_TAG)
  34. $(MAKE) -C ../ docker.push \
  35. IMAGE_REGISTRY=$(E2E_IMAGE_REGISTRY) \
  36. VERSION=$(E2E_VERSION)
  37. ./run.sh
  38. e2e-remote-values:
  39. sed -i "s|repository: [^ ]*|repository: $(IMAGE_REGISTRY)|g" k8s/eso.values.yaml
  40. sed -i "s|tag: [^ ]*|tag: $(PR_IMG_TAG)|g" k8s/eso.values.yaml
  41. sed -i "s|repository: [^ ]*|repository: $(IMAGE_REGISTRY)|g" k8s/eso.scoped.values.yaml
  42. sed -i "s|tag: [^ ]*|tag: $(PR_IMG_TAG)|g" k8s/eso.scoped.values.yaml
  43. e2e-bin:
  44. CGO_ENABLED=0 go run github.com/onsi/ginkgo/ginkgo build .
  45. e2e-image: e2e-bin
  46. -rm -rf ./k8s/deploy
  47. mkdir -p k8s
  48. $(MAKE) -C ../ helm.generate
  49. cp -r ../deploy ./k8s
  50. docker build $(BUILD_ARGS) -t $(IMG) .
  51. e2e-image.managed: e2e-bin
  52. -rm -rf ./k8s/deploy
  53. mkdir -p k8s
  54. $(MAKE) -C ../ helm.generate
  55. cp -r ../deploy ./k8s
  56. docker build $(BUILD_ARGS) -t ghcr.io/external-secrets/external-secrets-e2e:$(E2E_VERSION) .
  57. stop-kind: ## Stop kind cluster
  58. kind delete cluster \
  59. --name external-secrets \
  60. help: ## displays this help message
  61. @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_\/-]+:.*?## / {printf "\033[34m%-18s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
  62. sort | \
  63. grep -v '#'