mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-07-19 03:21:33 +08:00
* feat: 支持创建邮箱 API 的子域名后缀匹配开关 * fix: 修复 review 提到的开关三态与域名校验问题 * fix: 补充域名归一化与子域名匹配回归测试 * fix: 修复后台开关跟随 env 回退与 account_settings 半成功保存 * fix: 收口账号设置刷新提示与子域名状态重复读取 * fix: 拦截超长域名并透传账号设置刷新失败
93 lines
2.6 KiB
Bash
Executable File
93 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
echo "==> Waiting for worker at $WORKER_URL ..."
|
|
for i in $(seq 1 60); do
|
|
if curl -sf "$WORKER_URL/health_check" > /dev/null 2>&1; then
|
|
echo " Worker ready after ${i}s"
|
|
break
|
|
fi
|
|
if [ "$i" -eq 60 ]; then
|
|
echo "ERROR: Worker not ready after 60s"
|
|
exit 1
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
if [ -n "${WORKER_URL_SUBDOMAIN:-}" ]; then
|
|
echo "==> Waiting for subdomain worker at $WORKER_URL_SUBDOMAIN ..."
|
|
for i in $(seq 1 60); do
|
|
if curl -sf "$WORKER_URL_SUBDOMAIN/health_check" > /dev/null 2>&1; then
|
|
echo " Subdomain worker ready after ${i}s"
|
|
break
|
|
fi
|
|
if [ "$i" -eq 60 ]; then
|
|
echo "ERROR: Subdomain worker not ready after 60s"
|
|
exit 1
|
|
fi
|
|
sleep 1
|
|
done
|
|
fi
|
|
|
|
if [ -n "${WORKER_URL_ENV_OFF:-}" ]; then
|
|
echo "==> Waiting for env-off worker at $WORKER_URL_ENV_OFF ..."
|
|
for i in $(seq 1 60); do
|
|
if curl -sf "$WORKER_URL_ENV_OFF/health_check" > /dev/null 2>&1; then
|
|
echo " Env-off worker ready after ${i}s"
|
|
break
|
|
fi
|
|
if [ "$i" -eq 60 ]; then
|
|
echo "ERROR: Env-off worker not ready after 60s"
|
|
exit 1
|
|
fi
|
|
sleep 1
|
|
done
|
|
fi
|
|
|
|
echo "==> Waiting for frontend at $FRONTEND_URL ..."
|
|
for i in $(seq 1 60); do
|
|
if curl -skf "$FRONTEND_URL" > /dev/null 2>&1; then
|
|
echo " Frontend ready after ${i}s"
|
|
break
|
|
fi
|
|
if [ "$i" -eq 60 ]; then
|
|
echo "ERROR: Frontend not ready after 60s"
|
|
exit 1
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
echo "==> Waiting for smtp-proxy-tls SMTP on $SMTP_PROXY_TLS_HOST:$SMTP_PROXY_TLS_SMTP_PORT ..."
|
|
for i in $(seq 1 30); do
|
|
if nc -z "$SMTP_PROXY_TLS_HOST" "$SMTP_PROXY_TLS_SMTP_PORT" 2>/dev/null; then
|
|
echo " smtp-proxy-tls SMTP ready after ${i}s"
|
|
break
|
|
fi
|
|
if [ "$i" -eq 30 ]; then
|
|
echo "WARNING: smtp-proxy-tls SMTP not ready after 30s, continuing anyway"
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
echo "==> Initializing database"
|
|
curl -sf -X POST "$WORKER_URL/admin/db_initialize" > /dev/null
|
|
curl -sf -X POST "$WORKER_URL/admin/db_migration" > /dev/null
|
|
echo " Database initialized"
|
|
|
|
if [ -n "${WORKER_URL_SUBDOMAIN:-}" ]; then
|
|
echo "==> Initializing subdomain worker database"
|
|
curl -sf -X POST "$WORKER_URL_SUBDOMAIN/admin/db_initialize" > /dev/null
|
|
curl -sf -X POST "$WORKER_URL_SUBDOMAIN/admin/db_migration" > /dev/null
|
|
echo " Subdomain worker database initialized"
|
|
fi
|
|
|
|
if [ -n "${WORKER_URL_ENV_OFF:-}" ]; then
|
|
echo "==> Initializing env-off worker database"
|
|
curl -sf -X POST "$WORKER_URL_ENV_OFF/admin/db_initialize" > /dev/null
|
|
curl -sf -X POST "$WORKER_URL_ENV_OFF/admin/db_migration" > /dev/null
|
|
echo " Env-off database initialized"
|
|
fi
|
|
|
|
echo "==> Running Playwright tests"
|
|
exec npx playwright test "$@"
|