From 571f8c78bd68fdb78c85143acf57316f0b7bdfd2 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 14 Jan 2026 00:38:26 +0000 Subject: [PATCH] chore: allow install e2e previous override --- scripts/docker/install-sh-e2e/run.sh | 18 ++++++++++++++---- scripts/test-install-sh-e2e-docker.sh | 2 ++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/scripts/docker/install-sh-e2e/run.sh b/scripts/docker/install-sh-e2e/run.sh index 6d9f02612..604cd1d0e 100755 --- a/scripts/docker/install-sh-e2e/run.sh +++ b/scripts/docker/install-sh-e2e/run.sh @@ -3,6 +3,8 @@ set -euo pipefail INSTALL_URL="${CLAWDBOT_INSTALL_URL:-https://clawd.bot/install.sh}" MODELS_MODE="${CLAWDBOT_E2E_MODELS:-both}" # both|openai|anthropic +E2E_PREVIOUS_VERSION="${CLAWDBOT_INSTALL_E2E_PREVIOUS:-}" +SKIP_PREVIOUS="${CLAWDBOT_INSTALL_E2E_SKIP_PREVIOUS:-0}" if [[ "$MODELS_MODE" != "both" && "$MODELS_MODE" != "openai" && "$MODELS_MODE" != "anthropic" ]]; then echo "ERROR: CLAWDBOT_E2E_MODELS must be one of: both|openai|anthropic" >&2 @@ -24,17 +26,25 @@ fi echo "==> Resolve npm versions" LATEST_VERSION="$(npm view clawdbot version)" -PREVIOUS_VERSION="$(node - <<'NODE' +if [[ -n "$E2E_PREVIOUS_VERSION" ]]; then + PREVIOUS_VERSION="$E2E_PREVIOUS_VERSION" +else + PREVIOUS_VERSION="$(node - <<'NODE' const { execSync } = require("node:child_process"); const versions = JSON.parse(execSync("npm view clawdbot versions --json", { encoding: "utf8" })); if (!Array.isArray(versions) || versions.length === 0) process.exit(1); process.stdout.write(versions.length >= 2 ? versions[versions.length - 2] : versions[0]); NODE -)" + )" +fi echo "latest=$LATEST_VERSION previous=$PREVIOUS_VERSION" -echo "==> Preinstall previous (forces installer upgrade path; avoids read() prompt)" -npm install -g "clawdbot@${PREVIOUS_VERSION}" +if [[ "$SKIP_PREVIOUS" == "1" ]]; then + echo "==> Skip preinstall previous (CLAWDBOT_INSTALL_E2E_SKIP_PREVIOUS=1)" +else + echo "==> Preinstall previous (forces installer upgrade path; avoids read() prompt)" + npm install -g "clawdbot@${PREVIOUS_VERSION}" +fi echo "==> Run official installer one-liner" curl -fsSL "$INSTALL_URL" | bash diff --git a/scripts/test-install-sh-e2e-docker.sh b/scripts/test-install-sh-e2e-docker.sh index e1a953072..e76de2518 100755 --- a/scripts/test-install-sh-e2e-docker.sh +++ b/scripts/test-install-sh-e2e-docker.sh @@ -19,6 +19,8 @@ echo "==> Run E2E installer test" docker run --rm -t \ -e CLAWDBOT_INSTALL_URL="$INSTALL_URL" \ -e CLAWDBOT_E2E_MODELS="$CLAWDBOT_E2E_MODELS" \ + -e CLAWDBOT_INSTALL_E2E_PREVIOUS="${CLAWDBOT_INSTALL_E2E_PREVIOUS:-}" \ + -e CLAWDBOT_INSTALL_E2E_SKIP_PREVIOUS="${CLAWDBOT_INSTALL_E2E_SKIP_PREVIOUS:-0}" \ -e OPENAI_API_KEY="$OPENAI_API_KEY" \ -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \ "$IMAGE_NAME"