Acionar um fluxo de trabalho

Concluído

Ninguém deve ter permissão para enviar quaisquer alterações diretamente para a ramificação principal em seu repositório de código. Idealmente, se algum desenvolvimento for necessário, você deve fazer alterações em uma cópia do código em uma ramificação.

Uma abordagem comum é trabalhar com ramificações de recursos, onde uma ramificação é usada para trabalhar em um recurso. Por exemplo, a equipe de ciência de dados pode precisar melhorar o desempenho do modelo e tentará fazer isso experimentando valores de hiperparâmetros. A equipe pode criar uma ramificação, atualizar o valor do hiperparâmetro no script de treinamento. E uma vez terminada a experimentação, um cientista de dados pode criar uma solicitação pull para mesclar a ramificação com o repositório principal.

Trabalhar com ramificações e solicitações pull permite que você verifique quaisquer alterações no seu código antes de mesclá-las com a ramificação principal. As solicitações pull também podem ser usadas como um gatilho para as Ações do GitHub automatizarem tarefas que precisam seguir uma atualização proposta para o código, como verificações automáticas de qualidade do código.

Para usar o desenvolvimento baseado em recursos junto com a automação, você precisará:

  • Crie uma regra de proteção de ramificação para bloquear pushes diretos para a principal.
  • Crie uma ramificação para atualizar o código.
  • Acione um fluxo de trabalho de Ações do GitHub ao abrir uma solicitação pull.

Criar uma regra de proteção de ramificação

Para proteger seu código, você deseja bloquear qualquer envio direto para a ramificação principal. Bloquear pushes diretos significa que ninguém terá permissão para enviar diretamente quaisquer alterações de código para a ramificação principal. Em vez disso, as alterações na ramificação principal podem ser feitas mesclando solicitações pull.

Para proteger a ramificação principal, habilite uma regra de proteção de ramificação no GitHub:

  1. Navegue até a guia Configurações no seu repositório.
  2. Na guia Configurações, em Código e automação, selecione Ramos.
  3. Selecione Adicionar regra.
  4. Digite main em Padrão de nome da filial.
  5. Habilite Exigir uma solicitação pull antes de mesclar e Exigir aprovações.
  6. Guardar as suas alterações.

Screenshot of configuring a branch protection rule in GitHub.

Crie uma ramificação para atualizar o código.

Sempre que você quiser editar o código, você terá que criar uma ramificação e trabalhar lá. Depois de finalizar as alterações, você pode criar uma solicitação pull para mesclar a ramificação do recurso com a ramificação principal.

Acionar um fluxo de trabalho de Ações do GitHub

Finalmente, você pode querer usar a criação de solicitações pull como um gatilho para fluxos de trabalho do GitHub Actions. Por exemplo, sempre que alguém fizer alterações no código, você desejará executar algumas verificações de qualidade do código.

Somente quando o código editado tiver passado pelas verificações de qualidade e alguém tiver verificado as alterações propostas, você deseja realmente mesclar a solicitação pull.

Para acionar um fluxo de trabalho de Ações do GitHub, você pode usar on: [pull_request]o . Quando você usa esse gatilho, seu fluxo de trabalho será executado sempre que a solicitação pull for criada.

Se quiser que um fluxo de trabalho seja executado sempre que uma solicitação pull for mesclada, será necessário usar outro gatilho. Mesclar uma solicitação pull é essencialmente um push para a ramificação principal. Portanto, para acionar um fluxo de trabalho a ser executado quando uma solicitação pull for mesclada, use o seguinte gatilho no fluxo de trabalho Ações do GitHub:

on:
  push:
    branches:
      - main