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
This commit is contained in:
parent
1c67ea65d9
commit
a612b38f9b
15
Makefile
15
Makefile
|
|
@ -136,6 +136,7 @@ release/clean:
|
||||||
|
|
||||||
.PHONY: acceptance
|
.PHONY: acceptance
|
||||||
acceptance: release/clean docker-build release
|
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=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_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
|
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:
|
acceptance/kind:
|
||||||
kind create cluster --name acceptance
|
kind create cluster --name acceptance
|
||||||
kind load docker-image ${NAME}:${VERSION} --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
|
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:
|
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 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
|
kubectl -n cert-manager wait deploy/cert-manager-cainjector --for condition=available --timeout 60s
|
||||||
|
|
|
||||||
|
|
@ -764,7 +764,7 @@ NAME=$DOCKER_USER/actions-runner-controller \
|
||||||
APP_ID=*** \
|
APP_ID=*** \
|
||||||
PRIVATE_KEY_FILE_PATH=path/to/pem/file \
|
PRIVATE_KEY_FILE_PATH=path/to/pem/file \
|
||||||
INSTALLATION_ID=*** \
|
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
|
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 \
|
PRIVATE_KEY_FILE_PATH=path/to/pem/file \
|
||||||
INSTALLATION_ID=*** \
|
INSTALLATION_ID=*** \
|
||||||
ACCEPTANCE_TEST_SECRET_TYPE=token \
|
ACCEPTANCE_TEST_SECRET_TYPE=token \
|
||||||
make docker-build docker-push \
|
make docker-build acceptance/setup \
|
||||||
acceptance/setup acceptance/tests
|
acceptance/tests
|
||||||
```
|
```
|
||||||
|
|
||||||
**Runner Tests**<br />
|
**Runner Tests**<br />
|
||||||
|
|
|
||||||
|
|
@ -26,13 +26,14 @@ if [ "${tool}" == "helm" ]; then
|
||||||
charts/actions-runner-controller \
|
charts/actions-runner-controller \
|
||||||
-n actions-runner-system \
|
-n actions-runner-system \
|
||||||
--create-namespace \
|
--create-namespace \
|
||||||
--set syncPeriod=5m
|
--set syncPeriod=5m \
|
||||||
kubectl -n actions-runner-system wait deploy/actions-runner-controller --for condition=available
|
--set authSecret.create=false
|
||||||
|
kubectl -n actions-runner-system wait deploy/actions-runner-controller --for condition=available --timeout 60s
|
||||||
else
|
else
|
||||||
kubectl apply \
|
kubectl apply \
|
||||||
-n actions-runner-system \
|
-n actions-runner-system \
|
||||||
-f release/actions-runner-controller.yaml
|
-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
|
fi
|
||||||
|
|
||||||
# Adhocly wait for some time until actions-runner-controller's admission webhook gets ready
|
# Adhocly wait for some time until actions-runner-controller's admission webhook gets ready
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue