fix: preserve MindSpace runtime data during release
Memind CI / Test, build, and release guards (pull_request) Successful in 2m31s

This commit is contained in:
john
2026-07-21 18:37:49 +08:00
parent b63c906c23
commit fa777fa195
+24
View File
@@ -196,6 +196,8 @@ SERVICE_STARTED=0
PORTAL_TOUCHED=0
APP_MOVED=0
HAD_OLD_APP=0
PERSISTED_DATA_MOVED=0
PERSISTED_USERS_MOVED=0
say() {
printf '\n[remote %s] %s\n' "$(date +%H:%M:%S)" "$*"
@@ -217,6 +219,16 @@ rollback() {
rm -f "${SERVICE_PLIST}"
fi
if [[ "${APP_MOVED}" == "1" ]]; then
if [[ "${HAD_OLD_APP}" == "1" ]]; then
if [[ "${PERSISTED_DATA_MOVED}" == "1" && ( -e "${APP_DIR}/data" || -L "${APP_DIR}/data" ) ]]; then
rm -rf "${OLD_APP_ARCHIVE}/data"
mv "${APP_DIR}/data" "${OLD_APP_ARCHIVE}/data"
fi
if [[ "${PERSISTED_USERS_MOVED}" == "1" && ( -e "${APP_DIR}/users" || -L "${APP_DIR}/users" ) ]]; then
rm -rf "${OLD_APP_ARCHIVE}/users"
mv "${APP_DIR}/users" "${OLD_APP_ARCHIVE}/users"
fi
fi
rm -rf "${APP_DIR}"
if [[ "${HAD_OLD_APP}" == "1" && -d "${OLD_APP_ARCHIVE}" ]]; then
mv "${OLD_APP_ARCHIVE}" "${APP_DIR}"
@@ -309,6 +321,18 @@ fi
mv "${NEW_DIR}" "${APP_DIR}"
APP_MOVED=1
say "继承 MindSpace 持久目录"
if [[ "${HAD_OLD_APP}" == "1" && ( -e "${OLD_APP_ARCHIVE}/data" || -L "${OLD_APP_ARCHIVE}/data" ) ]]; then
rm -rf "${APP_DIR}/data"
mv "${OLD_APP_ARCHIVE}/data" "${APP_DIR}/data"
PERSISTED_DATA_MOVED=1
fi
if [[ "${HAD_OLD_APP}" == "1" && ( -e "${OLD_APP_ARCHIVE}/users" || -L "${OLD_APP_ARCHIVE}/users" ) ]]; then
rm -rf "${APP_DIR}/users"
mv "${OLD_APP_ARCHIVE}/users" "${APP_DIR}/users"
PERSISTED_USERS_MOVED=1
fi
say "启动 MindSpace service"
mkdir -p "${APP_DIR}/data/mindspace" "${APP_DIR}/users"
launchctl bootstrap "${LAUNCHD_GUI}" "${SERVICE_PLIST}" >/dev/null 2>&1 || true