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.
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
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.