Hooks e Actions
Ao desenvolver uma aplicação, é comum utilizar diferentes tecnologias para assegurar uma boa condição do código e seu funcionamento. Para isso, podemos utilizar ferramentas de verificação e integração quando ocorrem certas ações importantes no versionamento do código.
Git Hooks
Abaixo esta o script do Git Hook do lado do cliente usado nesta aplicação, é chamado de pre-commit
porque é o primeiro que será executado automaticamente localmente quando ocorrer um commit, e irá executar determinadas ações de checagem dependendo dos arquivos que foram alterados e que estão sendo comitados.
- Executa o Lint quando arquivos da pasta
app
forem comitados. - Executa o Lint quando arquivos da pasta
tests
forem comitados. - Executa a Auditoria de Vulnerabilidade quando arquivos da pasta
requirements
forem comitados, o que significa que novas bibliotecas, pacotes ou dependências foram instalados. - Executa os Testes de qualquer forma, garantindo que tudo esteja funcionando.
pre-commit | |
---|---|
Tip
Não se esqueça de conceder as permissões necessárias para os arquivos de hook.
GitHub Actions
No lado do servidor, esta aplicação usa o GitHub Actions para criar workflows que serão acionados automaticamente quando ocorrer um evento push
no repositório remoto do GitHub, automatizando a execução automática dos trabalhos de verificação e implantação.
Trabalho de Verificação
Para Linting and Testes, ele verificará o repositório, configurará o Python, instalará o Poetry, carregará o venv em cache e instalará todas as dependências necessárias, como Pytest e Pylint, para realizar operações de lint e teste no código, garantindo que tudo esteja bem.
Trabalho de Documentação
Ele verificará o repositório, configurará o Python, carregará o venv em cache, e instalará as bibliotecas MkDocs e Material for MkDocs para configurar, fazer o deploy e publicar a página web estática da documentação da aplicação, escrita em Markdown, e que será hospedada no GitHub Pages no domínio github.io
do GitHub.