fix(packer): repair cursor tarball + hermes interactive install (#3367)
Some checks failed
CLI Release / Build and release CLI (push) Has been cancelled
Lint / ShellCheck (push) Has been cancelled
Lint / Biome Lint (push) Has been cancelled
Lint / macOS Compatibility (push) Has been cancelled

agent-tarballs.yml has been failing nightly since 2026-03-27 and
packer-snapshots.yml since 2026-04-25. Two distinct breakages.

cursor:
  capture-agent.sh's allowlist was missing cursor, so the install
  step succeeded but the capture step rejected the agent name.
  Adds cursor to the allowlist plus its capture paths
  (~/.local/bin/ for the `agent` symlink, ~/.local/share/cursor-agent/
  for the extracted package, matching what verify.sh and cursor-proxy
  already expect).

hermes:
  The upstream installer launches an interactive setup wizard after
  install, which fails in CI with `/dev/tty: No such device or
  address`. Production code already passes `--skip-setup` (see
  packages/cli/src/shared/agent-setup.ts:1336); packer/agents.json
  was the lone exception. Adds the same flag.

Both pipelines read from packer/agents.json, so this single edit
unblocks both the daily tarball build and the DO marketplace image
build for hermes.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ahmed Abushagur 2026-04-27 18:31:40 -07:00 committed by GitHub
parent f7652de45b
commit 4e87523c4f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 3 deletions

View file

@ -13,9 +13,9 @@ fi
# Validate agent name against allowed list to prevent injection
case "${AGENT_NAME}" in
openclaw|codex|kilocode|claude|opencode|hermes|junie) ;;
openclaw|codex|kilocode|claude|opencode|hermes|junie|cursor) ;;
*)
printf 'Error: Invalid agent name: %s\nAllowed: openclaw, codex, kilocode, claude, opencode, hermes, junie\n' "${AGENT_NAME}" >&2
printf 'Error: Invalid agent name: %s\nAllowed: openclaw, codex, kilocode, claude, opencode, hermes, junie, cursor\n' "${AGENT_NAME}" >&2
exit 1
;;
esac
@ -51,6 +51,12 @@ case "${AGENT_NAME}" in
# Without this, the ~/.local/bin/hermes symlink is dangling after tarball extraction.
echo "/root/.hermes/" >> "${PATHS_FILE}"
;;
cursor)
# Cursor installs to ~/.local/bin/agent (since 2026-03-25) with the
# extracted package under ~/.local/share/cursor-agent/.
echo "/root/.local/bin/" >> "${PATHS_FILE}"
echo "/root/.local/share/cursor-agent/" >> "${PATHS_FILE}"
;;
*)
echo "Unknown agent: ${AGENT_NAME}" >&2
exit 1