Note
O GitHub não dá mais suporte a fluxos de trabalho necessários para o GitHub Actions. Para exigir que os fluxos de trabalho sejam aprovados antes da mesclagem, atualize o GitHub Enterprise Server para a versão mais recente e use conjuntos de regras do repositório.
Para obter mais informações sobre como fazer upgrade do GitHub Enterprise Server, confira "Sobre atualizações para novas versões".
Para obter mais informações sobre os conjuntos de regras de repositório, consulte "Regras disponíveis para conjuntos de regras".
Visão geral
Você pode configurar um fluxo de trabalho que deve ser executado em repositórios em uma organização para todas as solicitações de pull abertas em relação a qualquer branch de destino. Os fluxos de trabalho necessários permitem implementar políticas de CI/CD em toda a organização, que se aplicam a repositórios atuais e futuros. Um fluxo de trabalho necessário é disparado pelos eventos padrão pull_request
e pull_request_target
e aparece como uma verificação de status necessária, que bloqueia a capacidade de mesclar a solicitação de pull até que o fluxo de trabalho necessário seja bem-sucedido.
Os fluxos de trabalho necessários não são iguais aos fluxos de trabalho reutilizáveis. Fluxos de trabalho reutilizáveis podem ser chamados por outro fluxo de trabalho. Os fluxos de trabalho necessários são impostos nos repositórios por um proprietário da organização.
Pré-requisitos
Antes de configurar um fluxo de trabalho necessário, observe os seguintes pré-requisitos:
- O GitHub Actions deve estar habilitado para um repositório nas configurações da organização para que os fluxos de trabalho necessários sejam executados. Depois de habilitados no nível da organização, os fluxos de trabalho necessários serão executados mesmo quando o GitHub Actions estiver desabilitado nas configurações do repositório. Para obter mais informações sobre como gerenciar o GitHub Actions nos repositórios da sua organização, confira "Desabilitar ou limitar o GitHub Actions para sua organização".
- Os fluxos de trabalho necessários estão disponíveis para as organizações e somente em repositórios em que o plano da organização dá suporte às verificações de status necessárias. Se não houver suporte para verificações de status necessárias, o fluxo de trabalho ainda será executado, mas não será uma verificação necessária e não bloqueará a mesclagem. Para obter mais informações sobre o suporte às verificações de status necessárias, confira "Sobre branches protegidos".
- O branch padrão do repositório deve corresponder à configuração de branch padrão da organização para que os fluxos de trabalho necessários sejam executados como verificações de status necessárias. Se os nomes de branch padrão não corresponderem, o fluxo de trabalho ainda será executado, mas não será uma verificação necessária. Para obter mais informações sobre como gerenciar nomes de branch padrão, confira "Gerenciar o nome de branch-padrão para repositórios na sua organização" e "Alterar o branch-padrão".
- Para que os fluxos de trabalho necessários sejam executados, o repositório de origem da solicitação de pull deve estar na mesma organização que o repositório de destino. O GitHub Enterprise Server obterá o fluxo de trabalho necessário de um branch, tag ou SHA de commit especificado do repositório que contém o fluxo de trabalho.
- Os segredos usados em um fluxo de trabalho necessário devem ser criados no nível da organização ou nos repositórios de destino.
- Os segredos do repositório de origem não serão buscados quando um fluxo de trabalho for executado no repositório de destino.
- Quando um fluxo de trabalho for executado como um fluxo de trabalho necessário, ele ignorará todos os filtros na seção
on:
, por exemplo:branches
,branches-ignore
,paths
,types
etc. O fluxo de trabalho necessário será executado somente para os eventos padrãopull_request
epull_request_target
. Para obter mais informações sobre tipos de atividade padrão, confira "Eventos que disparam fluxos de trabalho". - Os fluxos de trabalho necessários não são disparados automaticamente em solicitações de pull já existentes, embora apareçam automaticamente como verificações esperadas. Para disparar fluxos de trabalho necessários para uma solicitação de pull já existente, envie uma nova alteração para essa solicitação de pull.
Restrições e comportamentos para o repositório de origem
Observe as seguintes restrições e comportamentos do fluxo de trabalho e do repositório de origem:
-
Os fluxos de trabalho necessários podem ser armazenados em qualquer pasta do repositório e não estão restritos à pasta
.github/workflows
, como os fluxos de trabalho normais. Se um fluxo de trabalho necessário chamar um fluxo de trabalho reutilizável, o fluxo de trabalho reutilizável deverá ser armazenado na pasta.github/workflows
. Ao chamar um fluxo de trabalho reutilizável, um fluxo de trabalho necessário deve usar o caminho completo e a referência ao fluxo de trabalho reutilizável. Por exemplo,{owner}/{repo}/.github/workflows/{filename}@{ref}
. -
Se o fluxo de trabalho necessário estiver contido em um repositório privado ou interno , você deverá garantir que os fluxos de trabalho dentro do repositório estejam acessíveis por meio de outros repositórios da sua organização. Para obter mais informações, confira "Gerenciando as configurações do GitHub Actions para um repositório" e "Gerenciando as configurações do GitHub Actions para um repositório."
-
Os fluxos de trabalho armazenados em um repositório público podem ser configurados como fluxos de trabalho necessários para qualquer repositório da sua organização. Os fluxos de trabalho armazenados em um repositório privado só podem ser configurados como fluxos de trabalho necessários para outros repositórios privados da sua organização. Os fluxos de trabalho armazenados em repositórios internos podem ser configurados como fluxos de trabalho necessários para repositórios internos e privados da sua organização.
-
Não há suporte para o CodeQL nos fluxos de trabalho necessários porque o CodeQL requer configuração no nível do repositório. Para obter informações sobre como configurar a verificação de código, confira "Como definir a configuração avançada para verificação de código".
-
Os fluxos de trabalho necessários podem ser referenciados usando qualquer branch, tag ou SHA de commit do repositório que contém o arquivo de fluxo de trabalho.
Restrições e comportamentos do repositório de destino
Observe as seguintes restrições e comportamentos dos repositórios de destino:
- Ao configurar um fluxo de trabalho necessário para ser executado em todos os repositórios ou em repositórios selecionados, a visibilidade do repositório que contém o fluxo de trabalho necessário afetará em quais repositórios da sua organização o fluxo de trabalho será executado. Os fluxos de trabalho necessários armazenados em repositórios públicos serão executados em todos os repositórios. Os fluxos de trabalho necessários armazenados em repositórios privados só serão executados em outros repositórios privados. Os fluxos de trabalho necessários armazenados em repositórios internos serão executados em repositórios internos e privados.
- Os fluxos de trabalho necessários não podem ser configurados para serem executados no repositório em que o fluxo de trabalho foi criado. Você deve considerar a criação de um repositório separado para armazenar os fluxos de trabalho necessários.
- Ao configurar um fluxo de trabalho necessário para ser executado em todos os repositórios ou em repositórios selecionados, os fluxos de trabalho necessários não serão executados em repositórios nos quais as ações estão desabilitadas nas configurações da organização.
Exibindo execuções dos fluxos de trabalho necessários
Depois que um fluxo de trabalho necessário for executado pelo menos uma vez em um repositório, você poderá exibir as execuções desse fluxo de trabalho na guia "Ações" do repositório. Para fazer alterações em quais fluxos de trabalho são configurados como necessários em uma organização, entre em contato com um proprietário da organização. Para fazer alterações em um fluxo de trabalho necessário, basta ser uma pessoa com permissões de gravação no repositório que contém tal fluxo de trabalho.
-
Em GitHub, acesse a página principal do repositório.
-
No nome do repositório, clique em Ações.
-
Na barra lateral esquerda, você pode exibir execuções de fluxos de trabalho necessários em "Fluxos de trabalho necessários".
Como adicionar um fluxo de trabalho necessário a uma organização
Os proprietários de uma organização podem configurar os fluxos de trabalho necessários nela. Para obter mais informações, confira "Desabilitar ou limitar o GitHub Actions para sua organização".