From a612b38f9becba40bf914c814343b6d5311d4d3a Mon Sep 17 00:00:00 2001 From: ToMe25 <38815969+ToMe25@users.noreply.github.com> Date: Sun, 18 Apr 2021 02:44:59 +0200 Subject: [PATCH] Cache docker images in acceptance test (#463) * Cache docker images locally Cache dind, runner, and kube-rbac-proxy docker image on the host and copy onto the kind node instead of downloading it to the node directly. * Also cache certmanager docker images --- Makefile | 15 +++++++++++++++ README.md | 6 +++--- acceptance/deploy.sh | 7 ++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 85556a75..8ab459de 100644 --- a/Makefile +++ b/Makefile @@ -136,6 +136,7 @@ release/clean: .PHONY: acceptance acceptance: release/clean docker-build release + make acceptance/pull ACCEPTANCE_TEST_SECRET_TYPE=token make acceptance/kind acceptance/setup acceptance/tests acceptance/teardown ACCEPTANCE_TEST_SECRET_TYPE=app make acceptance/kind acceptance/setup acceptance/tests acceptance/teardown ACCEPTANCE_TEST_DEPLOYMENT_TOOL=helm ACCEPTANCE_TEST_SECRET_TYPE=token make acceptance/kind acceptance/setup acceptance/tests acceptance/teardown @@ -144,8 +145,22 @@ acceptance: release/clean docker-build release acceptance/kind: kind create cluster --name acceptance kind load docker-image ${NAME}:${VERSION} --name acceptance + kind load docker-image quay.io/brancz/kube-rbac-proxy:v0.8.0 --name acceptance + kind load docker-image summerwind/actions-runner:latest --name acceptance + kind load docker-image docker:dind --name acceptance + kind load docker-image quay.io/jetstack/cert-manager-controller:v1.0.4 --name acceptance + kind load docker-image quay.io/jetstack/cert-manager-cainjector:v1.0.4 --name acceptance + kind load docker-image quay.io/jetstack/cert-manager-webhook:v1.0.4 --name acceptance kubectl cluster-info --context kind-acceptance +acceptance/pull: + docker pull quay.io/brancz/kube-rbac-proxy:v0.8.0 + docker pull summerwind/actions-runner:latest + docker pull docker:dind + docker pull quay.io/jetstack/cert-manager-controller:v1.0.4 + docker pull quay.io/jetstack/cert-manager-cainjector:v1.0.4 + docker pull quay.io/jetstack/cert-manager-webhook:v1.0.4 + acceptance/setup: kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.4/cert-manager.yaml #kubectl create namespace actions-runner-system kubectl -n cert-manager wait deploy/cert-manager-cainjector --for condition=available --timeout 60s diff --git a/README.md b/README.md index f6cc5b83..2cc709f7 100644 --- a/README.md +++ b/README.md @@ -764,7 +764,7 @@ NAME=$DOCKER_USER/actions-runner-controller \ APP_ID=*** \ PRIVATE_KEY_FILE_PATH=path/to/pem/file \ INSTALLATION_ID=*** \ - make docker-build docker-push acceptance + make docker-build acceptance ``` Please follow the instructions explained in [Using Personal Access Token](#using-personal-access-token) to obtain @@ -785,8 +785,8 @@ NAME=$DOCKER_USER/actions-runner-controller \ PRIVATE_KEY_FILE_PATH=path/to/pem/file \ INSTALLATION_ID=*** \ ACCEPTANCE_TEST_SECRET_TYPE=token \ - make docker-build docker-push \ - acceptance/setup acceptance/tests + make docker-build acceptance/setup \ + acceptance/tests ``` **Runner Tests**
diff --git a/acceptance/deploy.sh b/acceptance/deploy.sh index 30867eae..02921b04 100755 --- a/acceptance/deploy.sh +++ b/acceptance/deploy.sh @@ -26,13 +26,14 @@ if [ "${tool}" == "helm" ]; then charts/actions-runner-controller \ -n actions-runner-system \ --create-namespace \ - --set syncPeriod=5m - kubectl -n actions-runner-system wait deploy/actions-runner-controller --for condition=available + --set syncPeriod=5m \ + --set authSecret.create=false + kubectl -n actions-runner-system wait deploy/actions-runner-controller --for condition=available --timeout 60s else kubectl apply \ -n actions-runner-system \ -f release/actions-runner-controller.yaml - kubectl -n actions-runner-system wait deploy/controller-manager --for condition=available --timeout 60s + kubectl -n actions-runner-system wait deploy/controller-manager --for condition=available --timeout 120s fi # Adhocly wait for some time until actions-runner-controller's admission webhook gets ready