Bibliotecas de hooks para a validação e padronização dos projetos. São bibliotecas personalisadas que são usados em conjuto com pre-commit
- Python 3
- PIP
O projeto contem um MakeFile que pode ser usado para configurar usando o comando:
make build
Esse comando executa as seguintes etapas
- Criar um virtual virtualenv
- Instala as dependências contidas em requirements.txt
- Executa o flake8
- Executa pylint
- Executa os testes unitários ( Cobertura aceitável > 90%)
- Instala o pre-commit
Esse hook será executando no git stage pre_merge_commit e fará a validação das mensagens quando trigado pelo comando git commit.
Para instalar é preciso adicionar o comando -t prepare-commit-msg ao executar o comando pre-commit install
Padrão de mensagem
<code-type>(<jira-code>): Mensage do commit
code | |
---|---|
feat | Cria um novo recurso no código. |
fix | Corrige um bug no código. |
refactor | Uma alteração que não corrige um bug, nem adiciona um novo recurso. |
perf | Mudança de Código que melhora performance. |
test | Adicionando testes ausentes ou corrigindo testes existentes. |
chore | Outras alterações que não modificam os arquivos src ou de teste |
docs | Apenas a documentação. |
style | Mudanças que não afetam o significado do código (espaço em branco, formatação falta de ponto-e-vírgula, etc). |
build | Alterações que afetam o sistema de compilação ou dependências externas (npm, gulp, broccoli). |
ci | Alterações em nossos arquivos e scripts de configuração de CI (Travis, Circle, github actions). |
merge | Merge |
revert | Revert |
Esse hook será executando no git stage pre_push e fará a validação da branch ao executar o comando git push.
Para instalar é preciso adicionar o comando -t pre-push ao executar o comando pre-commit install
Branch naming:
Main:
main
Release:
release
development:
development
Feature: É para adicionar, refatorar ou remover um recurso.
feature/(jira)-titulo
feature/RSS-13-novo-campo
Task: É para resolver questões que não é ligado a um recurso ou um bug
task/(jira)-titulo
task/RSS-16-add-lib
Hotfix: É para corrigir o código com uma solução sem seguir o processo normal
hotfix/(jira)-titulo
hotfix/RSS-13-corrigir-campo
BugFix: É para corrigir um bug
bug/(jira)-titulo
bug/RSS-13-corrigir-campo
Test: É para experimentar algo fora de uma issue/ticket.
test/nome-do-teste
Para a utilização será preciso instalar localamente:
- python 3
- pip
- pre-commit
Criar no projeto um arquivo com nome .pre-commit-config.yaml na raiz do projeto com conteúdo:
repos:
- repo: https://github.com/libercapital/pre-commit-hooks
rev: v1.0.0
hooks:
- id: commit_msg
- id: branch_name
Executar o comado na raiz no projeto:
pre-commit install -t prepare-commit-msg -t pre-push