Cómo trabajar con la función GitHub Workflow

Los GitHub Workflows, también conocidos como flujos de trabajo, amplían las funciones de GitHub y se guardan en su repositorio correspondiente de la carpeta .github/workflows. Permiten ejecutar acciones de forma automática al producirse determinados eventos (events).

¿Qué son los GitHub Workflows?

Básicamente, un GitHub Workflow no es más que una colección de acciones concretas, en su mayoría recurrentes, que se ejecutan en el repositorio automáticamente, al producirse un determinado evento. Un flujo de trabajo (workflow) está compuesto por varios trabajos (jobs), que a su vez se dividen en una serie de pasos (steps). Los GitHub Workflows no solo se ejecutan como consecuencia de determinados eventos, sino que también se pueden activar manualmente o ser ejecutados de forma periódica. Los workflows son una parte esencial de la plataforma de integración continua conocida como GitHub Actions.

Las acciones concretas que se incluyen en cada GitHub Workflow queda a discreción de los programadores. Entre sus usos más comunes se encuentra la comprobación automática del código inmediatamente después de ser actualizado en el repositorio; o el hecho de informar a los integrantes del equipo de los cambios que se producen en el repositorio.

Consejo

Si estás usando GitHub para tu proyecto web, te merece la pena usar IONOS Deploy Now para conseguir una mayor productividad. El workflow con GitHub Actions, que ha sido configurado previamente, se encarga de compilar tu proyecto automáticamente.

Paso a paso hasta llegar a tu propio workflow

Crear un GitHub Workflow no es difícil. Solo necesitas tener conocimientos básicos del lenguaje de programación YAML y un repositorio de GitHub en el que quieras ejecutar y desplegar tu workflow. GitHub Copilot puede ayudarte a escribir el código de tu workflow en YAML, siempre y cuando utilices un entorno de desarrollo integrado.

Paso 1. Configurar el workflow

Una vez hayas creado un repositorio nuevo o hayas seleccionado un repositorio preexistente para tu GitHub Workflow, puedes acceder al menú de GitHub Actions haciendo clic en el botón “Actions”.

Captura de pantalla de un repositorio de GitHub
Selecciona la pestaña “Actions” de tu repositorio para acceder al menú de GitHub Actions.

Desde el menú de GitHub Actions puedes crear tu propio workflow. Para ello, haz clic en el botón “set up a workflow yourself”.

Captura de pantalla del menú de GitHub Actions
Puedes crear tu propio GitHub Workflow desde el menú de GitHub Actions.

Paso 2. Escribir código para el GitHub Workflow

Una vez hayas creado un nuevo workflow, automáticamente se abrirá un nuevo archivo llamado main.yml en el directorio .github/workflows. Puedes editar el archivo en GitHub directamente y añadir el código que quieras ejecutar en tu workflow. La extensión del archivo deja claro que debes escribir el código en el lenguaje de programación YAML.

El archivo main.yml en el editor de GitHub
Puedes editar el archivo main.yml directamente en Github y hacer commit después.

Tú decides qué acciones quieres que se lleven a cabo en tu código. A continuación, te mostramos un código de ejemplo que crea un workflow llamado “example” y que se ejecuta cada vez que haya un commit en la rama (branch) denominada “main”:

name: example
on:
	push:
		branches: [main]
jobs:
	build:
		runs-on: ubuntu-latest
		steps:
-  uses: actions/checkout@v2
    with:
	fetch-depth: 0
- run: make

En primer lugar, debemos especificar exactamente en qué momento debe ejecutarse el GitHub Workflow. Para ello, hemos utilizado las palabras clave “on” y “push”, las cuales activan el workflow si hay código después de la palabra clave “branches”.

El workflow consiste en un trabajo (job) llamado “build”, que a su vez consta de dos pasos (steps) individuales y que se ejecuta en un host Ubuntu.

El primer paso (step) utiliza una acción predefinida de GitHub llamada “checkout”, la cual se encarga de descargar todo el código del repositorio en el host. Se puede utilizar el parámetro “fetch-depth” para especificar el número de commits que se deben descargar. Al introducir el valor “0” conseguimos que se descargue todo el historial de commits de la rama (branch) llamada “main”.

El segundo paso (step) ejecuta el comando “make” en el host, el cual compila y ejecuta los comandos que suelen encontrarse en un archivo denominado “Makefile”.

Paso 3. Guardar GitHub Workflow y hacer commit

Una vez hayas introducido el código en tu workflow, lo único que tienes que hacer es guardar el archivo y hacer commit. A partir de ese momento, tu workflow se ejecutará cada vez que se produzca el evento que hayas especificado en tu código.