mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-07-10 01:28:35 +00:00
fix(qa): load ANTHROPIC_AUTH_TOKEN as ANTHROPIC_API_KEY for interactive E2E (#2894)
* chore: update agent GitHub star counts * fix(qa): load ANTHROPIC_AUTH_TOKEN as ANTHROPIC_API_KEY for interactive E2E QA VMs store the Anthropic key as ANTHROPIC_AUTH_TOKEN in /etc/spawn-qa-auth.env, but the e2e-interactive handler only looked for ANTHROPIC_API_KEY — causing the 6am cron to fail immediately with "ANTHROPIC_API_KEY not set". Accept either name when loading from the auth env file. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(e2e): bump interactive harness timeout to 20min, fix zombie VM teardown - SESSION_TIMEOUT_MS: 10min → 20min — provisioning a VM takes 3-4 min before onboarding even starts; 10min wasn't enough headroom - interactive.sh: call cloud_provision_verify even on harness failure so teardown can find and delete any VM that was partially created (e.g. on timeout mid-provision) — previously left zombie VMs with no .meta file Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: spawn-qa-bot <qa@openrouter.ai> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: L <6723574+louisgv@users.noreply.github.com>
This commit is contained in:
parent
6aeb9ba142
commit
9280489ada
4 changed files with 22 additions and 17 deletions
|
|
@ -460,6 +460,8 @@ elif [[ "${RUN_MODE}" == "e2e-interactive" ]]; then
|
|||
_ekey="${_ekey#"${_ekey%%[! ]*}"}"
|
||||
case "${_ekey}" in
|
||||
ANTHROPIC_API_KEY) export ANTHROPIC_API_KEY="${_eval}" ;;
|
||||
# QA VMs store this as ANTHROPIC_AUTH_TOKEN — accept either
|
||||
ANTHROPIC_AUTH_TOKEN) export ANTHROPIC_API_KEY="${_eval}" ;;
|
||||
esac
|
||||
done < /etc/spawn-qa-auth.env
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@
|
|||
"license": "Proprietary",
|
||||
"created": "2025-02",
|
||||
"added": "2025-06",
|
||||
"github_stars": 79093,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 81306,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "Shell",
|
||||
"runtime": "node",
|
||||
"category": "cli",
|
||||
|
|
@ -77,8 +77,8 @@
|
|||
"license": "MIT",
|
||||
"created": "2025-11",
|
||||
"added": "2025-11",
|
||||
"github_stars": 319742,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 330264,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "TypeScript",
|
||||
"runtime": "bun",
|
||||
"category": "tui",
|
||||
|
|
@ -122,8 +122,8 @@
|
|||
"license": "Apache-2.0",
|
||||
"created": "2026-02",
|
||||
"added": "2025-12",
|
||||
"github_stars": 27636,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 28407,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "Rust",
|
||||
"runtime": "binary",
|
||||
"category": "cli",
|
||||
|
|
@ -157,8 +157,8 @@
|
|||
"license": "Apache-2.0",
|
||||
"created": "2025-04",
|
||||
"added": "2025-07",
|
||||
"github_stars": 65879,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 66895,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "Rust",
|
||||
"runtime": "binary",
|
||||
"category": "cli",
|
||||
|
|
@ -189,8 +189,8 @@
|
|||
"license": "MIT",
|
||||
"created": "2025-04",
|
||||
"added": "2025-08",
|
||||
"github_stars": 123981,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 128054,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "TypeScript",
|
||||
"runtime": "go",
|
||||
"category": "tui",
|
||||
|
|
@ -223,8 +223,8 @@
|
|||
"license": "MIT",
|
||||
"created": "2025-03",
|
||||
"added": "2025-09",
|
||||
"github_stars": 16813,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 17063,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "TypeScript",
|
||||
"runtime": "node",
|
||||
"category": "cli",
|
||||
|
|
@ -258,8 +258,8 @@
|
|||
"license": "MIT",
|
||||
"created": "2025-06",
|
||||
"added": "2026-02",
|
||||
"github_stars": 8365,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 10286,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "Python",
|
||||
"runtime": "python",
|
||||
"category": "cli",
|
||||
|
|
@ -292,8 +292,8 @@
|
|||
"license": "Proprietary",
|
||||
"created": "2026-03",
|
||||
"added": "2026-03",
|
||||
"github_stars": 107,
|
||||
"stars_updated": "2026-03-17",
|
||||
"github_stars": 112,
|
||||
"stars_updated": "2026-03-23",
|
||||
"language": "TypeScript",
|
||||
"runtime": "node",
|
||||
"category": "cli",
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
// Outputs JSON to stdout: { success: boolean, duration: number, transcript: string }
|
||||
|
||||
const IDLE_MS = 2000; // Wait 2s of silence before asking AI
|
||||
const SESSION_TIMEOUT_MS = 10 * 60 * 1000; // 10 minute overall timeout
|
||||
const SESSION_TIMEOUT_MS = 20 * 60 * 1000; // 20 minute overall timeout (provision takes 3-4 min + onboarding)
|
||||
const AI_MODEL = "claude-haiku-4-5-20251001";
|
||||
|
||||
// ─── Args & validation ──────────────────────────────────────────────────
|
||||
|
|
|
|||
|
|
@ -98,6 +98,9 @@ interactive_provision() {
|
|||
printf ' %s\n' "${line}"
|
||||
done
|
||||
fi
|
||||
# Even on failure, try to write the .meta file so teardown can clean up
|
||||
# any VM that was partially created (e.g. on timeout mid-provision).
|
||||
cloud_provision_verify "${app_name}" "${log_dir}" 2>/dev/null || true
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue