Skip to content

Commit a0088e5

Browse files
committed
Improve demo cluster start and stop handling
1 parent c00fe9d commit a0088e5

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

.github/workflows/jepsen-test.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,34 @@ jobs:
3333
working-directory: jepsen
3434
run: ~/lein test
3535
- name: Launch demo cluster
36+
env:
37+
GOTMPDIR: /tmp/go-tmp
3638
run: |
37-
mkdir -p "$GOCACHE"
39+
set -euo pipefail
40+
mkdir -p "$GOCACHE" "$GOTMPDIR"
3841
nohup go run cmd/server/demo.go > /tmp/elastickv-demo.log 2>&1 &
3942
echo $! > /tmp/elastickv-demo.pid
40-
for i in {1..30}; do
41-
nc -z 127.0.0.1 63791 && nc -z 127.0.0.1 63792 && nc -z 127.0.0.1 63793 && break
43+
44+
echo "Waiting for redis listeners on 63791-63793..."
45+
for i in {1..45}; do
46+
if nc -z 127.0.0.1 63791 && nc -z 127.0.0.1 63792 && nc -z 127.0.0.1 63793; then
47+
echo "Cluster is up"
48+
exit 0
49+
fi
4250
sleep 1
4351
done
52+
53+
echo "Demo cluster failed to start; dumping log:"
54+
tail -n 200 /tmp/elastickv-demo.log || true
55+
exit 1
4456
- name: Run Redis Jepsen workload against elastickv
4557
working-directory: jepsen
4658
run: |
4759
~/lein run -m elastickv.redis-workload --time-limit 5 --rate 5 --concurrency 5 --ports 63791,63792,63793 --host 127.0.0.1
4860
- name: Stop demo cluster
4961
run: |
5062
if [ -f /tmp/elastickv-demo.pid ]; then
51-
kill "$(cat /tmp/elastickv-demo.pid)" || true
63+
pid=$(cat /tmp/elastickv-demo.pid)
64+
kill "$pid" 2>/dev/null || true
65+
wait "$pid" 2>/dev/null || true
5266
fi

0 commit comments

Comments
 (0)