Makefile 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. MAKEFLAGS += --warn-undefined-variables
  2. SHELL := /bin/bash
  3. .SHELLFLAGS := -euo pipefail -c
  4. KIND_IMG = "kindest/node:v1.24.2@sha256:1f0cee2282f43150b52dc7933183ed96abdcfc8d293f30ec07082495874876f1"
  5. DOCKER_BUILD_ARGS ?=
  6. export E2E_IMAGE_NAME ?= ghcr.io/external-secrets/external-secrets-e2e
  7. export GINKGO_LABELS ?= !managed
  8. export TEST_SUITES ?= provider generator flux argocd
  9. # Image registry for build/push image targets
  10. # Overwrite what is being set in the main Makeilfe because
  11. # this is what the Helm chart is using.
  12. export IMAGE_REGISTRY = oci.external-secrets.io
  13. export IMAGE_REPO = external-secrets/external-secrets
  14. export IMAGE_NAME = $(IMAGE_REGISTRY)/$(IMAGE_REPO)
  15. start-kind: ## Start kind cluster
  16. kind create cluster \
  17. --name external-secrets \
  18. --config kind.yaml \
  19. --retain \
  20. --image "$(KIND_IMG)"
  21. test: e2e-image ## Run e2e tests against current kube context
  22. $(MAKE) -C ../ docker.build \
  23. IMAGE_NAME=$(IMAGE_NAME) \
  24. VERSION=$(VERSION) \
  25. ARCH=amd64 \
  26. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  27. kind load docker-image --name="external-secrets" $(IMAGE_NAME):$(VERSION)
  28. kind load docker-image --name="external-secrets" $(E2E_IMAGE_NAME):$(VERSION)
  29. ./run.sh
  30. test.managed: e2e-image ## Run e2e tests against current kube context
  31. $(MAKE) -C ../ docker.build \
  32. VERSION=$(VERSION) \
  33. ARCH=amd64 \
  34. DOCKER_BUILD_ARGS="${DOCKER_BUILD_ARGS} --build-arg TARGETARCH=amd64 --build-arg TARGETOS=linux"
  35. $(MAKE) -C ../ docker.push \
  36. VERSION=$(VERSION)
  37. $(MAKE) -C ../ docker.push \
  38. IMAGE_NAME=$(E2E_IMAGE_NAME) \
  39. VERSION=$(VERSION)
  40. ./run.sh
  41. e2e-bin:
  42. CGO_ENABLED=0 go run github.com/onsi/ginkgo/v2/ginkgo build ./suites/...
  43. e2e-image:
  44. -rm -rf ./k8s/deploy
  45. mkdir -p k8s
  46. $(MAKE) -C ../ helm.generate
  47. cp -r ../deploy ./k8s
  48. docker build $(DOCKER_BUILD_ARGS) -t $(E2E_IMAGE_NAME):$(VERSION) -f Dockerfile ..
  49. stop-kind: ## Stop kind cluster
  50. kind delete cluster \
  51. --name external-secrets \
  52. help: ## displays this help message
  53. @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_\/-]+:.*?## / {printf "\033[34m%-18s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
  54. sort | \
  55. grep -v '#'