Files
proxmox/scripts/run-full-e2e-validation.sh
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

80 lines
3.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Full E2E validation for all endpoints (RPC HTTP/WS, block production, optional deployment checks).
# Usage: ./scripts/run-full-e2e-validation.sh
# Run from a host that can reach public RPC (76.53.10.36 → NPMplus → backends) for passing results.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$PROJECT_ROOT"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'
log_section() { echo -e "\n${CYAN}════════════════════════════════════════════════════════════════${NC}\n${CYAN}$1${NC}\n${CYAN}════════════════════════════════════════════════════════════════${NC}\n"; }
echo ""
log_section "Full E2E validation — all endpoints"
echo "Started: $(date -Iseconds 2>/dev/null || date)"
echo ""
# 0. UDM Pro configuration check (port forwarding, DNS, NPMplus)
log_section "0. UDM Pro configuration check (before E2E)"
if [ -x "$SCRIPT_DIR/check-udm-pro-config-before-e2e.sh" ]; then
if "$SCRIPT_DIR/check-udm-pro-config-before-e2e.sh"; then
echo -e "${GREEN}✅ UDM Pro config check: PASSED${NC}"
else
echo -e "${YELLOW}⚠ UDM Pro config check: fix port forwarding or DNS, then re-run.${NC}"
fi
else
echo -e "${YELLOW}⚠ check-udm-pro-config-before-e2e.sh not found; skipping.${NC}"
fi
# 1. Block production + chainlist RPC E2E (HTTP + WebSocket)
log_section "1. Block production & chainlist RPC E2E (HTTP + WebSocket)"
if [ -x "$SCRIPT_DIR/check-block-production-and-chainlist-e2e.sh" ]; then
if "$SCRIPT_DIR/check-block-production-and-chainlist-e2e.sh"; then
echo -e "${GREEN}✅ Block production + chainlist E2E: PASSED${NC}"
E2E_RPC=0
else
echo -e "${RED}❌ Block production + chainlist E2E: FAILED (see above)${NC}"
E2E_RPC=1
fi
else
echo -e "${YELLOW}⚠ check-block-production-and-chainlist-e2e.sh not found or not executable${NC}"
E2E_RPC=2
fi
# 2. Optional: complete validation (prerequisites, deployment, connection) if scripts exist
log_section "2. Optional: deployment/prerequisites validation"
if [ -f "$SCRIPT_DIR/check-prerequisites.sh" ] && [ -f "$SCRIPT_DIR/validate-ml110-deployment.sh" ] && [ -f "$SCRIPT_DIR/test-connection.sh" ]; then
if "$SCRIPT_DIR/complete-validation.sh" 2>/dev/null; then
echo -e "${GREEN}✅ Complete validation: PASSED${NC}"
else
echo -e "${YELLOW}⚠ Complete validation: one or more steps failed${NC}"
fi
else
echo -e "${YELLOW}⚠ Skipped (check-prerequisites.sh / validate-ml110-deployment.sh / test-connection.sh not all in scripts/)${NC}"
fi
# Summary
log_section "E2E validation summary"
echo "Finished: $(date -Iseconds 2>/dev/null || date)"
echo ""
if [ "${E2E_RPC:-2}" -eq 0 ]; then
echo -e "${GREEN}✅ Full E2E: RPC endpoints passed.${NC}"
exit 0
elif [ "${E2E_RPC:-2}" -eq 1 ]; then
echo -e "${RED}❌ Full E2E: RPC endpoints failed. Run from a host that can reach 76.53.10.36 (UDM Pro → NPMplus).${NC}"
echo -e "${YELLOW} Diagnose: ./scripts/diagnose-rpc-response.sh${NC}"
exit 1
else
echo -e "${YELLOW}⚠ Full E2E: RPC script not run.${NC}"
exit 2
fi