
Partager:
Nahrin a été développeur éducateur pour Vonage. Elle est passionnée par la construction de communautés inclusives, la réponse aux besoins du monde réel avec des solutions logicielles pragmatiques, et la création d'un contenu technique accessible à tous les niveaux de compétence.
12 Bots pour améliorer votre projet Open Source
Temps de lecture : 6 minutes
Plus un projet open source existe et grandit, plus il accumule de problèmes et de demandes d'extraction non résolues. Il n'est pas facile de suivre les nouvelles contributions, surtout s'il reste des problèmes non résolus dans le passé.
Entrez, les bots ! L'automatisation et l'externalisation du travail vers des robots allègent le fardeau des responsables de la maintenance et leur permettent de se consacrer à des tâches plus importantes.
Cet article présente 12 façons d'améliorer votre projet open source avec Probot (GitHub Apps) et GitHub Actions-deux projets distincts dont l'objectif commun est de permettre aux développeurs d'étendre leurs flux de travail et de leur donner les moyens de le faire et de personnaliser le fonctionnement de GitHub.
Si vous souhaitez en savoir plus sur les différences entre les projets, l'excellent article de blog de Jason Etcovitch blog de Jason Etcovitch de Jason Etcovitch sur le sujet. Voici sa comparaison des deux projets :
github apps vs actions
Maintenant, commençons à mettre en avant les outils d'automatisation qui vous faciliteront la vie en tant que mainteneur de projet. Sans plus attendre, voici des bots pour améliorer votre projet open source !
Probot (GitHub Apps)
Demande d'information
Demande plus d'informations sur les problèmes et les demandes d'extraction avec le titre par défaut ou un corps vide.
Request-Info demande plus d'informations aux Pull Requests et aux Issues nouvellement ouvertes qui contiennent des titres par défaut ou dont la description est laissée vide. Pour ce faire, il utilise les données d'un fichier .github/config.yml.
Request-Info bot
Pas de réponse
Clôture des questions pour lesquelles l'auteur n'a pas répondu à une demande d'informations complémentaires.
Très souvent, les problèmes sont classés sans qu'il y ait suffisamment d'informations pour qu'ils puissent être étudiés de manière adéquate. Lorsque cela se produit, les responsables peuvent étiqueter un problème comme nécessitant plus d'informations de la part de l'auteur original. Si l'auteur ne fournit pas les informations nécessaires dans les délais impartis, le problème est automatiquement fermé par le robot. Si l'auteur revient et fournit plus d'informations, le robot No Response retire l'étiquette et le problème est automatiquement rouvert si nécessaire.
No response bot
Fusionnable
Empêcher la fusion des Pull Requests en fonction des configurations.
Rendez vos Pull Requests "fusionnables" uniquement lorsque des termes spécifiques ne figurent pas dans le titre ou l'étiquette, que le jalon de la pull request correspond à ce qui est configuré, et qu'il y a au moins n nombre de révisions approuvées, où n est configurable.
Attribution automatique
Ajouter des évaluateurs/assignés aux demandes de retrait lors de l'ouverture des demandes de retrait.
Lorsque la demande d'extraction est ouverte, ce robot ajoutera automatiquement des évaluateurs/assignés à la demande d'extraction. Si le nombre d'évaluateurs/assignés est spécifié, il ajoutera aléatoirement des évaluateurs/assignés à la demande d'extraction. Si le titre de la demande d'extraction contient un mot-clé spécifique, le robot n'ajoute pas d'évaluateurs/assignés à la demande d'extraction.
Stale
Fermer automatiquement les problèmes et les demandes de retrait qui ont tendance à s'accumuler au cours d'un projet.
Après une période d'inactivité, une étiquette sera appliquée pour marquer une question comme périmée, et éventuellement un commentaire sera posté pour notifier aux contributeurs que la question ou la demande d'extraction sera fermée. Si la question ou la demande d'extraction est mise à jour ou si quelqu'un fait un commentaire, l'étiquette "stale" est supprimée et plus rien n'est fait jusqu'à ce que la question ou la demande devienne à nouveau "stale". S'il n'y a plus d'activité, la question ou la demande de retrait sera automatiquement clôturée avec un commentaire optionnel.
Stale bot
Premiers arrivés
Créer des problèmes de démarrage pour aider à intégrer de nouveaux contributeurs open source.
Le processus de création d'une demande d'extraction est l'obstacle le plus important pour les nouveaux contributeurs. First Timers rationalise le processus de création de problèmes simples et conviviaux pour les contributeurs afin d'aider plus de personnes à devenir des contributeurs Open Source pour la première fois.
Actions GitHub
Charpie
Affiche et corrige automatiquement les erreurs de linting pour de nombreux langages de programmation.
Lint montre les erreurs de linting sur les commits et PRs de GitHub, permet la correction automatique des problèmes, et supporte de nombreux linters et formateurs.
Lint Action
Limite de taille
Compare le coût réel d'exécution de votre application JS ou de votre bibliothèque pour maintenir de bonnes performances dans chaque pull request.
Cette action utilise Size Limit (outil de budget de performance pour JavaScript) pour calculer le coût réel de votre JavaScript pour les utilisateurs finaux. Les principales fonctionnalités de cette action sont de commenter les pull requests en comparant les résultats de Size Limit et de rejeter une pull request si le coût dépasse la limite.
Size limit action
LibreSelery
Distribution continue de fonds aux contributeurs de votre projet et aux personnes qui en dépendent.
LibreSelery est un outil de distribution de fonds pour les projets libres et open source. Avec un nouveau modèle de financement, il offre une compensation transparente, automatisée et adaptable aux contributeurs. L'objectif est de remplacer autant que possible l'intermédiaire dans la distribution des dons par un algorithme libre et transparent. Contrairement à la plupart des autres systèmes de dons, LibreSelery propose uniquement un outil décentralisé et non une plateforme.
Filets de fermeture
Verrouille les problèmes fermés et les demandes d'extraction après une période d'inactivité.
L'action utilise le qualificatif de recherche mis à jour de GitHub pour déterminer l'inactivité. Toute modification d'un problème ou d'une demande d'extraction est considérée comme une mise à jour, y compris les commentaires, les changements d'étiquettes, l'application ou la suppression de jalons, ou l'ajout de commits. Lock Threads est une action GitHub qui verrouille les problèmes fermés et les pull requests après une période d'inactivité.
Lock Threads Action
Labellisation des demandes d'achat (Pull Request Labeler)
Etiqueter automatiquement une demande d'extraction en fonction des fichiers livrés.
Lors de la poussée, l'action sera déclenchée et recherchera les fichiers livrés sur la branche. Elle applique les étiquettes configurées chaque fois qu'elle trouve un fichier dont le nom correspond à l'expression régulière associée.
PR Labeler Action
alex
Il permet d'attraper les écrits insensibles et inconsidérés.
Alex vous aide à repérer les formulations favorisant le genre, polarisantes, liées à la race, à la religion ou toute autre formulation inégalitaire dans un texte.
Prochaines étapes
Il existe beaucoup d'autres outils d'automatisation qui peuvent améliorer votre flux de travail en tant que mainteneur. Je vous encourage à explorer d'autres options ou à essayer de créer votre propre outil !
Les applications Probot peuvent être écrites, déployées et partagées. La plupart des applications Probot les plus populaires sont hébergées, vous n'avez donc rien à déployer et à gérer. Vous pouvez également créer vos propres actions ou personnaliser des actions partagées par la communauté GitHub à l'aide de tutoriels.
Quels sont vos outils d'automatisation open source préférés ? En avez-vous créé un vous-même ? Faites-nous part de vos commentaires dans la section ci-dessous, sur Twitterou sur Communauté des développeurs de Vonage Slack!
Ressources complémentaires
Vonage est ravi d'être un partenaire du Hacktoberfest 2020. Nous ne sommes pas pas étrangers à l'open sourceavec nos bibliothèques, nos extraits de code et nos démonstrations sur GitHub. Pour vous immerger totalement dans les festivités, n'oubliez pas de consulter notre page Hacktoberfest pour plus de détails sur tout ce que nous avons prévu.
Vous trouverez également ci-dessous d'autres articles de blog relatifs à l'open source :
Partager:
Nahrin a été développeur éducateur pour Vonage. Elle est passionnée par la construction de communautés inclusives, la réponse aux besoins du monde réel avec des solutions logicielles pragmatiques, et la création d'un contenu technique accessible à tous les niveaux de compétence.