Las expresiones son el conjunto de caracteres especiales, operadores y tipos de datos que podemos usar dentro de Actions para crear lógicas en nuestros Workflows de manera concisa e inteligente.
Antes de entrar en profundidad sobre las expresiones de Actions debemos resolver el reto 2 del repositorio para desbloquear el contenido de este módulo
El reto 2 constaba en crear un Workflow que se activara al menos con 3 triggers diferentes y que corrieran una serie de jobs a voluntad. A continuación indagaremos en la solución dada por el curso.
Tendremos un Workflow llamado Triggers con un run-name de “¡Estoy aprendiendo a usar diferentes Triggers!”, este se activará por 3 triggers:
Push → Cada que suceda un push en la rama máster.
Pull Request → Cada que se abra un PR, se haga un commit o se reabra en un archivo .py.
Issues → Cuando se etiquete un Issue (ignorará cuando se abre).
Workflow Dispatch → Se definirán 2 inputs, lenguaje_favorito y nombre.
Finalmente se correrán 2 jobs: hola-mundo-manual y hola-mundo (que revisará que el llamado no ha sido por Workflow dispatch).
name: Triggers
run-name: ¡Estoy aprendiendo a usar diferentes Triggers!
on:
push:
branches:
- master
pull_request:
types: [opened, synchronize, reopened]
paths:
- '**.py'
issues:
types:
- labeled
workflow_dispatch:
inputs:
lenguaje_favorito:
description: 'Lenguaje favorito'
default: Python
required: true
type: choice
options:
- Python
- JavaScript
- Go
nombre:
description: 'Tu nombre'
required: true
default: Juan
type: string
schedule:
- cron: '15 22 * * *'
jobs:
hola-mundo-manual:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Definir nombre
run: echo "USERNAME=${{ inputs.nombre }}" >> $GITHUB_ENV
- name: Definir lenguaje
run: echo "LANGUAGE=${{ inputs.lenguaje_favorito }}" >> $GITHUB_ENV
- name: Correr script
run: python hola_lenguaje.py
hola-mundo:
if: ${{ github.event_name != 'workflow_dispatch' }}
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