Files
Jordan Ritter 44622440fe feat(showcase): add local smoke target (aimock + 17 packages in Docker)
Wires up a single-command path to run the full integration smoke suite
against a local Docker stack instead of Railway. Useful when Railway is
degraded (OOM, rate limits) or when testing changes that haven't been
deployed yet.

Additions:
- showcase/docker-compose.local.yml: add `aimock` as 18th service so
  integration containers can reach http://aimock:4010 on the compose
  network, mirroring the Railway setup where they call showcase-aimock.
- showcase/tests/e2e/integration-smoke.spec.ts: `LOCAL_PORTS=1` env
  rewrites each integration's Railway URL to http://localhost:<port>
  via showcase/shared/local-ports.json. Starters are skipped under this
  flag because they aren't in local-ports.json.
- showcase/scripts/smoke-local.sh: orchestrates build → up → wait → run
  Playwright → tear down. Supports --level=L1/L2/L3/L4, --keep, --no-build.
- showcase/tests/package.json: `pnpm smoke:local[:L1|:keep|:nobuild]`
  scripts delegate to the helper.
- showcase/.env.example: document optional OPENAI_BASE_URL +
  ANTHROPIC_BASE_URL (route through local aimock) and package-specific
  GitHubToken + GOOGLE_API_KEY (ms-agent-dotnet, google-adk).

Verified locally: `pnpm smoke:local:L1` → 17/17 L1 green against the
local stack.
2026-04-18 15:56:19 -07:00

21 lines
703 B
JSON

{
"name": "@showcase/e2e-smoke",
"private": true,
"scripts": {
"test": "playwright test",
"test:health": "playwright test --grep @health",
"test:agent": "playwright test --grep @agent",
"test:chat": "playwright test --grep @chat",
"test:tools": "playwright test --grep @tools",
"test:list": "playwright test --list",
"test:starter": "playwright test starter-smoke",
"smoke:local": "../scripts/smoke-local.sh",
"smoke:local:L1": "../scripts/smoke-local.sh --level=L1",
"smoke:local:keep": "../scripts/smoke-local.sh --keep",
"smoke:local:nobuild": "../scripts/smoke-local.sh --no-build"
},
"devDependencies": {
"@playwright/test": "1.52.0"
}
}