ci: speed up install smoke on PRs
This commit is contained in:
@@ -6,6 +6,9 @@ SMOKE_IMAGE="${CLAWDBOT_INSTALL_SMOKE_IMAGE:-clawdbot-install-smoke:local}"
|
||||
NONROOT_IMAGE="${CLAWDBOT_INSTALL_NONROOT_IMAGE:-clawdbot-install-nonroot:local}"
|
||||
INSTALL_URL="${CLAWDBOT_INSTALL_URL:-https://clawd.bot/install.sh}"
|
||||
CLI_INSTALL_URL="${CLAWDBOT_INSTALL_CLI_URL:-https://clawd.bot/install-cli.sh}"
|
||||
SKIP_NONROOT="${CLAWDBOT_INSTALL_SMOKE_SKIP_NONROOT:-0}"
|
||||
LATEST_DIR="$(mktemp -d)"
|
||||
LATEST_FILE="${LATEST_DIR}/latest"
|
||||
|
||||
echo "==> Build smoke image (upgrade, root): $SMOKE_IMAGE"
|
||||
docker build \
|
||||
@@ -15,31 +18,48 @@ docker build \
|
||||
|
||||
echo "==> Run installer smoke test (root): $INSTALL_URL"
|
||||
docker run --rm -t \
|
||||
-v "${LATEST_DIR}:/out" \
|
||||
-e CLAWDBOT_INSTALL_URL="$INSTALL_URL" \
|
||||
-e CLAWDBOT_INSTALL_LATEST_OUT="/out/latest" \
|
||||
-e CLAWDBOT_INSTALL_SMOKE_PREVIOUS="${CLAWDBOT_INSTALL_SMOKE_PREVIOUS:-}" \
|
||||
-e CLAWDBOT_INSTALL_SMOKE_SKIP_PREVIOUS="${CLAWDBOT_INSTALL_SMOKE_SKIP_PREVIOUS:-0}" \
|
||||
-e CLAWDBOT_NO_ONBOARD=1 \
|
||||
-e DEBIAN_FRONTEND=noninteractive \
|
||||
"$SMOKE_IMAGE"
|
||||
|
||||
echo "==> Build non-root image: $NONROOT_IMAGE"
|
||||
docker build \
|
||||
-t "$NONROOT_IMAGE" \
|
||||
-f "$ROOT_DIR/scripts/docker/install-sh-nonroot/Dockerfile" \
|
||||
"$ROOT_DIR/scripts/docker/install-sh-nonroot"
|
||||
LATEST_VERSION=""
|
||||
if [[ -f "$LATEST_FILE" ]]; then
|
||||
LATEST_VERSION="$(cat "$LATEST_FILE")"
|
||||
fi
|
||||
|
||||
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 [[ "$SKIP_NONROOT" == "1" ]]; then
|
||||
echo "==> Skip non-root installer smoke (CLAWDBOT_INSTALL_SMOKE_SKIP_NONROOT=1)"
|
||||
else
|
||||
echo "==> Build non-root image: $NONROOT_IMAGE"
|
||||
docker build \
|
||||
-t "$NONROOT_IMAGE" \
|
||||
-f "$ROOT_DIR/scripts/docker/install-sh-nonroot/Dockerfile" \
|
||||
"$ROOT_DIR/scripts/docker/install-sh-nonroot"
|
||||
|
||||
echo "==> Run installer non-root test: $INSTALL_URL"
|
||||
docker run --rm -t \
|
||||
-e CLAWDBOT_INSTALL_URL="$INSTALL_URL" \
|
||||
-e CLAWDBOT_INSTALL_EXPECT_VERSION="$LATEST_VERSION" \
|
||||
-e CLAWDBOT_NO_ONBOARD=1 \
|
||||
-e DEBIAN_FRONTEND=noninteractive \
|
||||
"$NONROOT_IMAGE"
|
||||
fi
|
||||
|
||||
if [[ "${CLAWDBOT_INSTALL_SMOKE_SKIP_CLI:-0}" == "1" ]]; then
|
||||
echo "==> Skip CLI installer smoke (CLAWDBOT_INSTALL_SMOKE_SKIP_CLI=1)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ "$SKIP_NONROOT" == "1" ]]; then
|
||||
echo "==> Skip CLI installer smoke (non-root image skipped)"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "==> Run CLI installer non-root test (same image)"
|
||||
docker run --rm -t \
|
||||
--entrypoint /bin/bash \
|
||||
|
||||
Reference in New Issue
Block a user