@@ -24,51 +24,11 @@ jobs:
2424 timeout=180; start=$(date +%s)
2525 wait_port() { local host=$1 port=$2 name=$3; echo "Waiting for $name on $host:$port"; while ! nc -z "$host" "$port"; do now=$(date +%s); [ $((now-start)) -gt $timeout ] && { echo "$name not ready" >&2; docker compose -f src/test/chain-simulator/docker/docker-compose.state-e2e.yml ps; exit 1; } || sleep 2; done; echo "$name ready"; }
2626 wait_port 127.0.0.1 27017 MongoDB
27+ wait_port 127.0.0.1 6379 Redis
28+ wait_port 127.0.0.1 26379 Sentinel
2729 wait_port 127.0.0.1 5672 RabbitMQ
2830 for i in {1..60}; do if curl -sf http://127.0.0.1:15672 >/dev/null; then break; fi; sleep 2; done
2931
30- - name : Install and start Redis + Sentinel on host
31- run : |
32- set -euxo pipefail
33- sudo apt-get update
34- sudo apt-get install -y redis-server
35-
36- # Stop any auto-started Redis to avoid conflicts
37- sudo systemctl stop redis-server || true
38-
39- # Start a dedicated Redis (daemonized) bound to localhost:6379
40- if ! nc -z 127.0.0.1 6379; then
41- printf "%s\n" \
42- "port 6379" \
43- "daemonize yes" \
44- "pidfile ./redis-6379.pid" \
45- "bind 127.0.0.1" \
46- "save \"\"" \
47- "appendonly no" \
48- > redis-6379.conf
49- redis-server redis-6379.conf
50- fi
51-
52- # Start a dedicated Redis Sentinel on 26379 watching 127.0.0.1:6379
53- if ! nc -z 127.0.0.1 26379; then
54- printf "%s\n" \
55- "port 26379" \
56- "daemonize yes" \
57- "pidfile ./redis-sentinel.pid" \
58- "bind 127.0.0.1" \
59- "sentinel monitor mymaster 127.0.0.1 6379 1" \
60- "sentinel down-after-milliseconds mymaster 5000" \
61- "sentinel failover-timeout mymaster 60000" \
62- "sentinel parallel-syncs mymaster 1" \
63- > sentinel.conf
64- redis-sentinel sentinel.conf
65- fi
66-
67- # Wait for ports to be open
68- timeout=60; start=$(date +%s)
69- until nc -z 127.0.0.1 6379; do now=$(date +%s); [ $((now-start)) -gt $timeout ] && { echo "Redis failed to start" >&2; exit 1; } || sleep 1; done
70- until nc -z 127.0.0.1 26379; do now=$(date +%s); [ $((now-start)) -gt $timeout ] && { echo "Redis Sentinel failed to start" >&2; cat redis-sentinel.pid 2>/dev/null || true; exit 1; } || sleep 1; done
71-
7232 - name : Setup Go
7333 uses : actions/setup-go@v5
7434 with :
0 commit comments