DEV Community

Wanderson Alves Rodrigues
Wanderson Alves Rodrigues

Posted on • Edited on

6

Garantindo padrões de commits em pull requests no GitHub

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:

Alt Text

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.

Alt Text

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 }}


Enter fullscreen mode Exit fullscreen mode
  • 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;

Alt Text

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.

Alt Text

Alt Text

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]\\): "
  }
}


Enter fullscreen mode Exit fullscreen mode

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”.

Alt Text

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:

Alt Text

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.

GitHub do Projeto

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more