Vamos explorar a funcionalidade Actions do GitHub para automatizar a verificação de padrões de commints.
Para mais detalhes do GitHub Actions segue a documentação: Actions
As definições de padrão de commit é muito importante para organização e futuras consultas nas funcionalidades e bug no decorrer da vida de desenvolvimento do software, caso tenha curiosidade de saber alguns padrões segue um bom luga para consultá-las: Conventional Commits
1 – Criar Action
Para começar acesse seu repositório onde vamos criar a action,na aba Actions clique em set up a workflow yourself como na imagem abaixo:
Seremos redirecionados para um workflow template, porém não vamos usa esse e sim um especifico para rodar action de verificação de título de pull request.
No Edit new file, copie e cole a trecho abaixo:
name: "PR Title Checker"
on:
pull_request:
types:
- opened
- edited
- synchronize
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: thehanimo/pr-title-checker@v1.0.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- Nome para identificar nosso workflow foi “PR Title Checker”;
- Nosso workflow vai executar sempre que for aberto, editado ou sincronizado o pull equest;
- Vai rodar em cima de uma máquina Ubuntu;
- Usuário que criou action foi thehanimo para mais detalhes da action [GitHub thehanimo](https://github.com/thehanimo/pr-title-checker;
- No GITHUB_TOKEN: Passamos o nativo;
Clique Start commit para enviar essas alterações ao master e já temos nosso workflow criado.
2 – Criar Padrões de Commit
Depois de criar nosso workflow vamos definir nossos padrões de commit e caso não atenda mostrar a label.
Acesse .github e clique em Add file para criar um novo arquivo pr-title-styles.json.
No arquivo pr-title-styles.json adicione o trecho:
{
"LABEL": {
"name": "titulo está fora do padrão",
"color": "FF0000"
},
"CHECKS": {
"prefixes": ["fix: ", "feat: "],
"regexp": "docs\\(v[0-9]\\): "
}
}
a) Label
- name: Nome para informar quando o commit não estiver no padrão sera exibida;
- color: Cor da label;
b) Checks
- prefixes: Quais padrões vamos adotar no caso tem que começar com fix ou feat;
- regexp: Regex usado para identificar tal padrão;
Vamos criar um pull request que não siga o padrão definido, ao criar pull request a action vai executar e avaliar a descrição do título informado caso não atenda exibe uma label.
Na imagem nosso título não atendeu ao padrão e mostrou em vermelho “titulo está fora do padrão”.
Lembrando que essa action que criamos não impede que o pull rerquest seja realizado caso não atenda ao nosso padrão só mostrar uma label.
Ao fazer alteração no título do pull request com o fix: a action vai executar e avaliar como agora atende ao padrão a label será removida:
Actions no GitHub é muito interessante e podemos fazer muitas coisas para automatizar rotinas e como vimos até verificar descrições de título de pull request.
Top comments (0)