Cómo usar: Validador de GitHub Actions
- Pega un archivo de workflow, ábrelo o carga el ejemplo.
- Los errores de YAML se muestran primero, con números de línea.
- Después se revisan triggers, jobs, steps,
needs, expresiones, programaciones cron y permisos. - Las comprobaciones de buenas prácticas marcan versiones de acciones obsoletas, acciones de terceros sin fijar, falta de timeouts y riesgos de inyección de scripts.
Errores comunes en workflows que detecta
- Eventos o claves desconocidos — erratas como
pull-requesten lugar depull_request, orun-onen lugar deruns-on. - Grafos de jobs rotos —
needsque apunta a un job que no existe, o jobs que dependen unos de otros en un ciclo. - Steps con ambos o ninguno de
usesyrun, y referencias deusessin versión (@v4). - Expresiones —
${{ }}sin cerrar, contextos desconocidos y referencias a outputs de steps que no existen. - Cron no válido — las programaciones deben tener cinco campos; la herramienta explica cuándo se ejecutan (en UTC).
- Comandos obsoletos como
::set-outputy::save-state, sustituidos por$GITHUB_OUTPUTy$GITHUB_STATE.
Comprobaciones de seguridad
Usar ${{ github.event.pull_request.title }}, el cuerpo de un issue o nombres de rama directamente dentro de run: permite que cualquiera que abra un pull request inyecte comandos de shell. Pásalos mejor a través de una variable de entorno. El validador también marca pull_request_target combinado con el checkout del código del PR, la falta de permissions (el token obtiene permisos amplios por defecto) y las acciones de terceros fijadas a una etiqueta mutable en lugar de a un SHA de commit.
Crea un workflow nuevo con el generador de GitHub Actions, explica las programaciones con el generador de expresiones cron y revisa otro YAML con el validador de YAML.
También se busca como: validador github actions, linter github actions, validar workflow github, actionlint online, revisar yaml de github workflow, github actions syntax check.
Herramientas que combinan con: Validador de GitHub Actions
- Validador YAML de Kubernetes — Pega Deployments, Services, Ingresses, ConfigMaps o un archivo completo con varios documentos.
- Chuleta de Git — Todos los comandos de Git que usas a diario, y los que necesitas cuando algo sale mal, explicados en una línea.
- Generador de YAML de Kubernetes — Indica el nombre de tu app, la imagen y el puerto, y obtén YAML de Kubernetes listo para producción: un Deployment con probes, límites de recursos y un contexto de seguridad reforzado, además del Service, el Ingress con TLS, el ConfigMap, el Secret y el HorizontalPodAutoscaler que marques, todo en un solo archivo listo para kubectl apply.
- Generador de servicios systemd — Ejecuta tu app como un servicio de Linux que arranca con el sistema y se reinicia si falla.
Preguntas frecuentes
¿Es lo mismo que actionlint?
¿Valida workflows reutilizables y acciones compuestas?
on: workflow_call y jobs que llaman a workflows reutilizables (uses: a nivel de job). Los archivos action.yml de acciones compuestas todavía no se revisan.¿Por qué fijar las acciones a un SHA de commit?
@v4 pueden ser movidas por el propietario de la acción o por un atacante que la comprometa. Un SHA de commit completo no puede cambiar, así que tu workflow ejecuta exactamente el código que revisaste.