Skip to main content

Utilizar condiciones para controlar la ejecución de jobs

Prevenir que un job se ejecute a menos de que tus condiciones se cumplan.

Nota: Los ejecutores hospedados en GitHub no son compatibles con GitHub Enterprise Server actualmente. Puedes encontrar más información sobre el soporte que se tiene planeado en el futuro en el Itinerario público de GitHub.

Resumen

Nota: Un job que se omita reportará su estado como "Exitoso". No prevendrá que se fusione una solicitud de cambios, incluso si es una verificación requerida.

Puedes utilizar el condicional jobs.<job_id>.if para prevenir que un job se ejecute a menos de que una condición se cumpla. Puedes usar cualquier contexto y expresión admitidos para crear un condicional.

Podrías omitir la sintaxis de expresión cuando utilizas expresiones en un condicional if (${{ }}) ya que GitHub evalúa automáticamente el condicional if como una expresión. Para obtener más información, consulta la sección "Expresiones".

Ejemplo: Solo ejecutar un job para un repositorio específico

Este ejemplo utiliza if para controla cuándo se puede ejecutar el job production-deploy. Este solo se ejecutará si el repositorio se llama octo-repo-prod y está dentro de la organización octo-org. De otra forma, el job se marcará como skipped.

YAML
name: example-workflow
on: [push]
jobs:
  production-deploy:
    if: github.repository == 'octo-org/octo-repo-prod'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '14'
      - run: npm install -g bats

Verías el siguiente estado en un job omitido:

Skipped-required-run-details