diff --git a/scripts/docker/install-sh-e2e/run.sh b/scripts/docker/install-sh-e2e/run.sh index 908e21da806..4ceae37bbd4 100755 --- a/scripts/docker/install-sh-e2e/run.sh +++ b/scripts/docker/install-sh-e2e/run.sh @@ -1,4 +1,10 @@ #!/usr/bin/env bash +# Official installer E2E harness for Docker. +# +# Installs OpenClaw through the public one-liner, verifies the resolved npm +# version, then exercises onboard + local embedded agent tool turns for the +# configured model providers. Keep this script package-install based: it should +# validate the installed npm artifact, not repo sources. set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" @@ -496,6 +502,10 @@ run_profile() { test -f "$workspace/USER.md" test -f "$workspace/SOUL.md" test -f "$workspace/TOOLS.md" + # The remaining checks are deterministic tool smokes, not the interactive + # first-run identity ritual. Drop BOOTSTRAP.md so provider prompts stay focused + # on the fixture task and do not spend turns following onboarding copy. + rm -f "$workspace/BOOTSTRAP.md" echo "==> Configure models ($profile)" local agent_model diff --git a/test/scripts/docker-build-helper.test.ts b/test/scripts/docker-build-helper.test.ts index 34993bd622b..48970a85660 100644 --- a/test/scripts/docker-build-helper.test.ts +++ b/test/scripts/docker-build-helper.test.ts @@ -68,4 +68,13 @@ describe("docker build helper", () => { 'OPENCLAW_VERSION="$INSTALL_TAG" curl -fsSL "$INSTALL_URL" | bash', ); }); + + it("keeps installer E2E agent turns out of the interactive bootstrap ritual", () => { + const runner = readFileSync(INSTALL_E2E_RUNNER_PATH, "utf8"); + + expect(runner).toContain('rm -f "$workspace/BOOTSTRAP.md"'); + expect(runner.indexOf('rm -f "$workspace/BOOTSTRAP.md"')).toBeLessThan( + runner.indexOf('echo "==> Agent turns ($profile)"'), + ); + }); });