1-
21name : Test with Kubernetes
32
43on : [push, pull_request]
98
109 strategy :
1110 matrix :
12- # transporter: [NATS, Redis, MQTT, AMQP, AMQP10, STAN, Kafka]
13- transporter : [NATS, Redis, MQTT, AMQP, STAN, Kafka]
11+ transporter : [NATS, Redis, MQTT, AMQP, AMQP10, STAN, Kafka]
1412 fail-fast : false
1513
1614 steps :
17- - name : Checkout
18- uses : actions/checkout@v2
15+ - uses : actions/checkout@v3
1916
2017 - name : Use Node.js with ${{ matrix.transporter }} transporter
21- uses : actions/setup-node@v1
22- with :
23- node-version : 12.x
24- - name : Cache
25- uses : actions/cache@v2
18+ uses : actions/setup-node@v3
2619 with :
27- path : ~/.npm
28- key : cache-node-modules-12.x
20+ node-version : 18.x
2921
3022 - name : Install dependencies
3123 run : npm i
@@ -46,50 +38,35 @@ jobs:
4638 - name : Start a local Docker Registry
4739 run : docker run -d --restart=always -p 5000:5000 --name registry registry:2
4840
49- - name : Set Registry IP for KinD
50- run : |
51- REGISTRY_IP=$(docker inspect -f '{{.NetworkSettings.IPAddress}}' registry)
52- echo $REGISTRY_IP
53- sed -i "s/registry:5000/$REGISTRY_IP:5000/g" test/ci/kind-config.yaml
54- cat test/ci/kind-config.yaml
55-
5641 - name : Build Docker image
57- run : docker build -t ci-test .
42+ run : docker build -t ci-test:demo .
5843 working-directory : ./ci-test
5944
60- - name : Tagging
61- run : docker tag ci-test localhost:5000/ci-test
62-
63- - name : Push Docker image
64- run : docker push localhost:5000/ci-test
65-
6645 - uses : engineerd/setup-kind@v0.5.0
6746 with :
47+ version : " v0.17.0"
6848 config : ./test/ci/kind-config.yaml
6949
7050 - run : kubectl cluster-info
7151 - run : kubectl get nodes
7252 - run : kubectl get pods -n kube-system
7353
54+ - name : Load Docker image
55+ run : kind load docker-image ci-test:demo ci-test:demo
56+
7457 - name : Install NGINX Ingress
75- run : |
76- kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.0/deploy/static/mandatory.yaml
77- kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.0/deploy/static/provider/baremetal/service-nodeport.yaml
78- kubectl patch deployments -n ingress-nginx nginx-ingress-controller -p '{"spec":{"template":{"spec":{"containers":[{"name":"nginx-ingress-controller","ports":[{"containerPort":80,"hostPort":80},{"containerPort":443,"hostPort":443}]}],"nodeSelector":{"ingress-ready":"true"},"tolerations":[{"key":"node-role.kubernetes.io/master","operator":"Equal","effect":"NoSchedule"}]}}}}'
79-
58+ run : kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
59+
8060 - name : Kubectl apply
8161 working-directory : ./ci-test
8262 run : |
83- sed 's/image: ci-test/image: localhost:5000\/ci-test/g' k8s.yaml
84- sed 's/image: ci-test/image: localhost:5000\/ci-test/g' k8s.yaml | kubectl apply -f -
85-
86- - name : Sleeping 90 secs
87- run : sleep 90
88-
89- - name : Sleeping more in case of AMQP transporter
90- run : sleep 180
91- if : contains(matrix.transporter, 'AMQP')
92-
63+ # Fix nginx ingress issue: https://github.com/kubernetes/ingress-nginx/issues/5401#issuecomment-662424306
64+ kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission
65+ sed 's/image: ci-test/image: ci-test:demo/g' k8s.yaml | kubectl apply -f -
66+
67+ - name : Sleeping 120 secs
68+ run : sleep 120
69+
9370 - name : Check pods
9471 run : kubectl get all
9572
0 commit comments