From ccd8950d40c710ddb65957b1b2d8e8d1480a1843 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 12 Jan 2026 00:17:02 +0000 Subject: [PATCH] ci: stabilize installer smoke --- .github/workflows/install-smoke.yml | 13 ++++--------- package.json | 1 + scripts/docker/install-sh-smoke/Dockerfile | 1 + scripts/test-install-sh-docker.sh | 11 ++++++++++- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/install-smoke.yml b/.github/workflows/install-smoke.yml index 58c0dba9d..a1c931615 100644 --- a/.github/workflows/install-smoke.yml +++ b/.github/workflows/install-smoke.yml @@ -20,18 +20,13 @@ jobs: - name: Enable Corepack run: corepack enable - - name: Checkout installer site - uses: actions/checkout@v4 - with: - repository: clawdbot/clawd.bot - path: installer-site - - name: Install pnpm deps (minimal) run: pnpm install --ignore-scripts --frozen-lockfile - name: Run installer docker tests env: - CLAWDBOT_INSTALL_URL: file://$GITHUB_WORKSPACE/installer-site/public/install.sh - CLAWDBOT_INSTALL_CLI_URL: file://$GITHUB_WORKSPACE/installer-site/public/install-cli.sh + CLAWDBOT_INSTALL_URL: https://clawd.bot/install.sh + CLAWDBOT_INSTALL_CLI_URL: https://clawd.bot/install-cli.sh CLAWDBOT_NO_ONBOARD: "1" - run: pnpm test:install:e2e + CLAWDBOT_INSTALL_SMOKE_SKIP_CLI: "1" + run: pnpm test:install:smoke diff --git a/package.json b/package.json index e302e61e7..9f2ce3147 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "test:docker:all": "pnpm test:docker:live-models && pnpm test:docker:live-gateway && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup", "test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live && pnpm test:docker:all", "test:install:e2e": "bash scripts/test-install-sh-e2e-docker.sh", + "test:install:smoke": "bash scripts/test-install-sh-docker.sh", "test:install:e2e:openai": "CLAWDBOT_E2E_MODELS=openai bash scripts/test-install-sh-e2e-docker.sh", "test:install:e2e:anthropic": "CLAWDBOT_E2E_MODELS=anthropic bash scripts/test-install-sh-e2e-docker.sh", "protocol:gen": "tsx scripts/protocol-gen.ts", diff --git a/scripts/docker/install-sh-smoke/Dockerfile b/scripts/docker/install-sh-smoke/Dockerfile index 4888e3cd7..fb0f67dc3 100644 --- a/scripts/docker/install-sh-smoke/Dockerfile +++ b/scripts/docker/install-sh-smoke/Dockerfile @@ -5,6 +5,7 @@ RUN apt-get update \ bash \ ca-certificates \ curl \ + git \ sudo \ && rm -rf /var/lib/apt/lists/* diff --git a/scripts/test-install-sh-docker.sh b/scripts/test-install-sh-docker.sh index 00bc744de..efcfa5811 100755 --- a/scripts/test-install-sh-docker.sh +++ b/scripts/test-install-sh-docker.sh @@ -17,6 +17,7 @@ echo "==> Run installer smoke test (root): $INSTALL_URL" docker run --rm -t \ -e CLAWDBOT_INSTALL_URL="$INSTALL_URL" \ -e CLAWDBOT_NO_ONBOARD=1 \ + -e DEBIAN_FRONTEND=noninteractive \ "$SMOKE_IMAGE" echo "==> Build non-root image: $NONROOT_IMAGE" @@ -29,11 +30,19 @@ echo "==> Run installer non-root test: $INSTALL_URL" docker run --rm -t \ -e CLAWDBOT_INSTALL_URL="$INSTALL_URL" \ -e CLAWDBOT_NO_ONBOARD=1 \ + -e DEBIAN_FRONTEND=noninteractive \ "$NONROOT_IMAGE" +if [[ "${CLAWDBOT_INSTALL_SMOKE_SKIP_CLI:-0}" == "1" ]]; then + echo "==> Skip CLI installer smoke (CLAWDBOT_INSTALL_SMOKE_SKIP_CLI=1)" + exit 0 +fi + echo "==> Run CLI installer non-root test (same image)" docker run --rm -t \ + --entrypoint /bin/bash \ -e CLAWDBOT_INSTALL_URL="$INSTALL_URL" \ -e CLAWDBOT_INSTALL_CLI_URL="$CLI_INSTALL_URL" \ -e CLAWDBOT_NO_ONBOARD=1 \ - "$NONROOT_IMAGE" bash -lc "curl -fsSL \"$CLI_INSTALL_URL\" | bash -s -- --set-npm-prefix --no-onboard" + -e DEBIAN_FRONTEND=noninteractive \ + "$NONROOT_IMAGE" -lc "curl -fsSL \"$CLI_INSTALL_URL\" | bash -s -- --set-npm-prefix --no-onboard"