This is an automated email from the ASF dual-hosted git repository.

pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-projection.git


The following commit(s) were added to refs/heads/main by this push:
     new 0f6c3c37 copy over docker wait changes (#524)
0f6c3c37 is described below

commit 0f6c3c37dd02076309637a03c9b489110b4919d2
Author: PJ Fanning <[email protected]>
AuthorDate: Mon Jun 15 17:00:41 2026 +0100

    copy over docker wait changes (#524)
    
    * copy over docker wait changes
    
    * Update integration-tests-r2dbc.yml
---
 .github/workflows/integration-tests-r2dbc.yml | 35 ++++++++++++++++++++++-----
 docker-files/docker-compose-postgres.yml      |  6 +++++
 2 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/integration-tests-r2dbc.yml 
b/.github/workflows/integration-tests-r2dbc.yml
index cc832e13..a3c68860 100644
--- a/.github/workflows/integration-tests-r2dbc.yml
+++ b/.github/workflows/integration-tests-r2dbc.yml
@@ -56,9 +56,16 @@ jobs:
 
       - name: Start PostgreSQL DB
         run: |-
-          docker compose -f docker-files/docker-compose-postgres.yml up -d
-          # TODO: could we poll the port instead of sleep?
-          sleep 10
+          docker compose -f docker-files/docker-compose-postgres.yml up -d 
--wait
+          # loop to wait for the DB to be ready
+          for i in {1..8}; do
+            if docker exec -i docker-postgres-db-1 psql -U postgres \
+                -t -c 'SELECT 1;' 2>/dev/null; then
+              break
+            fi
+            echo "Retry $i: SQL check failed, waiting before retry..."
+            sleep $((i * 2))
+          done
           docker exec -i docker-postgres-db-1 psql -U postgres -t < 
r2dbc-int-test/ddl-scripts/create_tables_postgres.sql
           docker exec -i docker-postgres-db-1 psql -U postgres -t -c 'CREATE 
DATABASE database1;'
           docker exec -i docker-postgres-db-1 psql -U postgres -t -d database1 
< r2dbc-int-test/ddl-scripts/create_tables_postgres.sql
@@ -109,9 +116,16 @@ jobs:
 
       - name: Start YugabyteDB
         run: |-
-          docker compose -f docker-files/docker-compose-yugabyte.yml up -d
-          # TODO: could we poll the port instead of sleep?
-          sleep 10
+          docker compose -f docker-files/docker-compose-yugabyte.yml up -d 
--wait
+          # loop to wait for the DB to be ready
+          for i in {1..8}; do
+            if docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh \
+                -h yb-tserver-n1 -t -c 'SELECT 1;' 2>/dev/null; then
+              break
+            fi
+            echo "Retry $i: SQL check failed, waiting before retry..."
+            sleep $((i * 2))
+          done
           docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h 
yb-tserver-n1 -t < r2dbc-int-test/ddl-scripts/create_tables_yugabyte.sql
           docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h 
yb-tserver-n1 -t -c 'CREATE DATABASE database1;'
           docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h 
yb-tserver-n1 -t -d database1 < 
r2dbc-int-test/ddl-scripts/create_tables_yugabyte.sql
@@ -163,6 +177,15 @@ jobs:
       - name: Start MySQL
         run: |-
           docker compose -f docker-files/docker-compose-mysql.yml up -d --wait
+          # loop to wait for the DB to be ready
+          for i in {1..8}; do
+            if docker exec -i docker-mysql-db-1 mysql \
+                -h 127.0.0.1 --user=root --password=root --database=mysql -e 
'SELECT 1;' 2>/dev/null; then
+              break
+            fi
+            echo "Retry $i: SQL check failed, waiting before retry..."
+            sleep $((i * 2))
+          done
           docker exec -i docker-mysql-db-1 mysql -h 127.0.0.1 --user=root 
--password=root --database=mysql < 
r2dbc-int-test/ddl-scripts/create_tables_mysql.sql
           docker exec -i docker-mysql-db-1 mysql -h 127.0.0.1 --user=root 
--password=root -e 'CREATE SCHEMA database1;'
           docker exec -i docker-mysql-db-1 mysql -h 127.0.0.1 --user=root 
--password=root --database=database1 < 
r2dbc-int-test/ddl-scripts/create_tables_mysql.sql
diff --git a/docker-files/docker-compose-postgres.yml 
b/docker-files/docker-compose-postgres.yml
index 351a6bb7..eb832234 100644
--- a/docker-files/docker-compose-postgres.yml
+++ b/docker-files/docker-compose-postgres.yml
@@ -7,3 +7,9 @@ services:
     environment:
       POSTGRES_USER: postgres
       POSTGRES_PASSWORD: postgres
+    healthcheck:
+      test: ["CMD", "pg_isready", "-U", "postgres", "-h", "127.0.0.1"]
+      interval: 5s
+      timeout: 10s
+      retries: 12
+      start_period: 10s


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to