diff --git a/apps/waterfall-wiki/scripts/smoke.mjs b/apps/waterfall-wiki/scripts/smoke.mjs index c41d28c..0ec877f 100644 --- a/apps/waterfall-wiki/scripts/smoke.mjs +++ b/apps/waterfall-wiki/scripts/smoke.mjs @@ -48,7 +48,13 @@ try { assert.equal(agent.status,200);assert.match(agent.headers.get('content-type'),/text\/plain/);const agentText=await agent.text();assert.match(agentText,/^# /);assert.doesNotMatch(agentText,/^\s*(?:r.text()); + for(const href of ['/graphic','/infinite_canvas','/account?next=/workspace'])assert.ok(home.includes(`href="${href}"`),href); + for(const [legacy,canonical] of [['/studio/graphic','/graphic'],['/studio/infinite_canvas','/infinite_canvas']]){ + const redirect=await fetch(`http://127.0.0.1:${port}${legacy}`,{redirect:'manual'}); + assert.equal(redirect.status,308);assert.equal(redirect.headers.get('location'),canonical); + } + console.log("Production smoke test passed, including landing entry points and canonical redirects"); } finally { await unlink(previewFixture); if (child.exitCode === null && child.signalCode === null) { diff --git a/scripts/verify-studio-production.sh b/scripts/verify-studio-production.sh index d878027..35ef390 100644 --- a/scripts/verify-studio-production.sh +++ b/scripts/verify-studio-production.sh @@ -1,6 +1,13 @@ #!/usr/bin/env bash # Run on ces-control after deployment; never starts a preview web server. set -Eeuo pipefail +# Wiki and Studio deploy independently; wait for Wiki's canonical route proxy. +canonical_ready=false +for attempt in {1..120}; do + if curl -fsS http://8.211.154.134:18131/ | grep -q '想法不该停在对话里'; then canonical_ready=true; break; fi + sleep 5 +done +$canonical_ready || { echo 'Wiki landing and canonical route release is not ready'; exit 1; } REPO_ROOT=$(git rev-parse --show-toplevel) RESULT_DIR="$REPO_ROOT/artifacts/studio-acceptance" MODE=${1:-verify}