Uso de Expresiones y Operadores en GitHub Actions: Guía y Ejemplos Básicos
Introducción
GitHub Actions proporciona una potente funcionalidad para crear flujos de trabajo automatizados mediante el uso de expresiones y operadores. Las expresiones permiten realizar evaluaciones y manipulaciones dinámicas en los flujos de trabajo, mientras que los operadores facilitan estas evaluaciones. En este blog, exploraremos cómo utilizar expresiones y operadores en GitHub Actions con ejemplos simples para ayudarte a empezar.
¿Qué son las Expresiones en GitHub Actions?
Las expresiones en GitHub Actions son fragmentos de código que se evalúan en tiempo de ejecución. Se utilizan para realizar comparaciones, cálculos y asignaciones dinámicas dentro de los workflows. Las expresiones se escriben entre dobles llaves ${{ }}
.
Operadores Comunes en GitHub Actions
GitHub Actions soporta una variedad de operadores, entre los más comunes se incluyen:
Operadores Lógicos:
&&
(AND)||
(OR)!
(NOT)
Operadores de Comparación:
==
(igual a)!=
(no igual a)>
(mayor que)<
(menor que)>=
(mayor o igual a)<=
(menor o igual a)
Operadores Matemáticos:
+
(suma)-
(resta)*
(multiplicación)/
(división)%
(módulo)
Operadores de Cadena:
startsWith
(comienza con)endsWith
(termina con)contains
(contiene)
Ejemplos de Expresiones y Operadores
1. Evaluación Lógica: Las evaluaciones lógicas permiten combinar condiciones para controlar la ejecución de los pasos en un flujo de trabajo.
Ejemplo:
name: Logical Evaluation Example
on: [push]
jobs:
example_job:
runs-on: ubuntu-latest
steps:
- name: Conditional Step
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
run: echo "Este paso solo se ejecuta en la rama principal con un push"
2. Comparación de Valores: Las comparaciones se utilizan para verificar si los valores cumplen ciertas condiciones.
Ejemplo:
name: Comparison Example
on: [push]
jobs:
example_job:
runs-on: ubuntu-latest
steps:
- name: Check Commit Message
if: ${{ github.event.head_commit.message != '' }}
run: echo "El mensaje del commit no está vacío"
3. Operaciones Matemáticas: Las operaciones matemáticas pueden ser útiles para cálculos y validaciones numéricas.
Ejemplo:
name: Math Operations Example
on: [push]
jobs:
example_job:
runs-on: ubuntu-latest
steps:
- name: Calculate Sum
run: echo "La suma de 5 + 3 es $(( 5 + 3 ))"
4. Manipulación de Cadenas: La manipulación de cadenas permite verificar y modificar texto dentro de los workflows.
Ejemplo:
name: String Manipulation Example
on: [push]
jobs:
example_job:
runs-on: ubuntu-latest
steps:
- name: Check Branch Name
if: ${{ startsWith(github.ref, 'refs/heads/feature/') }}
run: echo "El push se realizó en una rama de características"
5. Uso de Variables Contextuales: GitHub Actions proporciona varias variables contextuales que se pueden usar dentro de las expresiones.
Ejemplo:
name: Context Variables Example
on: [push]
jobs:
example_job:
runs-on: ubuntu-latest
steps:
- name: Print Actor
run: echo "El actor de este evento es ${{ github.actor }}"
Conclusión
Las expresiones y operadores en GitHub Actions son herramientas poderosas para crear workflows dinámicos y flexibles. Al dominar el uso de estas funcionalidades, puedes optimizar tus flujos de trabajo para adaptarse mejor a las necesidades de tus proyectos. Estos ejemplos básicos te ayudarán a comenzar a explorar las posibilidades y a utilizar expresiones y operadores de manera efectiva en tus workflows de GitHub Actions.
Links de referencia: Expresiones