release: bump version to 0.65.2
This commit is contained in:
43
planet.sh
43
planet.sh
@@ -1117,6 +1117,9 @@ compute_ai_provider_build_fingerprint() {
|
||||
(
|
||||
cd "$SCRIPT_DIR" || exit 1
|
||||
{
|
||||
printf "PYTHON_IMAGE=%s\n" "${PYTHON_IMAGE:-python:3.14-slim}"
|
||||
printf "UV_IMAGE=%s\n" "${UV_IMAGE:-ghcr.io/astral-sh/uv:latest}"
|
||||
sha256sum aiprovider/Dockerfile pyproject.toml uv.lock 2>/dev/null
|
||||
find aiprovider \
|
||||
-type f \
|
||||
! -path '*/__pycache__/*' \
|
||||
@@ -1125,13 +1128,8 @@ compute_ai_provider_build_fingerprint() {
|
||||
! -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
|
||||
| xargs -r sha256sum 2>/dev/null
|
||||
python3 "$SCRIPT_DIR/scripts/compute_aiprovider_dependency_fingerprint.py" 2>/dev/null
|
||||
if [ -n "${PLANET_UV_CONFIG_FILE:-}" ] && [ -f "$PLANET_UV_CONFIG_FILE" ]; then
|
||||
printf "uv-config "
|
||||
sha256sum "$PLANET_UV_CONFIG_FILE" | awk '{print $1}'
|
||||
fi
|
||||
}
|
||||
) | sha256sum | awk '{print $1}'
|
||||
}
|
||||
@@ -1151,6 +1149,12 @@ ai_provider_image_exists() {
|
||||
docker image inspect "$AI_PROVIDER_IMAGE_NAME" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
read_ai_provider_image_fingerprint() {
|
||||
docker image inspect \
|
||||
--format '{{ index .Config.Labels "planet.aiprovider.build-fingerprint" }}' \
|
||||
"$AI_PROVIDER_IMAGE_NAME" 2>/dev/null || true
|
||||
}
|
||||
|
||||
list_ai_provider_containers() {
|
||||
docker ps -aq --filter "name=planet_aiprovider" 2>/dev/null || true
|
||||
}
|
||||
@@ -1217,12 +1221,23 @@ ensure_ai_provider_image_current() {
|
||||
current_fingerprint="$(compute_ai_provider_build_fingerprint)"
|
||||
previous_fingerprint="$(read_ai_provider_build_stamp || true)"
|
||||
|
||||
if ai_provider_image_exists && [ -n "$previous_fingerprint" ] && [ "$current_fingerprint" = "$previous_fingerprint" ]; then
|
||||
AI_PROVIDER_RECREATE_REQUIRED=0
|
||||
return 0
|
||||
if ai_provider_image_exists; then
|
||||
local image_fingerprint
|
||||
image_fingerprint="$(read_ai_provider_image_fingerprint)"
|
||||
if [ -n "$image_fingerprint" ] && [ "$current_fingerprint" = "$image_fingerprint" ]; then
|
||||
write_ai_provider_build_stamp "$current_fingerprint"
|
||||
AI_PROVIDER_RECREATE_REQUIRED=0
|
||||
return 0
|
||||
fi
|
||||
if [ -z "$image_fingerprint" ] && [ -n "$previous_fingerprint" ] && [ "$current_fingerprint" = "$previous_fingerprint" ]; then
|
||||
AI_PROVIDER_RECREATE_REQUIRED=0
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
set_wait_detail "检测到 AI Provider 代码或配置变化,重建镜像"
|
||||
AI_PROVIDER_BUILD_FINGERPRINT="$current_fingerprint"
|
||||
export AI_PROVIDER_BUILD_FINGERPRINT
|
||||
|
||||
if ! compose_supports_build; then
|
||||
log_error "当前 docker compose 不支持 build,请检查 Docker / Compose 环境"
|
||||
@@ -1349,8 +1364,8 @@ ensure_uv_backend_deps() {
|
||||
"$DEPENDENCY_INSTALL_MAX_RETRIES" \
|
||||
"$DEPENDENCY_INSTALL_RETRY_INTERVAL" \
|
||||
"uv 环境初始化失败,已重试 ${DEPENDENCY_INSTALL_MAX_RETRIES} 次" \
|
||||
"uv sync" \
|
||||
run_command_quiet_unless_verbose "$log_file" uv sync --group dev; then
|
||||
"uv sync --frozen" \
|
||||
run_command_quiet_unless_verbose "$log_file" uv sync --frozen --group dev; then
|
||||
tail -20 "$log_file" 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
@@ -1403,8 +1418,8 @@ sync_python_deps() {
|
||||
"$DEPENDENCY_INSTALL_MAX_RETRIES" \
|
||||
"$DEPENDENCY_INSTALL_RETRY_INTERVAL" \
|
||||
"uv 环境初始化失败,已重试 ${DEPENDENCY_INSTALL_MAX_RETRIES} 次" \
|
||||
"uv sync" \
|
||||
run_command_quiet_unless_verbose "$log_file" uv sync --group dev; then
|
||||
"uv sync --frozen" \
|
||||
run_command_quiet_unless_verbose "$log_file" uv sync --frozen --group dev; then
|
||||
tail -20 "$log_file" 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
@@ -1959,7 +1974,7 @@ start_backend_with_retry() {
|
||||
fi
|
||||
cd "$SCRIPT_DIR/backend"
|
||||
: > "$BACKEND_LOG_FILE"
|
||||
PYTHONPATH="$SCRIPT_DIR/backend" nohup uv run --project "$SCRIPT_DIR" python -m uvicorn app.main:app --host "$backend_bind_host" --port "$backend_port" --reload > "$BACKEND_LOG_FILE" 2>&1 &
|
||||
PYTHONPATH="$SCRIPT_DIR/backend" nohup uv run --frozen --project "$SCRIPT_DIR" python -m uvicorn app.main:app --host "$backend_bind_host" --port "$backend_port" --reload > "$BACKEND_LOG_FILE" 2>&1 &
|
||||
BACKEND_PID=$!
|
||||
write_pid_file "$BACKEND_PID_FILE" "$BACKEND_PID"
|
||||
if [ "$VERBOSE" -eq 1 ]; then
|
||||
|
||||
Reference in New Issue
Block a user