Construisez votre propre automatisation GitHub CI pour les avis de code à l'aide d'élixir et de gemini

DEV - 21/04
Voici une histoire rapide. Je voulais une action Github CI qui entre en jeu chaque fois que je crée / rouvrirant un PR, ...

Voici une histoire rapide. Je voulais une action GitHub CI qui démarre chaque fois que je crée / rouvre un PR, scanne le code change et vérifie si le nouveau code que j'ai poussé suit un ensemble de règles personnalisées définies dans leCODE-CODE-RULESdossier à la racine du dépôt, où chaque règle vit dans son propre.Marylandfichier créé par moi.

Si une règle est enfreinte, l'IC doit laisser automatiquement supprimer un commentaire sur le PR avec le problème, une explication claire, des correctifs de code suggérés, des cas de test (si nécessaire) et un lien vers le fichier de règles violé.

Ce cas d'utilisation a initialement relevé un défi de l'équipe de Jump - et j'ai beaucoup aimé l'idée pour construire ma propre vision. Voici comment vous pouvez faire de même pour vous ou votre organisation!

Fonds-tête rapide: le but de la rédaction de cet article est de vous guider tout au long du processus et de ne pas vous fournir de code pour chaque étape par étape. J'ai ajouté le dépôt github du «code de travail complet» à la fin de cet article pour cela, alors profitez-en!

Niveau 0: Présentation du flux de travail

Rien de fou, non?

Niveau 1: Enregistrement de notre application GitHub

Pour créer une nouvelle application GitHub, rendez-vous sur github.com/settings/apps/new et remplissez tous les détails de base (laissez l'URL de rappel et de webhook vide pour l'instant).

Maintenant, nous aurons deux parties à configurer:

  1. Autorisation (pour l'accès à l'API GitHub pour le compte de l'utilisateur), et
  2. Événements (webhook déclenche)

Sous autorisation> Autorisations de référentiel, sélectionnez lire / écrire pour:

  • Contenu
  • Discussions
  • Problèmes
  • Métadonnées (par défaut)
  • Des demandes de traction
  • Webhooks

Et sous autorisation>...
[Courte citation de 8% de l'article original]

Loading...