|
5 | 5 | # (or must not) produce. See docs/self-hosting-release-checklist for the beta smoke matrix built on this. |
6 | 6 | # |
7 | 7 | # Defaults to a plain SQLite + Redis + direct-App boot: |
8 | | -# ./scripts/smoke-selfhost.sh gittensory:selfhost-ci |
| 8 | +# ./scripts/smoke-selfhost.sh loopover-selfhost:ci |
9 | 9 | # |
10 | 10 | # Test a specific mode by passing extra env and the events it should produce: |
11 | 11 | # SELFHOST_SMOKE_EXTRA_ENV="AI_PROVIDER=claude-code |
12 | 12 | # CLAUDE_CODE_OAUTH_TOKEN=..." \ |
13 | 13 | # SELFHOST_SMOKE_EXPECT_EVENTS="selfhost_ai_provider" \ |
14 | | -# ./scripts/smoke-selfhost.sh gittensory:selfhost-ci |
| 14 | +# ./scripts/smoke-selfhost.sh loopover-selfhost:ci |
15 | 15 | # |
16 | 16 | # Assert an event must NOT appear (e.g. no AI-CLI-missing warning, no failed relay registration): |
17 | | -# SELFHOST_SMOKE_FORBID_EVENTS="selfhost_ai_cli_missing" ./scripts/smoke-selfhost.sh gittensory:selfhost-ci |
| 17 | +# SELFHOST_SMOKE_FORBID_EVENTS="selfhost_ai_cli_missing" ./scripts/smoke-selfhost.sh loopover-selfhost:ci |
18 | 18 | # |
19 | 19 | # Visual review (#3608): also boots a browserless/chromium sidecar, wires BROWSER_WS_ENDPOINT + |
20 | | -# PUBLIC_SITE_ORIGIN automatically, and asserts the on-demand /gittensory/shot?url= route returns a real |
| 20 | +# PUBLIC_SITE_ORIGIN automatically, and asserts the on-demand /loopover/shot?url= route returns a real |
21 | 21 | # PNG -- proving captureShot() actually renders through the self-host stub end to end, not just that the |
22 | 22 | # app boots. The IMAGE under test must have been built with --build-arg INSTALL_VISUAL_REVIEW=true. |
23 | | -# SELFHOST_SMOKE_VISUAL_REVIEW=1 ./scripts/smoke-selfhost.sh gittensory:selfhost-ci-visual |
| 23 | +# SELFHOST_SMOKE_VISUAL_REVIEW=1 ./scripts/smoke-selfhost.sh loopover-selfhost:ci-visual |
24 | 24 | set -euo pipefail |
25 | 25 |
|
26 | 26 | IMAGE="${1:?usage: smoke-selfhost.sh <image>}" |
@@ -107,7 +107,7 @@ if [ "$VISUAL_REVIEW" = "1" ]; then |
107 | 107 | docker logs "$BROWSERLESS_NAME" >&2 || true |
108 | 108 | exit 1 |
109 | 109 | fi |
110 | | - # LOOPOVER_REVIEW_SCREENSHOTS must be on: the /gittensory/shot route itself 404s when it's off |
| 110 | + # LOOPOVER_REVIEW_SCREENSHOTS must be on: the /loopover/shot route itself 404s when it's off |
111 | 111 | # (deliberately "truly inert" by design, src/api/routes.ts), independent of BROWSER_WS_ENDPOINT. |
112 | 112 | # |
113 | 113 | # SMOKE_SHOT_TARGET must be a REAL, publicly resolvable URL, unlike this script's other *.example |
@@ -180,26 +180,26 @@ curl -sf "http://127.0.0.1:${PORT}/ready" | grep -q '"ok":true' |
180 | 180 | curl -sf "http://127.0.0.1:${PORT}/metrics" | grep -q 'loopover_uptime_seconds' |
181 | 181 |
|
182 | 182 | if [ "$VISUAL_REVIEW" = "1" ]; then |
183 | | - echo "smoke-selfhost: checking /gittensory/shot renders a real PNG through the self-host browser stub" |
184 | | - SHOT_URL="http://127.0.0.1:${PORT}/gittensory/shot?url=$(printf '%s' "$SMOKE_SHOT_TARGET" | tr -d '\n')" |
185 | | - SHOT_HEADERS="$(curl -sf -D - -o /tmp/gt-smoke-shot.png "$SHOT_URL")" |
| 183 | + echo "smoke-selfhost: checking /loopover/shot renders a real PNG through the self-host browser stub" |
| 184 | + SHOT_URL="http://127.0.0.1:${PORT}/loopover/shot?url=$(printf '%s' "$SMOKE_SHOT_TARGET" | tr -d '\n')" |
| 185 | + SHOT_HEADERS="$(curl -sf -D - -o /tmp/loopover-smoke-shot.png "$SHOT_URL")" |
186 | 186 | echo "$SHOT_HEADERS" | grep -qi '^content-type: image/png' || { |
187 | | - echo "::error::/gittensory/shot did not return image/png" >&2 |
| 187 | + echo "::error::/loopover/shot did not return image/png" >&2 |
188 | 188 | echo "$SHOT_HEADERS" >&2 |
189 | 189 | docker logs "$APP_NAME" >&2 || true |
190 | 190 | docker logs "$BROWSERLESS_NAME" >&2 || true |
191 | 191 | exit 1 |
192 | 192 | } |
193 | | - SHOT_BYTES="$(wc -c </tmp/gt-smoke-shot.png | tr -d ' ')" |
| 193 | + SHOT_BYTES="$(wc -c </tmp/loopover-smoke-shot.png | tr -d ' ')" |
194 | 194 | # A real rendered page is comfortably more than a placeholder/error graphic would be; catches a "PNG |
195 | 195 | # content-type but empty/near-empty body" false pass. |
196 | 196 | if [ "$SHOT_BYTES" -lt 1024 ]; then |
197 | | - echo "::error::/gittensory/shot returned a suspiciously small PNG (${SHOT_BYTES} bytes)" >&2 |
| 197 | + echo "::error::/loopover/shot returned a suspiciously small PNG (${SHOT_BYTES} bytes)" >&2 |
198 | 198 | docker logs "$APP_NAME" >&2 || true |
199 | 199 | exit 1 |
200 | 200 | fi |
201 | | - echo "smoke-selfhost: /gittensory/shot returned a real PNG (${SHOT_BYTES} bytes)" |
202 | | - rm -f /tmp/gt-smoke-shot.png |
| 201 | + echo "smoke-selfhost: /loopover/shot returned a real PNG (${SHOT_BYTES} bytes)" |
| 202 | + rm -f /tmp/loopover-smoke-shot.png |
203 | 203 | fi |
204 | 204 |
|
205 | 205 | LOGS="$(docker logs "$APP_NAME" 2>&1)" |
|
0 commit comments