refactor: FROM opencode-devbox:latest-pi-only (lean, no opencode)

Re-point the re-brand at the new pi-only variant instead of with-pi, so
pi-devbox stays a lean pi-focused image (no opencode) while the pi install
logic still lives in one place upstream. This keeps pi-devbox meaningfully
distinct from opencode-devbox:latest-with-pi.

- Dockerfile: BASE_IMAGE default -> joakimp/opencode-devbox:latest-pi-only.
- smoke-test.sh: size threshold 2900 -> 2750 MB (pi-only = with-pi minus
  opencode's ~145 MB binary).
- Docs (README/AGENTS/DOCKER_HUB/CHANGELOG/docker-compose): drop the
  'also contains opencode' notes; describe pi-only basis and the distinction
  from with-pi.

Publish ordering unchanged: release opencode-devbox first so latest-pi-only
carries the target pi version, then tag here (smoke asserts pi --version).
This commit is contained in:
pi
2026-06-03 16:14:05 +02:00
parent c139be326f
commit 1d1283f942
7 changed files with 62 additions and 57 deletions
+5 -5
View File
@@ -17,10 +17,10 @@ set -euo pipefail
IMAGE="${1:?usage: $0 <image>}"
PASS=0; FAIL=0
# Since the refactor to FROM opencode-devbox:latest-with-pi, this image equals
# the with-pi variant (pi + opencode + companions + fork/recall node_modules),
# so the threshold tracks with-pi's (2900 MB), not the old pi-only 2200 MB.
SIZE_THRESHOLD_MB=2900
# Since the refactor to FROM opencode-devbox:latest-pi-only, this image equals
# the pi-only variant (pi + companions + fork/recall node_modules, NO opencode),
# so the threshold tracks pi-only's (2750 MB), not the old standalone 2200 MB.
SIZE_THRESHOLD_MB=2750
run() {
local label="$1"; local cmd="$2"
@@ -71,7 +71,7 @@ echo "── Repo clones ──"
run "pi-toolkit clone" "test -d /opt/pi-toolkit && git -C /opt/pi-toolkit rev-parse --short HEAD"
run "pi-extensions clone" "test -d /opt/pi-extensions && git -C /opt/pi-extensions rev-parse --short HEAD"
# pi-fork (fork tool) + pi-observational-memory (recall tool) — inherited from
# the with-pi base, cloned to /opt with node_modules baked at build time.
# the pi-only base, cloned to /opt with node_modules baked at build time.
run "pi-fork clone + node_modules" \
"test -f /opt/pi-fork/package.json && test -d /opt/pi-fork/node_modules"
run "pi-observational-memory clone + node_modules" \