El editor visual
Cómo arrastrar, conectar y configurar bloques, y cómo se traduce el diagrama a jobs y steps.
Bloques y conexiones
En el editor visual, cada bloque es un step: representa una Action con sus parámetros ya configurados. Conectar la salida de un bloque con la entrada de otro define el orden de ejecución entre ambos.
- + Bloque agrega un nuevo step al lienzo; elige la Action desde el catálogo (ver Acciones).
- Arrastra un bloque para moverlo; arrastra desde su conector de salida hasta el conector de entrada de otro bloque para conectarlos.
- Haz clic en un bloque para abrir su panel de propiedades a la derecha:
ahí configuras cada campo de
with:(texto, número, lista de variables de entorno, etc.), el ID del step y puedes eliminarlo.
Cómo se traducen los bloques a jobs
UrraWorkflow guarda workflows como jobs con steps y dependencias
needs: entre jobs (no entre steps sueltos). El editor visual traduce tu
diagrama de steps a esa estructura automáticamente, siguiendo una regla
simple:
Una cadena de bloques conectados uno a uno, sin ramificarse, se compila en un único job con varios steps. En cuanto un bloque tiene más de una conexión de salida (se ramifica) o más de una de entrada (varias ramas confluyen en él), ese punto se convierte en una frontera entre jobs, y la dependencia se expresa con
needs:.
Ejemplo: cadena simple -> un job
flowchart LR
A[checkout] --> B[build] --> C[test]
Se compila en un solo job con tres steps, en el mismo orden:
jobs:
job-checkout:
steps:
- {id: checkout, uses: git.checkout@1, with: {...}}
- {id: build, uses: docker.build@1, with: {...}}
- {id: test, uses: docker.run@1, with: {...}}
Ejemplo: ramificación -> varios jobs
flowchart LR
A[checkout] --> B[build-linux]
A --> C[build-windows]
Como checkout se ramifica hacia dos bloques, cada rama pasa a ser su
propio job, y ambos declaran needs: [job-checkout]:
jobs:
job-checkout:
steps: [{id: checkout, uses: git.checkout@1, with: {...}}]
job-build-linux:
needs: [job-checkout]
steps: [{id: build-linux, uses: docker.build@1, with: {...}}]
job-build-windows:
needs: [job-checkout]
steps: [{id: build-windows, uses: docker.build@1, with: {...}}]
Esto significa que build-linux y build-windows corren en paralelo
en cuanto checkout termina con éxito. Lo mismo aplica al revés: si dos
bloques confluyen en uno solo (fan-in), ese bloque de destino pasa a ser un
job aparte que declara needs: sobre los jobs de ambas ramas.
Cambiar entre YAML y Diagrama
El botón YAML / Diagrama en la parte superior del editor cambia de modo sobre el mismo workflow:
- Al pasar de YAML a Diagrama, UrraWorkflow valida tu YAML primero; si tiene errores, te los muestra y no cambia de modo (para no perder ni ocultar la definición mientras la corriges).
- Al pasar de Diagrama a YAML, se genera la definición equivalente a partir del diagrama actual.
Siguiente paso: Acciones disponibles.