ci: revisar los pull requests con IA #1
Reference in New Issue
Block a user
Delete Branch "feat/ai-review"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replica la revision automatica que ya corre en prode_app.
Que hace
Al abrir, reabrir o actualizar un pull request, un modelo lee el diff completo y publica comentarios pegados a cada linea mas un resumen en el hilo, firmados por el usuario
ai-bot.Costo
Cero. El modelo (
nvidia/nemotron-3-ultra-550b-a55b:freepor OpenRouter) es gratuito, y cada revision cuesta dos pedidos porque manda todos los archivos juntos en vez de uno por archivo.Secretos
Se leen de Infisical al arrancar el job, por DNS interno de la red del runner. En el repositorio solo quedan
INFISICAL_CLIENT_IDyINFISICAL_CLIENT_SECRET(ya cargados).El prompt es de este proyecto
No es generico: apunta a turnos que se pisan, husos horarios, la autorizacion distinta de
admin,jefeycliente, los magic links tratados como credenciales, las migraciones que acompañen aschema.prisma, y los datos personales de clientes que no deben terminar en los registros.Ademas le pide no comentar estilo ni afirmar como se comporta una biblioteca sin estar seguro.
Runner
Usa el label
ai-review, que apunta al runner en contenedor del homelab. Se eligio uno exclusivo porqueself-hostedyubuntu-latestestan repetidos entre varios runners y el job podia caer en cualquiera.Qué cambia
Se agrega la configuración completa para revisión automática de pull requests con IA (xai-review) en Gitea Actions: archivo de configuración principal, prompts de contexto y resumen adaptados al proyecto del taller, y un workflow que lee secretos de Infisical y ejecuta la revisión en cada PR abierto, reabierto o sincronizado.
Riesgos
nvidia/nemotron-3-ultra-550b-a55b:free) puede dejar de estar disponible; el config incluye alternativas y comando para listar vigentes.ai-reviewcon Python 3.12 y acceso a la red internaproxypara hablar con Gitea e Infisical por DNS.OPENROUTER_API_KEY,AI_REVIEW_GITEA_TOKENen/gitea-ai-review), el job falla explícitamente.Antes de aprobar
ai-reviewy tiene Python 3.12.workflow_dispatch) en un PR de prueba y revisar que publique comentarios y resumen sin errores.GITEA_API_URL(variable de repo) apunta al endpoint correcto si no es el defaulthttp://gitea:3000/api/v1.#ai-review-summary