Revisão automática de código Elixir com GitHub, Credo e Travis CI
O Travis pode executar uma verificação automática para mim criando comentários no GitHub.
Enquanto eu trabalhava no Elixir, eu percebi que seria bom ter uma ferramenta de análise de código estático integrada com o processo de desenvolvimento. No mundo do Elixir nós temos o credo. É uma ferramenta muito boa que podemos adicionar ao nosso arquivo mix.exs e analisar nosso projeto simplesmente digitando
$ mix credo
E teríamos algo assim:
Bonito, não é?
Então antes de terminar meu pull request eu preciso simplesmente verificar meu código. Mas e se eu não quiser verificar meu código para cada commit? Bem, o Travis pode executar essa tarefa para mim criando comentários no GitHub.
Ok. Temos um simples arquivo Elixir .travis.yml:
language: elixir elixir: — 1.3.2 otp_release: — 19.0
Como padrão, o Travis vai buscar todas as dependências, construir o projeto e realizar o teste. Agora precisamos adicionar algo que analise o código e crie os comentários para as solicitações. Existe uma boa ferramenta chamada pronto que por sorte tem um executor credo. Vamos adicioná-lo ao nosso arquivo .travis.yml
language: elixir elixir: — 1.3.2 otp_release: — 19.0 env: global: - MIX_ENV=test - PULL_REQUEST_ID=$TRAVIS_PULL_REQUEST before_script: - rvm install ruby-2.3.1 - gem install pronto-credo script: — if [ $PULL_REQUEST_ID != false ]; then pronto run -f github_pr; fi — mix test
O Pronto precisa de duas variáveis de ambiente. PULL_REQUESTS_ID para saber qual solicitação estamos analisando e GITHUB_ACCESS_TOKEN para ter acesso ao github.
Nós precisamos gerar GITHUB_ACCESS_TOKEN. Basta acessar sua página de configurações de usuário e clicar em “Códigos de Acesso Pessoal”. Clique no botão “Gerar novo código”, escreva algum nome, por exemplo pronto-nome-projeto, selecione a checkbox do repositório, e clique no botão “Gerar Código”. Feito. Copie seu novo código. Agora vá à sua página do projeto travis, clique em “Mais opções” e “Configurações” adicione em Variáveis de Ambiente como GITHUB_ACCESS_TOKEN.
Depois que o projeto for construído, teremos comentários dentro da solicitação.
Mais uma coisa…. Você pode adicionar o rvm à cache para acelerar as coisas. Basta somente adicionar essas linhas ao seu arquivo .travis.yml
cache: directories: — /home/travis/.rvm/
Boa análise!
***
Michał Kalbarczyk faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela Redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: https://blog.fazibear.me/automated-elixir-code-review-with-github-credo-and-travis-ci-986cd56b8f02









