Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

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.

Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.

Visão Geral

Observação: Um trabalho que ignorado irá relatar seu status como "Sucesso". Isso não impedirá o merge de um pull request mesmo que seja uma verificação necessária.

Você pode usar a condicional jobs.<job_id>.if para evitar que um trabalho seja executado a não ser que determinada condição seja atendida. Você pode usar qualquer contexto e expressão compatível para criar uma condicional.

Quando você usa expressões em uma condicional if você pode omitir a sintaxe da expressão (${{ }}) porque GitHub calcula automaticamente a condição if como expressão. Para obter mais informações, consulte "Expressões".

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

Este exemplo usa se para controlar quando o trabalho production-deploy pode ser executado. Ele só será executado se o repositório for denominado octo-repo-prod e estiver dentro da 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@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats

Você verá o seguinte status em um trabalho ignorado:

Skipped-required-run-details