From aa3f4b7b9075d3b23560eee1fbcd31b1d613cd21 Mon Sep 17 00:00:00 2001 From: Joakim Persson Date: Fri, 15 May 2026 00:52:14 +0200 Subject: [PATCH] smoke-test: keep baked entrypoint when probing runtime deployment 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. --- scripts/smoke-test.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/smoke-test.sh b/scripts/smoke-test.sh index cb62e23..dd6364e 100755 --- a/scripts/smoke-test.sh +++ b/scripts/smoke-test.sh @@ -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