Skip to content

Commit 47c0b62

Browse files
Limit parallelism, Better verbosity on last step and no error
1 parent c2887a3 commit 47c0b62

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

.github/workflows/test-kubernetes.yaml

+19-9
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
test:
1414
runs-on: ubuntu-latest
1515
strategy:
16+
max-parallel: 2
1617
matrix:
1718
# Always quote versions to prevent int truncation (1.30 -> 1.3)
1819
# https://kubernetes.io/releases
@@ -28,7 +29,6 @@ jobs:
2829
with:
2930
kubernetes-version: ${{ matrix.k8s-version }}
3031

31-
3232
- name: Install cert-manager, patch upstream dns servers, wait for readiness
3333
run: |
3434
echo "Target cert-manager version: ${{ matrix.cm-version }}"
@@ -37,7 +37,6 @@ jobs:
3737
kubectl patch deployment cert-manager -n cert-manager --type='json' -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value": "--dns01-recursive-nameservers=ns1.dnsimple.com:53"}]'
3838
kubectl wait --for=condition=available --timeout=600s deployment/cert-manager-webhook -n cert-manager
3939
40-
4140
- name: Install cert-manager-webhook-dnsimple, wait for readiness
4241
env:
4342
DNSIMPLE_API_TOKEN: ${{ secrets.DNSIMPLE_API_TOKEN }}
@@ -54,7 +53,7 @@ jobs:
5453
5554
helm -n cert-manager list
5655
57-
max_wait_time_seconds=600
56+
max_wait_time_seconds=800
5857
sleep_between_iterations=10
5958
6059
start=$(date +%s)
@@ -63,7 +62,7 @@ jobs:
6362
echo ""
6463
echo "Awaiting succesful deployment for max ${max_wait_time_seconds} seconds or until $(date --date="@$end")"
6564
while [ $(date +%s) -le $end ]; do
66-
echo "[i] New iteration at $(date +%s)"
65+
echo "[i] New iteration at $(date)"
6766
kubectl -n cert-manager get po
6867
6968
if [ $(kubectl -n cert-manager get po | grep Crash | wc -l) -gt 0 ]; then
@@ -107,7 +106,6 @@ jobs:
107106
""" > certificate.yaml
108107
kubectl apply -f certificate.yaml
109108
110-
111109
- name: Assert that the DNS record was created
112110
env:
113111
DNSIMPLE_ZONE_NAME: ${{ secrets.DNSIMPLE_ZONE_NAME }}
@@ -120,9 +118,21 @@ jobs:
120118
sleep 30
121119
done
122120
123-
124121
- name: Check the certificate status
125122
run: |
126-
kubectl wait --for=condition=ready --timeout=600s certificate/dnsimple-test
127-
# this should not be necessary since the certificate is usually ready once the DNS record is propagated
128-
kubectl get certificate dnsimple-test -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}' | grep True
123+
max_wait_time_seconds=300
124+
end=$(( $(date +%s) + $max_wait_time_seconds ))
125+
start=$(date +%s)
126+
127+
while [ $(date +%s) -le $end ]; do
128+
kubectl get certificate/dnsimple-test -o jsonpath='{.status}'
129+
130+
if [ $(kubectl get certificate dnsimple-test -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}') == "True" ]; then
131+
echo "Certificate is ready after $(( $(date +%s) - $start )) seconds"
132+
exit 0
133+
fi
134+
sleep 10
135+
echo "[i] New iteration at $(date)"
136+
done
137+
138+
echo "::warning title=Certificate timed out::Have timed out waiting for certificate"

0 commit comments

Comments
 (0)