Convoca Health Check¶
Batería de validación permanente que comprueba automáticamente todo el ecosistema Convoca. Un único comando valida API REST, hooks, shortcodes, CPTs, integraciones y los flujos de pago Members→Gateway y Enroll→Gateway.
Repositorio¶
👉 github.com/josecarlosnieto91/convoca-health-check
Uso¶
# En un servidor con WP-CLI (ej: demo en Andromeda)
./bin/convoca-health --ssh=andromeda --path=/var/www/demo.getconvoca.app/public
Qué valida (88 checks, ~5s)¶
| Componente | Checks | Ejemplos |
|---|---|---|
| Core | 11 | rate limiter, locks, REST protegido, archivos admin |
| Members | 13 | CPTs, shortcodes, estados, alta/edición/renovación/baja |
| Enroll | 14 | CPTs, shortcodes, cron, JSON-LD, poster, actividad+inscripción |
| Gateway | 12 | credenciales test, clave enc:, webhook /notify, páginas OK/KO |
| Shifts | 9 | CPT, taxonomía, shortcodes, REST, CRUD |
| Publisher | 7 | canales, prefijo convoca_publisher_*, tabla retry, async |
| Assistant | 9 | search funcional, índice, rebuild protegido, CPTs |
| Theme | 6 | tema activo, patterns, dark-mode, home 200 |
| Integraciones | 3 | 6 namespaces REST, Members←Gateway, Enroll←Gateway |
Salida¶
CONVOCA HEALTH CHECK — https://demo.getconvoca.app
[PASS] Core :: Rate limiter bloquea abuso (P,P,P,B)
[PASS] Integraciones :: Members←Gateway activa membresía (estado=activo)
[PASS] Integraciones :: Enroll←Gateway confirma inscripción (estado=confirmada)
RESUMEN: 88 PASS / 0 FAIL / 1 WARN — Coverage: 100% (5.3s)
Exit code 0 = todo PASS · Exit code 1 = hay FAILs (para CI).
CI¶
GitHub Actions ejecuta la batería diariamente (06:30 UTC) y bajo demanda. Requiere secrets ANDROMEDA_SSH_KEY y ANDROMEDA_KNOWN_HOSTS.
Regla de mantenimiento¶
- Los checks se ejecutan contra la instalación real y limpian sus datos de prueba (sin residuos en la BD).
- Para añadir un check: patrón
hc_out('Componente', 'Nombre', $condicion, $detalle)enhealth-check.php. - Si un check falla, reproducir antes de tocar nada.