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
Note: A job that is skipped will report its status as "Success". It will not prevent a pull request from merging, even if it is a required check.
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.
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
You would see the following status on a skipped job: