chore: git cache cleanup
This commit is contained in:
31
scripts/run-e2e-ui.sh
Normal file
31
scripts/run-e2e-ui.sh
Normal file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
# Lightweight wrapper to run Playwright UI on headless Linux by auto-starting Xvfb when needed.
|
||||
# Usage: ./scripts/run-e2e-ui.sh [<playwright args>]
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.." || exit 1
|
||||
|
||||
LOGFILE="/tmp/xvfb.playwright.log"
|
||||
|
||||
if [[ -n "${CI-}" ]]; then
|
||||
echo "Playwright UI is not supported in CI. Use the project's E2E Docker image or run headless: npm run e2e" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "${DISPLAY-}" ]]; then
|
||||
if command -v Xvfb >/dev/null 2>&1; then
|
||||
echo "Starting Xvfb :99 (logs: ${LOGFILE})"
|
||||
Xvfb :99 -screen 0 1280x720x24 >"${LOGFILE}" 2>&1 &
|
||||
disown
|
||||
export DISPLAY=:99
|
||||
sleep 0.2
|
||||
elif command -v xvfb-run >/dev/null 2>&1; then
|
||||
echo "Using xvfb-run to launch Playwright UI"
|
||||
exec xvfb-run --auto-servernum --server-args='-screen 0 1280x720x24' npx playwright test --ui "$@"
|
||||
else
|
||||
echo "No X server found and Xvfb is not installed.\nInstall Xvfb (e.g. sudo apt install xvfb) or run headless tests: npm run e2e" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# At this point DISPLAY should be set — run Playwright UI
|
||||
exec npx playwright test --ui "$@"
|
||||
Reference in New Issue
Block a user