fix(worker): tolerate OpenCode workspace seed permission errors
Some checks are pending
CI / Lint, type-check, test (push) Waiting to run
Deploy homelab (CT 116) / Deploy to CT 116 (push) Waiting to run

Do not abort the entrypoint when the shared volume is not writable; log a
warning and continue so the worker can still start.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Randall Stillwell 2026-09-12 16:27:17 -05:00
parent 9572eac3eb
commit ff3bf83afe

View file

@ -1,8 +1,8 @@
#!/bin/sh
set -eu
# When a remote harness shares a workspace volume, seed it from the deploy
# snapshot baked into the image (/app/repo).
set -u
session_type="${WORKER_SESSION_TYPE:-minimal}"
if [ "$session_type" = "openhands" ] || [ "$session_type" = "opencode" ]; then
if [ "$session_type" = "opencode" ]; then
@ -10,11 +10,14 @@ if [ "$session_type" = "openhands" ] || [ "$session_type" = "opencode" ]; then
else
target="${WORKER_OPENHANDS_WORKSPACE:-/workspace/repo}"
fi
mkdir -p "$(dirname "$target")"
if [ ! -f "$target/pnpm-workspace.yaml" ]; then
echo "[worker-entrypoint] seeding ${session_type} workspace at ${target}"
mkdir -p "$target"
cp -a /app/repo/. "$target/"
mkdir -p "$target" || true
# Volume may be root-owned from an earlier helper container — best-effort seed.
if ! cp -a /app/repo/. "$target/" 2>/tmp/worker-seed.err; then
echo "[worker-entrypoint] WARN: workspace seed failed (continuing with /app/repo):"
cat /tmp/worker-seed.err 2>/dev/null || true
fi
fi
fi