From 763bbeffacf5faf0fb06e8a958764c04ea83093f Mon Sep 17 00:00:00 2001 From: wojsmol Date: Wed, 12 Apr 2023 16:13:34 +0200 Subject: [PATCH 1/3] wait until MySQL accepts connections --- bin/install-package-tests | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/install-package-tests b/bin/install-package-tests index 9ed4dbc3c..39f923cda 100755 --- a/bin/install-package-tests +++ b/bin/install-package-tests @@ -47,6 +47,12 @@ if [ -n "${WP_CLI_TEST_DBPASS}" ]; then TEST_PASSWORD="${WP_CLI_TEST_DBPASS}" fi +while ! mysql --user="${USER}" "${PASSWORD_STRING}" --execute="SHOW DATABASES;" | grep 'information_schema' >/dev/null; +do + echo 'Waiting for MySQL query...' + sleep 1 +done + # Prepare the database for running the tests with a MySQL version 8.0 or higher. install_mysql_db_8_0_plus() { set -ex From be928d04a80a30b65a3b9c2af730f85a9eb1e61b Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 12 Apr 2023 14:09:06 -0700 Subject: [PATCH 2/3] Bail after 60 seconds --- bin/install-package-tests | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/install-package-tests b/bin/install-package-tests index 39f923cda..ad98befb8 100755 --- a/bin/install-package-tests +++ b/bin/install-package-tests @@ -47,10 +47,16 @@ if [ -n "${WP_CLI_TEST_DBPASS}" ]; then TEST_PASSWORD="${WP_CLI_TEST_DBPASS}" fi +echo 'Checking if MySQL is ready...' while ! mysql --user="${USER}" "${PASSWORD_STRING}" --execute="SHOW DATABASES;" | grep 'information_schema' >/dev/null; do - echo 'Waiting for MySQL query...' - sleep 1 + echo 'Waiting for MySQL...' + sleep 3 + let "i+=1" + if [ $i -gt 20 ]; then + echo 'MySQL failed to start. Aborting.' + exit 1 + fi done # Prepare the database for running the tests with a MySQL version 8.0 or higher. From 6aa7e8cd2dfe11c342b36e926882394028077545 Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Wed, 12 Apr 2023 14:10:17 -0700 Subject: [PATCH 3/3] Increase to 3 minutes --- bin/install-package-tests | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/install-package-tests b/bin/install-package-tests index ad98befb8..c1cf6a273 100755 --- a/bin/install-package-tests +++ b/bin/install-package-tests @@ -51,9 +51,9 @@ echo 'Checking if MySQL is ready...' while ! mysql --user="${USER}" "${PASSWORD_STRING}" --execute="SHOW DATABASES;" | grep 'information_schema' >/dev/null; do echo 'Waiting for MySQL...' - sleep 3 + sleep 5 let "i+=1" - if [ $i -gt 20 ]; then + if [ $i -gt 36 ]; then echo 'MySQL failed to start. Aborting.' exit 1 fi