Errores comunes
Mensajes de error frecuentes en UrraWorkflow y cómo resolverlos.
"El workflow tiene una dependencia cíclica entre los jobs: …"
Dos o más jobs se necesitan entre sí, directa o indirectamente (a depende
de b y b depende de a). Revisa los needs: de los jobs listados en
el mensaje y elimina el ciclo.
"El step '…' del job '…' usa una action desconocida: '…'"
El uses: de un step no coincide con ninguna Action registrada (o con
ninguna versión soportada de esa Action). Revisa el
catálogo de Actions: el formato correcto es
<id>@<version>, por ejemplo docker.build@1.
"El step '…' del job '…' no declara los inputs requeridos por '…': …"
Falta un campo obligatorio en el with: de ese step. El mensaje lista
exactamente qué campos faltan; revisa la tabla de la Action correspondiente
en Acciones disponibles.
"… parece contener un secreto embebido en 'with:'; usa 'secrets:' en su lugar"
UrraWorkflow detecta patrones que lucen como credenciales (llaves de AWS,
claves privadas, tokens de GitHub, JWT) dentro de los parámetros with: de
un step y rechaza guardar el workflow. Quita el valor sensible de la
definición: en la versión actual, la gestión de secretos (/api/secrets)
permite guardarlos cifrados en reposo, pero todavía no se inyectan
automáticamente dentro de una ejecución; evita escribir credenciales reales
directamente en el YAML de un workflow.
"YAML inválido: …" / "El workflow debe ser un mapeo YAML de nivel superior"
El texto no es YAML válido, o su nivel superior no es un mapeo (por ejemplo, empieza con una lista). Revisa la indentación y la sintaxis; el botón Validar del editor te muestra el mismo error sin gastar una ejecución.
"El workflow supera el tamaño máximo permitido (256 KB)"
La definición completa (YAML) no puede superar 256 KB. Si tu workflow es
muy grande, divídelo en varios workflows más pequeños o simplifica los
valores embebidos en with:.
"Workflow no encontrado" / "El workflow está deshabilitado"
El id del workflow no existe, o el workflow fue deshabilitado. Revisa el
listado en la pestaña Workflows.
"Expresión cron inválida: …"
La expresión que diste a un trigger schedule no es un cron válido de 5
campos (minuto, hora, día del mes, mes, día de la semana).
Un step falla con "se agotó el tiempo de espera del step"
El step (shell.run@1 o docker.run@1) no terminó dentro de
timeout_seconds (por defecto 300s, tope configurable por el operador vía
WORKFLOW_STEP_MAX_TIMEOUT_SECONDS). Sube el timeout del step si la tarea
necesita más tiempo, o revisa si el comando quedó colgado.
Un step falla con "terminó con código de salida N"
El comando (shell.run@1) o el contenedor (docker.run@1) devolvió un
código de salida distinto de cero. Revisa los logs del step en
Ejecuciones para ver la causa real; si el step tiene retry:
configurado, ya se reintentó el número de veces indicado antes de marcarse
como fallido.
"http.request@1: el host '…' resuelve a una dirección privada/interna y no está en la lista ALLOWED_HTTP_HOSTS…"
Protección contra SSRF: http.request@1 no puede alcanzar direcciones
privadas, de loopback o internas salvo que el operador de tu instancia
autorice ese host explícitamente en ALLOWED_HTTP_HOSTS.
"git.checkout@1 solo soporta repositorios públicos por HTTPS en este MVP…"
git.checkout@1 no admite todavía repositorios privados por SSH desde un
workflow. Usa un repositorio público, o exporta el código por otro medio
(por ejemplo, un shell.run@1 que lo descargue con credenciales propias)
antes de continuar el pipeline.