charSLee013
feat: complete Hugging Face Spaces deployment with production-ready CognitiveKernel-Launchpad
1ea26af
#!/usr/bin/env bash
set -Eeuo pipefail
log() { echo "[SETUP] $*"; }
err() { echo "[SETUP][ERR] $*" >&2; }
log "Starting Setup.sh"
log "uname: $(uname -a)"
log "whoami: $(whoami)"
log "pwd: $(pwd)"
# Python / pip / playwright versions
python -V || true
pip -V || true
python -m playwright --version || true
# Decide browser cache path (align with runtime default)
PW_PATH="${PLAYWRIGHT_BROWSERS_PATH:-/home/user/.cache/ms-playwright}"
log "PLAYWRIGHT_BROWSERS_PATH resolved to: ${PW_PATH}"
mkdir -p "${PW_PATH}" || true
# List current content before install
if [ -d "${PW_PATH}" ]; then
log "Before install, ${PW_PATH} entries (top level):"
ls -la "${PW_PATH}" || true
else
log "Before install, ${PW_PATH} does not exist"
fi
# Try to install Chromium via Playwright (non-root) without host deps
export PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=1
log "Running: PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=1 python -m playwright install chromium"
if python -m playwright install chromium; then
log "Playwright Chromium install finished with exit code 0"
else
err "Playwright Chromium install returned non-zero exit; continuing to print diagnostics"
fi
# After install, list directories/files to verify binaries
if [ -d "${PW_PATH}" ]; then
log "After install, ${PW_PATH} entries (top level):"
ls -la "${PW_PATH}" || true
log "Searching for browser executables under ${PW_PATH} (depth<=3) ..."
find "${PW_PATH}" -maxdepth 3 -type f \( -name chrome -o -name chromium -o -name headless_shell -o -name chrome-wrapper \) -printf "[SETUP] BIN %p\n" || true
else
err "After install, ${PW_PATH} still does not exist"
fi
log "Environment summary:"
log "PATH=$PATH"
log "HOME=$HOME"
log "NODE_ENV=${NODE_ENV:-}"
log "Setup.sh completed"