Comment GitHub utilise... GitHub ?
La vidéo d’opening de la GitHub Universe 2020 est très intéressante.
Je vous laisse la découvrir par vous-même :
Nous allons ensemble décortiquer cette vidéo étape par étape.
- Tout commence par la rédaction d’une idée dans le fil Discussions.
Si l’idée convainc alors l’équipe transforme directement la discussion en Issue :

- Un fois l’Issue créée, le débat technique est lancé : comment réaliser cette évolution ?
L’Issue est complétée avec toutes les informations requises :

- La développeuse analyse la demande directement depuis le GitHub CLI :  
- Elle continue en créant une Branche, installe la dépendance NPM et termine par commiter tout ça :  
- Grâce au GitHub CLI elle crée directement la PR sur le projet :  
- C’est parti pour la réalisation directement dans la PR :    
- Une fois terminé, une vérification des vulnérabilités dans les dépendances NPM est réalisée directement depuis la PR :  
- Cette évolution utilise beaucoup la dépendance NPM P5.js. L’équipe de développement voulant que le code soit maintenu, ils décident alors de financer celle-ci :  
- Maintenant que le développement est terminé, ils peuvent passer la PR en ‘Ready for Review’ :  
- La CI vérifie que tout soit OK :  
- La PR peut maintenant être intégrée à la branche principale. 
- Ryan valide l’intégration dans la branche principale - Mais il y a un soucis, la lettre ‘h’ de GitHub est en minuscule. Il décide de corriger lui-même depuis sont iPad avec Codespaces :  
- La Pull Request peut être validée :  
 
- Une release peut être créée :  
- C’est maintenant que GitHub Actions entre en scène : - Voici le workflow utilisé :
 
 - Construction de l’application et de la documentation
- Déploiement en environnement de test (staging)
- Déploiement en environnement de production
 - L’environnement de staging est prêt :
 
- L’environnement de production quant à lui a une ‘Protection rule’ :
 Ici, seul les utilisateurs de la team octocademy/dev pourrons valider le déploiement de cet environnement Ici, seul les utilisateurs de la team octocademy/dev pourrons valider le déploiement de cet environnement
- Une fois la version validée en environnement de staging, les utilisateurs valident le déploiement en production :
 
- L’environnement de production est déployé en 15 secondes :
 
- L’Issue peut maintenant être fermée :
 
 
- Voici le workflow utilisé :
L’analyse de la vidéo est maintenant terminée.
J’espère avoir répondu à certaines de vos interrogations sur les process utilisés par GitHub 😄