smoke-test: keep baked entrypoint when probing runtime deployment
Publish Docker Image / smoke (push) Failing after 1m17s
Publish Docker Image / publish (push) Has been skipped
Publish Docker Image / update-description (push) Has been skipped

The previous `docker run -d --entrypoint="" ... sleep 60` bypassed the
entrypoint chain entirely, so entrypoint-user.sh never ran, so
pi-toolkit/install.sh never deployed keybindings + extensions to
~/.pi/agent/. Result: 4/14 smoke checks always failed.

Match opencode-devbox's pattern: `docker run -d --rm "$IMAGE" tail -f
/dev/null` keeps the entrypoint chain intact and overrides only CMD.
This commit is contained in:
2026-05-15 00:52:14 +02:00
parent 9302b3ebb9
commit aa3f4b7b90
+5 -1
View File
@@ -50,7 +50,11 @@ run "pi-extensions clone" "test -d /opt/pi-extensions && git -C /opt/pi-extensio
# ── Runtime deployment (needs entrypoint to run) ──────────────────────
echo ""
echo "── Runtime deployment ──"
CID=$(docker run -d --entrypoint="" "$IMAGE" sleep 60)
# Spin up a long-running container WITHOUT overriding the entrypoint, so
# the baked entrypoint chain (entrypoint.sh → entrypoint-user.sh) runs and
# deploys pi-toolkit + pi-extensions to ~/.pi/agent/. Override CMD to
# tail -f /dev/null so the container stays alive while we docker-exec.
CID=$(docker run -d --rm "$IMAGE" tail -f /dev/null)
cleanup() { docker rm -f "$CID" >/dev/null 2>&1 || true; }
trap cleanup EXIT