Substituindo grátis o review pago de PR do CodeRabbit com GitHub Actions + Gemma
(github.com/bssm-oss)Criei um projeto open source chamado GemmaCI.
Em uma frase: é um projeto para rodar de graça, dentro do GitHub Actions, um revisor de PR com IA como o CodeRabbit.
O CodeRabbit é uma boa ferramenta, mas para usar review de PR de forma mais séria em repositórios privados é preciso um plano pago. Segundo a documentação oficial, o plano Free é focado em sumarização de PR, e o review de PR está disponível a partir do Pro. O Pro custa $24/mo/user no plano anual, ou $30/mo/user no plano mensal.
Então criei isso pensando: “não daria para substituir de graça a experiência central do CodeRabbit em times pequenos, projetos de estudantes e side projects pessoais?”
O GemmaCI roda Ollama + o modelo Gemma no GitHub Actions para revisar o diff do PR.
No momento, estes recursos já funcionam:
- geração de comentário de resumo do PR
- criação de comentários de review inline nas linhas alteradas
- falha no check de CI ao encontrar findings high / critical
- saída de review baseada em evidence, confidence e recommendation
- redução do custo de cold start com cache de Ollama / do modelo
- uso apenas adicionando um único arquivo de workflow
- modelo de segurança que trata PR diff, saída do modelo e artifact como dados não confiáveis
Os pontos mais importantes para mim foram “gratuito” e “segurança”.
Em vez de simplesmente jogar o diff para o LLM e mandar comentar, a saída do modelo passa por validação de schema, e só são publicados findings que realmente tenham evidência nas linhas alteradas.
Além disso, por padrão ele não usa pull_request_target. Isso é para evitar o risco de executar com permissão de escrita workflows ou scripts alterados pelo autor do PR. Mesmo na etapa de publish, apenas o código confiável da base branch é executado, e os artifacts e a saída do modelo são validados novamente.
Validei isso abrindo um smoke PR em um runner real do GitHub Actions.
Itens validados:
- execução do workflow em runner hospedado pelo GitHub
- instalação do Ollama e execução do job de review com o modelo Gemma
- publicação do comentário de resumo do PR
- publicação de comentário inline na linha alterada
- falha no check ao detectar finding de severidade high
No PR de teste, inseri de propósito uma função unsafeDivide, e o GemmaCI detectou “falta de validação de divisão por zero” como um finding de severidade high e deixou um comentário inline.
Ainda não está no nível de substituir o CodeRabbit 1:1 por completo. Também não dá para esperar a mesma qualidade ou os mesmos recursos de integração de um revisor SaaS que usa modelos grandes.
Mas o objetivo é claro.
“Vamos permitir adicionar review gratuito de PR com IA, usando apenas um arquivo de workflow, mesmo em repositórios pequenos onde pagar é difícil de justificar.”
GitHub:
https://github.com/bssm-oss/gemmaci
Feedback, issues e PRs são bem-vindos.
Ainda não há comentários.