Skip to main content

GITHUB_TOKEN

Saiba o que GITHUB_TOKEN é, como funciona e por que ele é importante para a automação segura em GitHub Actions fluxos de trabalho.

Sobre o GITHUB_TOKEN

No início de cada job do fluxo de trabalho, GitHub cria automaticamente um segredo exclusivo GITHUB_TOKEN para uso no seu fluxo de trabalho. Use o GITHUB_TOKEN para se autenticar em um fluxo de trabalho.

Quando você habilita GitHub Actions, GitHub instala um GitHub App no repositório. O GITHUB_TOKEN segredo é um GitHub App token de acesso de instalação. Você pode usar o token de acesso de instalação para autenticar em nome do GitHub App instalado em seu repositório. As permissões do token são restritas ao repositório do fluxo de trabalho. Para obter mais informações, consulte Sintaxe de fluxo de trabalho para o GitHub Actions.

Antes de cada trabalho começar, GitHub busca um token de acesso de instalação para o trabalho. O GITHUB_TOKEN expira quando o trabalho é concluído ou após seu tempo de vida máximo efetivo.

O tempo de vida útil máximo efetivo do token depende do tipo de runner:

  • GitHub-runners hospedados O tempo máximo de execução do trabalho é de 6 horas, portanto, o GITHUB_TOKEN pode durar no máximo 6 horas.
  • Executores auto-hospedados O tempo máximo de execução do trabalho é de 5 dias. No entanto, como o GITHUB_TOKEN é um token de acesso de instalação, ele só pode ser renovado por no máximo 24 horas. Se o trabalho durar mais de 24 horas, use um personal access token ou outro método de autenticação em vez disso.

O token também está disponível no contexto github.token. Para obter mais informações, consulte Referência de contextos.

Quando GITHUB_TOKEN dispara execuções do fluxo de trabalho

Quando você usa o GITHUB_TOKEN do repositório para executar tarefas, os eventos acionados pelo GITHUB_TOKEN não criarão uma nova execução de fluxo de trabalho, com as seguintes exceções:

  • eventos workflow_dispatch e repository_dispatch sempre criam execuções de fluxo de trabalho.
  • pull_request eventos com os tipos de atividade opened, synchronize ou reopened: quando um fluxo de trabalho que usa GITHUB_TOKEN cria ou atualiza uma solicitação de pull request, o evento pull_request resultante cria execuções de fluxo de trabalho em um estado de aprovação obrigatória. O pull request exibe um banner na caixa de merge, e um usuário com acesso de escrita ao repositório pode iniciar as execuções selecionando Aprovar fluxos de trabalho para execução. Outros pull_request tipos de atividade (como labeled, editedou closed) não criam execuções de fluxo de trabalho. Isso impede que o fluxo de trabalho recursivo seja executado enquanto ainda permite que os fluxos de trabalho de CI sejam executados em solicitações de pull criadas pela automação. Para obter mais informações sobre como aprovar execuções de fluxo de trabalho, consulte Aprovando execuções de fluxo de trabalho de forks.

Para todos os outros eventos, esse comportamento impede que você crie acidentalmente execuções de fluxo de trabalho recursivo. Por exemplo, se uma execução de fluxo de trabalho efetuar push do código usando o GITHUB_TOKEN do repositório, um novo fluxo de trabalho não será executado mesmo quando o repositório contiver um fluxo de trabalho configurado para ser executado quando os eventos do push ocorrerem.

Observação

Se você precisar que execuções de workflow de pull requests criadas pelo workflow sejam executadas sem exigir aprovação, use um token de acesso de instalação GitHub App ou um personal access token em vez de GITHUB_TOKEN ao criar ou atualizar a pull request.

Commits enviados por push por um fluxo de trabalho de GitHub Actions que usa o GITHUB_TOKEN não disparam um build de GitHub Pages.

Próximas etapas