release: bump version to 0.43.0

This commit is contained in:
linkong
2026-04-28 16:10:17 +08:00
parent 1cd2dab0ee
commit ac69d5d354
69 changed files with 6954 additions and 1141 deletions

View File

@@ -55,8 +55,8 @@ DATABASE_RETRY_INTERVAL="${DATABASE_RETRY_INTERVAL:-5}"
FRONTEND_MAX_RETRIES="${FRONTEND_MAX_RETRIES:-3}"
FRONTEND_HEALTH_CHECK_ATTEMPTS="${FRONTEND_HEALTH_CHECK_ATTEMPTS:-10}"
FRONTEND_HEALTH_CHECK_INTERVAL="${FRONTEND_HEALTH_CHECK_INTERVAL:-2}"
PORT_RELEASE_ATTEMPTS="${PORT_RELEASE_ATTEMPTS:-45}"
PORT_RELEASE_INTERVAL="${PORT_RELEASE_INTERVAL:-1}"
PORT_RELEASE_ATTEMPTS="${PORT_RELEASE_ATTEMPTS:-15}"
PORT_RELEASE_INTERVAL="${PORT_RELEASE_INTERVAL:-0.2}"
DEFAULT_BACKEND_PORT="${DEFAULT_BACKEND_PORT:-8000}"
DEFAULT_FRONTEND_PORT="${DEFAULT_FRONTEND_PORT:-3000}"
DEFAULT_AI_PROVIDER_PORT="${DEFAULT_AI_PROVIDER_PORT:-8010}"
@@ -64,7 +64,7 @@ FRONTEND_RUNTIME_BIN="${FRONTEND_RUNTIME_BIN:-}"
FRONTEND_RUNTIME_SOURCE="${FRONTEND_RUNTIME_SOURCE:-}"
FRONTEND_PID_FILE="/tmp/planet_frontend.pid"
FRONTEND_VITE_ENTRY="$SCRIPT_DIR/frontend/node_modules/vite/bin/vite.js"
AI_PROVIDER_BUILD_STAMP_FILE="/tmp/planet_aiprovider_build.sha256"
AI_PROVIDER_BUILD_STAMP_FILE="$HOME/.cache/planet/aiprovider_build.sha256"
AI_PROVIDER_BUILD_LOG_FILE="/tmp/planet_aiprovider_build.log"
AI_PROVIDER_IMAGE_NAME="${AI_PROVIDER_IMAGE_NAME:-planet_aiprovider:latest}"
AI_PROVIDER_CONTAINER_NAME="${AI_PROVIDER_CONTAINER_NAME:-planet_aiprovider}"
@@ -587,11 +587,15 @@ compute_ai_provider_build_fingerprint() {
(
cd "$SCRIPT_DIR" || exit 1
{
tar -cf - \
aiprovider \
docker-compose.yml \
docker-compose.simple.yml 2>/dev/null
python3 "$SCRIPT_DIR/scripts/compute_aiprovider_dependency_fingerprint.py"
find aiprovider \
-type f \
! -path '*/__pycache__/*' \
! -name '*.pyc' \
! -name '*.pyo' \
| LC_ALL=C sort \
| xargs -r stat --format="%Y %s %n" 2>/dev/null
sha256sum docker-compose.yml docker-compose.simple.yml 2>/dev/null
python3 "$SCRIPT_DIR/scripts/compute_aiprovider_dependency_fingerprint.py" 2>/dev/null
}
) | sha256sum | awk '{print $1}'
}
@@ -603,6 +607,7 @@ read_ai_provider_build_stamp() {
write_ai_provider_build_stamp() {
local fingerprint="$1"
mkdir -p "$(dirname "$AI_PROVIDER_BUILD_STAMP_FILE")"
printf "%s\n" "$fingerprint" > "$AI_PROVIDER_BUILD_STAMP_FILE"
}
@@ -1108,10 +1113,9 @@ cleanup_backend_processes() {
local backend_port="${1:-$DEFAULT_BACKEND_PORT}"
terminate_backend_processes TERM "$backend_port"
if ! wait_for_port_release "$backend_port"; then
if ! wait_for_port_release "$backend_port" 15 0.2; then
terminate_backend_processes KILL "$backend_port"
wait_for_port_release "$backend_port" || true
wait_for_port_release "$backend_port" 15 0.2 || true
fi
}
@@ -1246,7 +1250,6 @@ restart_database_service() {
while [ "$retry" -le "$DATABASE_START_MAX_RETRIES" ]; do
if restart_database_services && wait_for_database_health; then
sleep 3
return 0
fi
@@ -1269,7 +1272,6 @@ start_backend_service() {
set_wait_detail "启动数据库"
ensure_database_services_healthy
log_success "启动数据库已就绪"
sleep 3
# Backend depends on AI Provider reachability, but a backend-only restart
# should reuse the existing healthy provider instead of rebuilding or
@@ -1391,6 +1393,14 @@ terminate_process_tree() {
can_bind_port() {
local port="$1"
if command -v ss >/dev/null 2>&1; then
! ss -tlnH 2>/dev/null | awk '{print $4}' | grep -qE ":${port}$"
return
fi
if command -v lsof >/dev/null 2>&1; then
[ -z "$(lsof -tiTCP:"${port}" -sTCP:LISTEN 2>/dev/null)" ]
return
fi
python3 - "$port" <<'PY' >/dev/null 2>&1
import socket
import sys
@@ -1416,13 +1426,15 @@ PY
wait_for_port_release() {
local port="$1"
local max_attempts="${2:-$PORT_RELEASE_ATTEMPTS}"
local interval="${3:-$PORT_RELEASE_INTERVAL}"
local attempt=1
while [ "$attempt" -le "$PORT_RELEASE_ATTEMPTS" ]; do
while [ "$attempt" -le "$max_attempts" ]; do
if can_bind_port "$port"; then
return 0
fi
sleep "$PORT_RELEASE_INTERVAL"
sleep "$interval"
attempt=$((attempt + 1))
done
@@ -1449,7 +1461,7 @@ kill_port_if_requested() {
terminate_process_tree TERM "$pid"
done
if wait_for_port_release "$port"; then
if wait_for_port_release "$port" 15 0.2; then
log_success "端口 ${port} 已释放"
return 0
fi
@@ -1460,7 +1472,7 @@ kill_port_if_requested() {
terminate_process_tree KILL "$pid"
done
if wait_for_port_release "$port"; then
if wait_for_port_release "$port" 15 0.2; then
log_success "端口 ${port} 已释放"
return 0
fi