Disparar um fluxo de trabalho
Ninguém deve ter permissão para enviar alterações diretamente ao branch principal no repositório do código. Em caso de necessidade de desenvolvimento, o ideal é fazer alterações em uma cópia do código em um branch.
Uma abordagem comum é trabalhar com branches de recursos, em que um branch é usado para trabalhar em um recurso. Por exemplo, a equipe de ciência de dados pode precisar aprimorar o desempenho do modelo e tentará fazer isso experimentando valores de hiperparâmetro. A equipe pode criar um branch e atualizar o valor do hiperparâmetro no script de treinamento. E após os experimentos, um cientista de dados pode criar uma solicitação de pull para mesclar o branch com o repositório principal.
O trabalho com branches e solicitações de pull permite que você verifique as alterações no código antes de mesclá-las com o branch principal. As solicitações de pull também podem ser usadas como um gatilho para que o GitHub Actions automatize as tarefas que precisam ocorrer após uma atualização proposta para o código, como verificações automáticas de qualidade de código.
Para usar o desenvolvimento baseado em recurso junto com a automação, você precisará:
- Criar uma regra de proteção de branch para bloquear pushes diretos para o principal.
- Criar um branch para atualizar o código.
- Disparar um fluxo de trabalho do GitHub Actions ao abrir uma solicitação de pull.
Criar uma regra de proteção de branch
Para proteger o código, você vai bloquear os pushes diretos ao branch principal. O bloqueio de pushes diretos significa que ninguém terá permissão para enviar alterações de código diretamente para o branch principal. Nesse caso, as alterações no branch principal podem ser feitas mesclando solicitações de pull.
Para proteger o branch principal, habilite uma regra de proteção de branch no GitHub:
- Navegue até a guia Configurações em seu repositório.
- Na guia Configurações, em Código e automação, selecione Branches.
- Selecione Adicionar regra.
- Insira
main
em Padrão de nome do branch. - Habilite Exigir uma solicitação de pull antes de mesclar e Exigir aprovações.
- Salve suas alterações.
Criar um branch para atualizar o código.
Sempre que quiser editar o código, você precisará criar um branch e trabalhar nele. Depois de finalizar as alterações, você poderá criar uma solicitação de pull para mesclar o branch de recursos com o branch principal.
Dica
Saiba mais sobre o controle do código-fonte para projetos de machine learning e como trabalhar com o desenvolvimento baseado em recurso.
Disparar um fluxo de trabalho do GitHub Actions
Por fim, convém usar a criação de solicitações de 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 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ê vai realmente mesclar a solicitação de pull.
Para disparar um fluxo de trabalho do GitHub Actions, você pode usar on: [pull_request]
. Quando você usa esse gatilho, o fluxo de trabalho é executado sempre que a solicitação de pull é criada.
Se você quiser que um fluxo de trabalho seja executado sempre que uma solicitação de pull for mesclada, precisará usar outro gatilho. A mesclagem de uma solicitação de pull é basicamente um push para o branch principal. Portanto, para disparar um fluxo de trabalho a ser executado quando uma solicitação de pull for mesclada, use o seguinte gatilho no fluxo de trabalho do GitHub Actions:
on:
push:
branches:
- main