From d1a9190c504cadee044e926a60d50342b9c8b8fa Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Thu, 11 Aug 2022 16:08:32 +0200 Subject: [PATCH] CONTAINER_ENGINE to override the default docker engine --- Makefile | 26 ++++++++++++++------------ hack/verify-chart.sh | 2 +- test/run-e2e-tests.sh | 2 +- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index f667d23b4..10efb8d48 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,8 @@ .PHONY: test +export CONTAINER_ENGINE ?= docker + # VERSION is based on a date stamp plus the last commit VERSION?=v$(shell date +%Y%m%d)-$(shell git describe --tags) BRANCH?=$(shell git branch --show-current) @@ -60,36 +62,36 @@ build.arm64: CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build ${LDFLAGS} -o _output/bin/descheduler sigs.k8s.io/descheduler/cmd/descheduler dev-image: build - docker build -f Dockerfile.dev -t $(IMAGE) . + $(CONTAINER_ENGINE) build -f Dockerfile.dev -t $(IMAGE) . image: - docker build --build-arg VERSION="$(VERSION)" --build-arg ARCH="amd64" -t $(IMAGE) . + $(CONTAINER_ENGINE) build --build-arg VERSION="$(VERSION)" --build-arg ARCH="amd64" -t $(IMAGE) . image.amd64: - docker build --build-arg VERSION="$(VERSION)" --build-arg ARCH="amd64" -t $(IMAGE)-amd64 . + $(CONTAINER_ENGINE) build --build-arg VERSION="$(VERSION)" --build-arg ARCH="amd64" -t $(IMAGE)-amd64 . image.arm: - docker build --build-arg VERSION="$(VERSION)" --build-arg ARCH="arm" -t $(IMAGE)-arm . + $(CONTAINER_ENGINE) build --build-arg VERSION="$(VERSION)" --build-arg ARCH="arm" -t $(IMAGE)-arm . image.arm64: - docker build --build-arg VERSION="$(VERSION)" --build-arg ARCH="arm64" -t $(IMAGE)-arm64 . + $(CONTAINER_ENGINE) build --build-arg VERSION="$(VERSION)" --build-arg ARCH="arm64" -t $(IMAGE)-arm64 . push: image gcloud auth configure-docker - docker tag $(IMAGE) $(IMAGE_GCLOUD) - docker push $(IMAGE_GCLOUD) + $(CONTAINER_ENGINE) tag $(IMAGE) $(IMAGE_GCLOUD) + $(CONTAINER_ENGINE) push $(IMAGE_GCLOUD) push-all: image.amd64 image.arm image.arm64 gcloud auth configure-docker for arch in $(ARCHS); do \ - docker tag $(IMAGE)-$${arch} $(IMAGE_GCLOUD)-$${arch} ;\ - docker push $(IMAGE_GCLOUD)-$${arch} ;\ + $(CONTAINER_ENGINE) tag $(IMAGE)-$${arch} $(IMAGE_GCLOUD)-$${arch} ;\ + $(CONTAINER_ENGINE) push $(IMAGE_GCLOUD)-$${arch} ;\ done - DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create $(IMAGE_GCLOUD) $(addprefix --amend $(IMAGE_GCLOUD)-, $(ARCHS)) + DOCKER_CLI_EXPERIMENTAL=enabled $(CONTAINER_ENGINE) manifest create $(IMAGE_GCLOUD) $(addprefix --amend $(IMAGE_GCLOUD)-, $(ARCHS)) for arch in $(ARCHS); do \ - DOCKER_CLI_EXPERIMENTAL=enabled docker manifest annotate --arch $${arch} $(IMAGE_GCLOUD) $(IMAGE_GCLOUD)-$${arch} ;\ + DOCKER_CLI_EXPERIMENTAL=enabled $(CONTAINER_ENGINE) manifest annotate --arch $${arch} $(IMAGE_GCLOUD) $(IMAGE_GCLOUD)-$${arch} ;\ done - DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push $(IMAGE_GCLOUD) ;\ + DOCKER_CLI_EXPERIMENTAL=enabled $(CONTAINER_ENGINE) manifest push $(IMAGE_GCLOUD) ;\ clean: rm -rf _output diff --git a/hack/verify-chart.sh b/hack/verify-chart.sh index 8d4a1abb7..5af311e9f 100755 --- a/hack/verify-chart.sh +++ b/hack/verify-chart.sh @@ -1 +1 @@ -docker run -it --rm --network host --workdir=/data --volume ~/.kube/config:/root/.kube/config:ro --volume $(pwd):/data quay.io/helmpack/chart-testing:v3.7.0 /bin/bash -c "git config --global --add safe.directory /data; ct install --config=.github/ci/ct.yaml --helm-extra-set-args=\"--set=kind=Deployment --set=podSecurityPolicy.create=false\"" +${CONTAINER_ENGINE:-docker} run -it --rm --network host --workdir=/data --volume ~/.kube/config:/root/.kube/config:ro --volume $(pwd):/data quay.io/helmpack/chart-testing:v3.7.0 /bin/bash -c "git config --global --add safe.directory /data; ct install --config=.github/ci/ct.yaml --helm-extra-set-args=\"--set=kind=Deployment --set=podSecurityPolicy.create=false\"" diff --git a/test/run-e2e-tests.sh b/test/run-e2e-tests.sh index 9c6f2f0c4..87fdb0047 100755 --- a/test/run-e2e-tests.sh +++ b/test/run-e2e-tests.sh @@ -33,7 +33,7 @@ if [ -n "$KIND_E2E" ]; then export PATH=$PATH:$PWD kind create cluster --image kindest/node:${K8S_VERSION} --config=./hack/kind_config.yaml fi - docker pull kubernetes/pause + ${CONTAINER_ENGINE:-docker} pull kubernetes/pause kind load docker-image kubernetes/pause kind get kubeconfig > /tmp/admin.conf export KUBECONFIG="/tmp/admin.conf"