Hello World
Para empezar, crea un repositorio cualquiera en tu cuenta. Para demostración, aquí creé el https://github.com/davidpuziol/gh-first-action. Mantén el repositorio público para estudio y así evitar limitaciones. Para tener un primer archivo, inicializa con el README.md y una licencia.
Vamos directamente a la pestaña Actions.

Este es el lugar donde puedes iniciar la creación de workflows. Elige el Simple Workflow y haz clic en Configure. También podríamos empezar con varios otros templates para determinadas tareas. Echa un vistazo a lo que está disponible.
Podemos editar vía navegador el siguiente YAML. Dale un nombre a este workflow como, por ejemplo, first-action. Detalle importante: Git suele usar la extensión .yml en lugar de .yaml.

Observa dónde quedará en tu repositorio como fue mencionado anteriormente.
Este es el ejemplo inicial, pero vamos a editarlo para aprender durante el proceso.
# Este es un workflow básico para ayudarte a empezar con Actions
name: CI
# Controla cuándo se ejecutará el workflow
on:
# Dispara el workflow en eventos de push o pull request solo para la rama "main"
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# Permite ejecutar este workflow manualmente desde la pestaña Actions
workflow_dispatch:
# Una ejecución de workflow está compuesta por uno o más jobs que pueden ejecutar secuencialmente o en paralelo
jobs:
# Este workflow contiene un único job llamado "build"
build:
# El tipo de runner en el que se ejecutará el job
runs-on: ubuntu-latest
# Steps representan una secuencia de tareas que serán ejecutadas como parte del job
steps:
# Hace checkout de tu repositorio en $GITHUB_WORKSPACE, para que el job pueda acceder a él
- uses: actions/checkout@v4
# Ejecuta un único comando usando el shell del runner
- name: Run a one-line script
run: echo Hello, world!
# Ejecuta un conjunto de comandos usando el shell del runner
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.
Es necesario entender la indentación en YAML. Si es necesario, consulta cómo trabajar con archivos YAML.
Consulta la documentación del evento workflow_dispatch.
La documentación de los tipos de runners muestra la lista de entornos soportados por GitHub Actions.
Edita para esto:
# Nombre de este workflow
name: First Workflow
# Define cuándo se ejecutará el workflow - en qué eventos será disparado
on: workflow_dispatch # Este evento define que el workflow necesitará ser disparado manualmente
# Aquí está el bloque de jobs
jobs: # siempre en plural
# Este bloque define el primer job y su nombre
first-job:
# Define qué entorno será utilizado para ejecutar los steps de este job
runs-on: ubuntu-latest
# Nuestra lista de steps
steps:
- name: First Step
# Comando del primer step
run: echo Hello, world!
# Para definir una secuencia de comandos, utiliza la sintaxis abajo
- name: Second Step
run: |
cat /etc/os-release
echo "\n ### Done - Bye ###"
Cuando guardes, verás que hará un commit en el repositorio añadiendo este archivo.

Ahora ve a la pestaña Actions y ejecuta este workflow. Selecciona el workflow y haz clic en Run Workflow.

Vuelve a la pestaña Actions y verás que fue ejecutado con éxito, mostrando quién ejecutó el workflow.

Haz clic en el workflow y mira la ejecución y log del primer y segundo step. Muestra el comando y la salida de consola separadamente, línea a línea.
"Set up job" y "Complete job" siempre serán ejecutados, trayendo información relevante sobre el entorno y, al final, sobre la limpieza.

Ahora vamos a clonar el repositorio y empezar a crear nuestros workflows usando VS Code en lugar de trabajar en el navegador.
Para VS Code existe una extensión que ayudará mucho en el autocompletado de los archivos YAML.
