Skip to content

Commit 09e41bb

Browse files
back to compose
1 parent 2affd0b commit 09e41bb

2 files changed

Lines changed: 34 additions & 42 deletions

File tree

.github/workflows/e2e-state-accesses.yml

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -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:

src/test/chain-simulator/docker/docker-compose.state-e2e.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,38 @@ services:
2626
timeout: 5s
2727
retries: 15
2828

29+
redis-master:
30+
image: bitnami/redis:7
31+
container_name: statee2e-redis-master
32+
environment:
33+
- REDIS_REPLICATION_MODE=master
34+
- ALLOW_EMPTY_PASSWORD=yes
35+
ports:
36+
- "6379:6379"
37+
healthcheck:
38+
test: ["CMD", "redis-cli", "ping"]
39+
interval: 10s
40+
timeout: 5s
41+
retries: 10
42+
43+
redis-sentinel:
44+
image: bitnami/redis-sentinel:7
45+
container_name: statee2e-redis-sentinel
46+
depends_on:
47+
- redis-master
48+
environment:
49+
- REDIS_MASTER_SET=mymaster
50+
- REDIS_MASTER_HOST=redis-master
51+
- ALLOW_EMPTY_PASSWORD=yes
52+
- REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=10000
53+
ports:
54+
- "26379:26379"
55+
healthcheck:
56+
test: ["CMD-SHELL", "redis-cli -p 26379 ping | grep PONG"]
57+
interval: 10s
58+
timeout: 5s
59+
retries: 10
60+
2961
networks:
3062
default:
3163
name: statee2e-net

0 commit comments

Comments
 (0)