ci: stabilize installer smoke

This commit is contained in:
Peter Steinberger
2026-01-12 00:17:02 +00:00
parent 86a7ab6e28
commit ccd8950d40
4 changed files with 16 additions and 10 deletions

View File

@@ -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

View File

@@ -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",

View File

@@ -5,6 +5,7 @@ RUN apt-get update \
bash \
ca-certificates \
curl \
git \
sudo \
&& rm -rf /var/lib/apt/lists/*

View File

@@ -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"