From 919b9c7d75090e526c668208952ca8a98d5f2a64 Mon Sep 17 00:00:00 2001 From: newborn22 <953950914@qq.com> Date: Wed, 4 Dec 2024 10:06:56 +0800 Subject: [PATCH] fix: wait cluster start up --- .github/workflows/new_endtoend_test.yml | 23 +++++++++++++++++++ .../new_endtoend_test_for_branch.yml | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/.github/workflows/new_endtoend_test.yml b/.github/workflows/new_endtoend_test.yml index e00184c67e..9071150232 100644 --- a/.github/workflows/new_endtoend_test.yml +++ b/.github/workflows/new_endtoend_test.yml @@ -108,6 +108,29 @@ jobs: $WESCALE_CI_IMAGE \ /vt/examples/wesql-server/init_single_node_cluster.sh + - name: Wait for MySQL ports + run: | + timeout=300 # 5 minutes timeout + ports=(3306 15306) + + for port in "${ports[@]}"; do + echo "Waiting for MySQL port $port..." + start_time=$(date +%s) + while ! nc -z localhost $port; do + current_time=$(date +%s) + elapsed=$((current_time - start_time)) + + if [ $elapsed -ge $timeout ]; then + echo "Timeout waiting for MySQL port $port" + exit 1 + fi + + echo "Port $port not ready. Retrying in 5 seconds..." + sleep 5 + done + echo "MySQL port $port is ready!" + done + - name: Run EndToEnd test run: | cd endtoend diff --git a/.github/workflows/new_endtoend_test_for_branch.yml b/.github/workflows/new_endtoend_test_for_branch.yml index f105fff1d1..2ccc1fb6f5 100644 --- a/.github/workflows/new_endtoend_test_for_branch.yml +++ b/.github/workflows/new_endtoend_test_for_branch.yml @@ -133,6 +133,29 @@ jobs: $WESCALE_CI_IMAGE \ /vt/examples/wesql-server/init_single_node_cluster.sh + - name: Wait for MySQL ports + run: | + timeout=300 # 5 minutes timeout + ports=(3306 3307 15306 15307) + + for port in "${ports[@]}"; do + echo "Waiting for MySQL port $port..." + start_time=$(date +%s) + while ! nc -z localhost $port; do + current_time=$(date +%s) + elapsed=$((current_time - start_time)) + + if [ $elapsed -ge $timeout ]; then + echo "Timeout waiting for MySQL port $port" + exit 1 + fi + + echo "Port $port not ready. Retrying in 5 seconds..." + sleep 5 + done + echo "MySQL port $port is ready!" + done + - name: Run EndToEnd test run: | cd endtoend