#!/usr/bin/env zsh set -euo pipefail # run_e2e_auto.sh # Script helper para ejecutar los runners E2E del broadcast-panel (browserless o local) # - Crea un OUT_DIR con timestamp # - Exporta variables necesarias y ejecuta el runner seleccionado # - Guarda stdout/stderr en OUT_DIR/e2e.log # Defaults (puedes sobrescribir por env o con flags) BROWSERLESS_WS_DEFAULT="wss://browserless.bfzqqk.easypanel.host" BROWSERLESS_TOKEN_DEFAULT="" ROOM_DEFAULT="e2e-room" TOKEN_SERVER_DEFAULT="https://avanzacast-servertokens.bfzqqk.easypanel.host" BROADCAST_URL_DEFAULT="http://avanzacast-studio.bfzqqk.easypanel.host" # Parse args simples LOCAL_MODE=0 SHOW=0 BROWSERLESS_WS="${BROWSERLESS_WS:-$BROWSERLESS_WS_DEFAULT}" BROWSERLESS_TOKEN="${BROWSERLESS_TOKEN:-$BROWSERLESS_TOKEN_DEFAULT}" ROOM="${ROOM:-$ROOM_DEFAULT}" TOKEN_SERVER="${TOKEN_SERVER:-$TOKEN_SERVER_DEFAULT}" BROADCAST_URL="${BROADCAST_URL:-$BROADCAST_URL_DEFAULT}" OUT_DIR="${OUT_DIR:-}" usage() { cat < "$LOGFILE" # run and capture both stdout and stderr { "${RUN_CMD[@]}" 2>&1 } | tee -a "$LOGFILE" EXIT_CODE=${PIPESTATUS[1]:-0} echo "=== FINISH $(date -u) exit=$EXIT_CODE ===" | tee -a "$LOGFILE" if [[ $EXIT_CODE -ne 0 ]]; then echo "Runner exited with code $EXIT_CODE. Revisa $LOGFILE y los archivos en $OUT_DIR" exit $EXIT_CODE fi echo "E2E runner finished OK. Revisa logs y capturas en: $OUT_DIR" exit 0