Skip to main content

Usando condições para controlar a execução do trabalho

Impeça que um trabalho seja executado a menos que suas condições sejam atendidas.

Use o condicional jobs.<job_id>.if para impedir que um trabalho seja executado, a não ser que uma condição seja atendida. Você pode usar qualquer contexto e expressão compatível para criar uma condicional. Para obter mais informações sobre quais contextos têm suporte nessa chave, confira Referência de contextos.

Exemplo: somente executar o trabalho para um repositório específico

Este exemplo usa if para controlar quando o trabalho production-deploy pode ser executado. Ele só será executado se o repositório for chamado octo-repo-prod e estiver na organização octo-org. Caso contrário, o trabalho será marcado como ignorado.

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@v5
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats

Trabalhos ignorados exibem a mensagem "This check was skipped".

Observação

Um trabalho ignorado relatará o respectivo status como "Success". Ele não impedirá a mesclagem de uma solicitação de pull, mesmo que seja uma verificação necessária.

Para depurar por que um trabalho foi ignorado ou executado inesperadamente, você pode exibir logs de expressão de condição de trabalho. Para saber mais, confira Exibindo logs de expressão de condição de tarefa.