O Que É um Job no GitHub Actions?
Um job é uma unidade de trabalho em um workflow. Ele roda em um runner e contém uma lista ordenada de steps.
Workflows são feitos de jobs. Cada job recebe um runner novo, executa seus steps em ordem e reporta seu próprio pass/fail. Entender jobs é essencial para controlar paralelismo e dependências.
O que é
Um job é uma entrada nomeada sob a chave jobs: do workflow. Ele especifica onde roda com runs-on: e o que faz com uma lista de steps:.
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm testComo funciona
Cada job roda em sua própria máquina virtual nova. Steps dentro de um job compartilham o filesystem e o ambiente daquela máquina, mas jobs diferentes são isolados uns dos outros.
Paralelo por padrão
Quando um workflow tem múltiplos jobs, eles rodam em paralelo, a menos que você declare dependências com needs:. Isso torna os workflows rápidos, mas significa que os jobs não podem assumir nenhum estado compartilhado.
Por que isso importa
Dividir o trabalho em jobs permite paralelizar, condicionar deploys a testes e rodar steps diferentes em sistemas operacionais diferentes. Cada job também é uma unidade de cobrança e de concorrência.
Conceitos relacionados
Jobs contêm steps, rodam em runners e podem ser sequenciados com a palavra-chave needs: para formar um grafo de dependências.
Principais conclusões
- Um job roda em um único runner novo.
- Jobs rodam em paralelo, a menos que sejam ordenados com
needs:. - Steps em um job compartilham um filesystem; jobs separados não.