Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
32 lines
1.1 KiB
Bash
Executable File
32 lines
1.1 KiB
Bash
Executable File
#!/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 "$@"
|