Qué hace este generador
Un workflow de GitHub Actions es un fichero YAML que le dice a GitHub qué hacer cuando ocurre algo en tu repo: ejecutar tests en cada push, construir una imagen Docker en cada tag, desplegar en cada merge a main. La sintaxis es simple en teoría y está llena de pequeñas trampas en la práctica: la indentación importa, la clave `on` se malinterpreta como el booleano `true` en YAML 1.1, los matrices usan notación de corchetes, `needs` acepta una cadena o una lista. Un espacio perdido y el workflow entero se niega a ejecutarse.
Este generador escribe ese fichero por ti. Elige un preset (Node CI, build y push de Docker, deploy a Vercel, pytest matrix, sitio estático a Pages), edita triggers y jobs en formularios planos, y el panel derecho muestra el YAML exacto que puedes meter en `.github/workflows/ci.yml`. Cada opción lleva una pista en lenguaje claro y la validación señala nombres ausentes, triggers vacíos y referencias de job incorrectas.
Todo corre en tu navegador. Sin subidas, sin cuenta, no se inicia ningún workflow real aquí. La salida es el mismo texto que escribirías a mano, solo sin las erratas.
Cómo usarlo
- Elige un preset arriba: Node.js CI, build y push de Docker, deploy a Vercel, pytest matrix, sitio estático a Pages. El formulario rellena valores sensatos por defecto.
- Pon el nombre del workflow (aparece en la pestaña Actions) y los permissions opcionales como pares `KEY=value`.
- Activa triggers: push (con lista de ramas), pull_request (con lista de ramas), schedule (expresión cron), workflow_dispatch (ejecución manual desde la UI).
- Añade jobs en pestañas. Para cada job pon: un id único (usado por `needs:` y la URL), un nombre visible, el runner, needs opcional y env a nivel de job.
- Activa matrix si quieres abrirte en abanico entre versiones Node, SO o cualquier eje. Añade filas `key=value1, value2, ...`.
- Añade steps en orden. Cada step es o un script de shell (`run:`) o una action reusada (`uses:`). Las actions comunes están a un clic: checkout, setup-node, cache, upload-artifact, docker buildx.
- Pulsa Copiar en el panel de previsualización, o Descargar para guardar como `ci.yml`, luego commitea a `.github/workflows/ci.yml` en tu repo. GitHub lo recoge automáticamente y el siguiente push lo dispara.
Cuándo es útil
Siete situaciones concretas en las que un generador de GitHub Actions ahorra tiempo real:
- Primer workflow en un repo nuevo. Abre el generador, elige "Node.js CI", cambia el script de test, copia, commitea. Listo en dos minutos en lugar de bucear por la documentación buscando la sintaxis correcta.
- Tests matrix en múltiples versiones de Node o Python. La sintaxis de matrix es delicada (`fail-fast`, corchetes vs listas). El generador la escribe correctamente y la previsualización te muestra exactamente qué se ejecuta.
- Build y push de Docker a GHCR o Docker Hub. La acción oficial `docker/build-push-action` necesita unas pocas claves `with:` en el orden correcto. Elige el preset, cambia el tag, despliega.
- Desplegar un sitio Next.js / Vite / Astro a Vercel o GitHub Pages. Ambos flujos tienen una secuencia bien conocida: checkout, install, build, deploy. El generador codifica la secuencia y tú solo rellenas los nombres de los secrets.
- Trabajos programados: backups nocturnos, limpiezas semanales, reportes mensuales. Activa `schedule:`, pega una expresión cron, el resto es igual que cualquier otro job.
- Workflows manuales disparados por un botón (`workflow_dispatch`). Un toggle y el workflow aparece bajo el botón "Run workflow" en la pestaña Actions.
- Pipelines multi-job con dependencias: build luego deploy, build luego test luego deploy. La UI de chips para `needs:` hace el orden obvio.