Skip to content

Commit 8b1fb44

Browse files
committed
Try to fix CI tests
1 parent de0c63f commit 8b1fb44

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

.github/workflows/test.yml

+16-7
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ jobs:
5454
cfg=`echo "$test" | sed 's/\.py$/.conf/'`
5555
python -m scrapyd_k8s -c scrapyd_k8s.sample-docker.conf -c "$cfg" &
5656
# wait for scrapyd-k8s to become ready
57-
sleep 1; curl --retry 20 --retry-delay 2 --retry-all-errors http://localhost:6800/daemonstatus.json
57+
curl -s --retry 30 --retry-delay 1 --retry-all-errors http://localhost:6800/daemonstatus.json
5858
# run test
5959
pytest -vv --color=yes "$test"
6060
# stop scrapyd-k8s again
61-
kill %1
61+
kill %1; wait %1 || true
6262
done
6363
6464
test-manifest:
@@ -135,19 +135,28 @@ jobs:
135135
# run scrapyd-k8s with test-specific configuration file
136136
cfg=`echo "$test" | sed 's/\.py$/.conf/'`
137137
kubectl create cm scrapyd-k8s-testcfg --from-file=scrapyd_k8s.test.conf="$cfg"
138+
echo "** before scaleup"
138139
kubectl scale --replicas=1 deploy/scrapyd-k8s
140+
sleep 1; echo "** after scaleup 1s"; kubectl describe pod # debug
141+
sleep 4; echo "** after scaleup 5s"; kubectl describe pod # debug
139142
# wait for scrapyd-k8s to become ready
140143
kubectl wait --for=condition=Available deploy/scrapyd-k8s --timeout=60s
141-
curl --retry 10 --retry-delay 2 --retry-all-errors `minikube service scrapyd-k8s --url`/daemonstatus.json
144+
echo "** after scaleup wait"
145+
curl -s --retry 10 --retry-delay 2 --retry-all-errors `minikube service scrapyd-k8s --url`/daemonstatus.json
142146
# run test
143147
TEST_WITH_K8S=1 \
144148
TEST_BASE_URL=`minikube service scrapyd-k8s --url` \
145149
TEST_MAX_WAIT=60 \
146150
TEST_AVAILABLE_VERSIONS=latest,`skopeo list-tags docker://ghcr.io/q-m/scrapyd-k8s-spider-example | jq -r '.Tags | map(select(. != "latest" and (startswith("sha-") | not))) | join(",")'` \
147151
pytest -vv --color=yes "$test"
148152
# stop scrapyd-k8s and delete test-specific configmap
153+
echo "** before scaledown"
149154
kubectl scale --replicas=0 deploy/scrapyd-k8s
150-
kubectl delete cm scrapyd-k8s-testcfg
155+
sleep 1; echo "** after scaledown 1s"; kubectl describe pod # debug
156+
sleep 4; echo "** after scaledown 5s"; kubectl describe pod # debug
157+
kubectl wait --for=delete pod -l app.kubernetes.io/name=scrapyd-k8s --timeout=90s
158+
echo "** after scaledown wait"
159+
kubectl delete cm scrapyd-k8s-testcfg --wait
151160
done
152161
153162
test-k8s:
@@ -181,18 +190,18 @@ jobs:
181190
- name: Run tests
182191
run: |
183192
for test in scrapyd_k8s/tests/integration/test_*.py; do
184-
echo; echo "# $test"
193+
echo "# $test"
185194
# run scrapyd-k8s with test-specific configuration file
186195
cfg=`echo "$test" | sed 's/\.py$/.conf/'`
187196
[ -e "$cfg" ] || cfg=/dev/null
188197
python -m scrapyd_k8s -c scrapyd_k8s.sample-k8s.conf -c "$cfg" &
189198
# wait for scrapyd-k8s to become ready
190-
sleep 1; curl --retry 20 --retry-delay 2 --retry-all-errors http://localhost:6800/daemonstatus.json
199+
curl -s --retry 30 --retry-delay 1 --retry-all-errors http://localhost:6800/daemonstatus.json
191200
# run test
192201
TEST_WITH_K8S=1 \
193202
TEST_MAX_WAIT=60 \
194203
TEST_AVAILABLE_VERSIONS=latest,`skopeo list-tags docker://ghcr.io/q-m/scrapyd-k8s-spider-example | jq -r '.Tags | map(select(. != "latest" and (startswith("sha-") | not))) | join(",")'` \
195204
pytest -vv --color=yes "$test"
196205
# stop scrapyd-k8s again
197-
kill %1
206+
kill %1; wait %1 || true
198207
done

0 commit comments

Comments
 (0)