La solución del reto anterior constará en crear un archivo que imprimirá un “Hola Mundo” y lo llamaremos desde Actions.

El script será sencillo, tomará de las variables de entorno el USERNAME (que no hemos definido aún) y lo imprimirá en pantalla.

import os

def main():
    nombre = os.getenv("USERNAME")
    print(f"¡Hola, {nombre} desde GitHub!")

if __name__ == "__main__":
    main()

El archivo hola-mundo.yml contendrá un job con 3 steps, el primero hará un checkout del repo (lo copiará). El segundo definirá la variable de entorno USERNAME como github.actor (que es el username del autor del repo) y la guardará en GITHUB_ENV (que se cargarán junto al resto de variables de entorno). El tercer step correrá el script, si todo ha salido bien, usará la variable de entorno generada en el paso 2 para dar un hola mundo personalizado.

name: Aprendiendo GitHub Actions
run-name: ¡Estoy aprendiendo GitHub Actions!
on: [push]
jobs:
  hola-mundo:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Definir variable
        run: echo "USERNAME=${{ github.actor }}" >> $GITHUB_ENV
      - name: Correr script
        run: python hola_mundo.py

Según este ejemplo indagaremos en profundidad en los componentes de este archivo YAML.

Comprendiendo la sintaxis del formato YAML

Vamos a indagar línea por línea el archivo hola-mundo.yml para comprender la labor de cada etiqueta.