Skip to content

Commit ec0d356

Browse files
committed
ci: pin rippled Docker image and harden health check wait
The rippleci/rippled:develop image updated after 2026-04-01 and broke integration tests across all PRs (container exits before becoming healthy, causing Connection refused on localhost:5005). Pin to the last known-good digest and replace the simple until loop with a bounded retry that checks container liveness, prints status per attempt, and dumps container logs on failure.
1 parent f57f0da commit ec0d356

1 file changed

Lines changed: 16 additions & 3 deletions

File tree

.github/workflows/integration_test.yml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ on:
1111
name: Integration Test
1212

1313
env:
14-
RIPPLED_DOCKER_IMAGE: rippleci/rippled:develop
14+
# Pin to known-good digest; rippleci/rippled:develop broke after 2026-04-01
15+
RIPPLED_DOCKER_IMAGE: rippleci/rippled:develop@sha256:328175bf14b7b83db9e5e6b50c7458bf828b02b2855453efc038233094aa8d85
1516

1617
jobs:
1718
integration_test:
@@ -41,10 +42,22 @@ jobs:
4142
4243
- name: Wait for rippled to be healthy
4344
run: |
44-
until docker inspect --format='{{.State.Health.Status}}' rippled-service | grep -q healthy; do
45-
echo "Waiting for rippled to be ready..."
45+
for i in $(seq 1 30); do
46+
if ! docker ps -q -f name=rippled-service | grep -q .; then
47+
echo "Container exited unexpectedly"
48+
docker logs rippled-service 2>&1 || true
49+
exit 1
50+
fi
51+
STATUS=$(docker inspect --format='{{.State.Health.Status}}' rippled-service 2>/dev/null || echo "unknown")
52+
echo "Attempt $i/30: $STATUS"
53+
if [ "$STATUS" = "healthy" ]; then
54+
exit 0
55+
fi
4656
sleep 2
4757
done
58+
echo "Timed out waiting for rippled"
59+
docker logs rippled-service 2>&1 || true
60+
exit 1
4861
4962
- uses: dtolnay/rust-toolchain@stable
5063

0 commit comments

Comments
 (0)