You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(examples): unbreak the 21 failing examples in the nightly matrix (#47)
* fix(examples): unbreak CI-only example failures
Nightly cron run 33487941064 was green while 21 of 51 examples failed
(failures are advisory). Fixes the ones that are ours:
- 49/50/51: `.env.ant` is gitignored and never exists in CI, so the
loader threw ENOENT before doing anything. Read credentials from the
process env first (under ANTHROPIC_ORG_API_KEY, a distinct name so the
shared gateway's ANTHROPIC_API_KEY can never be mistaken for the
organization key), and treat the dotenv as an optional fallback.
- 41: MuPDF writes warnings to stdout, so `JSON.parse(stdout)` failed.
The extractor now writes JSON to a file the host downloads.
- 09: `npm install ... 2>&1` merged stderr into stdout, so the throw
reported an empty stderr. Drop the redirect, report both streams.
- 52: `resume()` returns before the sandbox has an IP; `files.download`
then 503s with "sandbox has no ip". Wait for running + an IP.
- workflows: wire ANCHOR_API_KEY / FIRECRAWL_API_KEY and the Managed
Agents credentials into the job env, and stop passing
S3_USE_PATH_STYLE as a secret — its value ("1") made GitHub mask
every "1" in every log line.
* fix(examples): unbreak 09 and 13 in CI
- 09: the devbox rootfs already ships the claude CLI, so `npm install -g`
died with EEXIST (visible only after the previous commit stopped
swallowing npm's stderr). Install only when the binary is absent.
- 13: when the pause/resume demo timed out, the recovery path swallowed
both the resume and the wait failure and queried a still-paused
sandbox, surfacing as an opaque 409 "sandbox is paused; resume first".
Retry resume until running, then fail with a clear message.
* fix(examples): unbreak 09 and 55 in CI
- 09: the rootfs ships `claude` outside /usr/local/bin, so the previous
`command -v` guard skipped the install and the non-root task — which
only sees /usr/local/bin — died with exit 127. Guard on the path.
- 55: the desktop stack boots after the sandbox, so the first
`computer.screen` call 409s with `desktop_unavailable`. Retry until it
answers, bounded at 120s.
* fix(examples): give 09's non-root user a reachable node
The claude shim resolves node through `env`, but the rootfs keeps node
under /root (mode 700), so dropping to sandboxuser produced a bare exit
127. Copy node onto /usr/local/bin, and stop merging stderr into stdout
so a future failure reports something.
* fix(examples): run 09's task through the real claude binary
`claude` on PATH is an asdf shim that re-execs `asdf`, and the asdf tree
lives under /root (mode 700) — so once the example drops to a non-root
user (required by --dangerously-skip-permissions) the shim died with a
bare 127. Open /root for traversal only and link the real binary.
0 commit comments