From b97f607817cf0aeb8b694756a328743cb85ccf8b Mon Sep 17 00:00:00 2001 From: john Date: Fri, 14 Aug 2026 22:42:23 +0800 Subject: [PATCH] fix(canary): drop Docker preflight on native 103 goosed 103 no longer runs goosed-prod Docker. Canary preflight now checks the native 18006-18014 pool, and release-gate tests match 127.0.0.1 health probes. Co-authored-by: Cursor --- release-gate/deepseek-production-parity.test.mjs | 4 ++-- release-gate/release-script.test.mjs | 2 +- scripts/release-portal-canary-prod.sh | 5 ----- scripts/rollback-portal-canary-prod.sh | 1 - 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/release-gate/deepseek-production-parity.test.mjs b/release-gate/deepseek-production-parity.test.mjs index 5bb6004..74e6725 100644 --- a/release-gate/deepseek-production-parity.test.mjs +++ b/release-gate/deepseek-production-parity.test.mjs @@ -82,12 +82,12 @@ test('Gate, artifact, candidate routing and rollback share one compatibility con assert.match(stableRunner, /export MEMIND_DEEPSEEK_DISABLE_THINKING="\$\{MEMIND_DEEPSEEK_DISABLE_THINKING:-1\}"/); assert.match(stableRunner, /export MEMIND_GOOSED_HOST_GATEWAY="\$\{MEMIND_GOOSED_HOST_GATEWAY:-host\.docker\.internal\}"/); assert.match(candidateRunner, /export MEMIND_DEEPSEEK_DISABLE_THINKING=1/); - assert.match(candidateRunner, /export MEMIND_GOOSED_HOST_GATEWAY=host\.docker\.internal/); + assert.match(candidateRunner, /MEMIND_CANARY_GOOSED_URL/); assert.match(compatRunner, /source "\$\{STABLE_ROOT\}\/\.env"/); assert.match(compatRunner, /export MEMIND_DEEPSEEK_PROXY_ENTRYPOINT=1/); assert.match(canaryRelease, /run-deepseek-compat-proxy-candidate\.sh/); assert.match(canaryRelease, /MEMIND_CANARY_CANDIDATE_HEALTH_URLS/); - assert.match(canaryRelease, /host\.docker\.internal:\$\{DEEPSEEK_COMPAT_PORT\}\/health/); + assert.match(canaryRelease, /http:\/\/127\.0\.0\.1:\$\{DEEPSEEK_COMPAT_PORT\}\/health/); assert.match(canaryRelease, /bootout.*DEEPSEEK_COMPAT_LABEL/); assert.match(canaryRollback, /bootout.*DEEPSEEK_COMPAT_LABEL/); }); diff --git a/release-gate/release-script.test.mjs b/release-gate/release-script.test.mjs index afdaf3a..859cd76 100644 --- a/release-gate/release-script.test.mjs +++ b/release-gate/release-script.test.mjs @@ -317,7 +317,7 @@ test('canary rollback stops the DeepSeek compatibility process with the other ca /DEEPSEEK_COMPAT_LABEL="cn\.tkmind\.memind-deepseek-compat-candidate"/, ); assert.match(source, /bootout.*DEEPSEEK_COMPAT_LABEL/); - assert.match(source, /docker rm -f goosed-prod-canary/); + assert.doesNotMatch(source, /docker rm -f goosed-prod-canary/); }); test('DeepSeek compatibility runner preserves stable upstream config but enforces candidate controls', async (t) => { diff --git a/scripts/release-portal-canary-prod.sh b/scripts/release-portal-canary-prod.sh index d9ed597..5e2c2e8 100755 --- a/scripts/release-portal-canary-prod.sh +++ b/scripts/release-portal-canary-prod.sh @@ -202,7 +202,6 @@ say "Run 103 read-only preflight" ssh -o BatchMode=yes -o ConnectTimeout=15 "${HOST}" \ "test -d '${STABLE_DIR}' \ && test -f '${STABLE_DIR}/.env' \ - && test -f '${GOOSED_DIR}/docker-compose.prod.yml' \ && test -x '${CANARY_AIDER_BIN}' \ && curl -fsS http://127.0.0.1:8081/api/status >/dev/null \ && ! lsof -nP -iTCP:${CANARY_PROXY_PORT} -sTCP:LISTEN >/dev/null 2>&1 \ @@ -210,7 +209,6 @@ ssh -o BatchMode=yes -o ConnectTimeout=15 "${HOST}" \ || curl -fsS --max-time 5 http://127.0.0.1:${DEEPSEEK_COMPAT_PORT}/health \ | grep -q '"deepseekThinking":"disabled"'; } \ && ! lsof -nP -iTCP:18081 -sTCP:LISTEN >/dev/null 2>&1 \ - && ! lsof -nP -iTCP:18015 -sTCP:LISTEN >/dev/null 2>&1 \ && for _p in 18006 18007 18008 18009 18010 18011 18012 18013 18014; do \ curl -kfsS --max-time 2 https://127.0.0.1:\${_p}/status | grep -qx ok; \ done \ @@ -341,8 +339,6 @@ PROXY_PLIST="${HOME}/Library/LaunchAgents/${CANARY_PROXY_LABEL}.plist" CANARY_TUNNEL_PLIST="${HOME}/Library/LaunchAgents/${CANARY_TUNNEL_LABEL}.plist" DEEPSEEK_COMPAT_PLIST="${HOME}/Library/LaunchAgents/${DEEPSEEK_COMPAT_LABEL}.plist" SECRET_FILE="${HOME}/.config/memind/canary-router.secret" -DOCKER_BIN="/opt/homebrew/bin/docker" -GOOSED_COMPOSE="${GOOSED_DIR}/docker-compose.prod.yml" EDGE_MOBILE_BACKUP="${EDGE_MOBILE_CONFIG}.before-canary-${RELEASE_ID}" EDGE_WECHAT_BACKUP="${EDGE_WECHAT_CONFIG}.before-canary-${RELEASE_ID}" @@ -449,7 +445,6 @@ stop_candidate_services() { launchctl bootout "${LAUNCHD_GUI}/${CANARY_PROXY_LABEL}" >/dev/null 2>&1 || true launchctl bootout "${LAUNCHD_GUI}/${PORTAL_CANDIDATE_LABEL}" >/dev/null 2>&1 || true launchctl bootout "${LAUNCHD_GUI}/${DEEPSEEK_COMPAT_LABEL}" >/dev/null 2>&1 || true - "${DOCKER_BIN}" rm -f goosed-prod-canary >/dev/null 2>&1 || true } rollback() { diff --git a/scripts/rollback-portal-canary-prod.sh b/scripts/rollback-portal-canary-prod.sh index df226ec..b206c46 100755 --- a/scripts/rollback-portal-canary-prod.sh +++ b/scripts/rollback-portal-canary-prod.sh @@ -72,7 +72,6 @@ launchctl bootout "${LAUNCHD_GUI}/${CANARY_TUNNEL_LABEL}" >/dev/null 2>&1 || tru launchctl bootout "${LAUNCHD_GUI}/${CANARY_PROXY_LABEL}" >/dev/null 2>&1 || true launchctl bootout "${LAUNCHD_GUI}/${PORTAL_CANDIDATE_LABEL}" >/dev/null 2>&1 || true launchctl bootout "${LAUNCHD_GUI}/${DEEPSEEK_COMPAT_LABEL}" >/dev/null 2>&1 || true -/opt/homebrew/bin/docker rm -f goosed-prod-canary >/dev/null 2>&1 || true rm -f "${STABLE_DIR}/.release-drain" curl -fsS http://127.0.0.1:8081/api/status >/dev/null