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.

  1. 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 : Transformation discussion en issue

  1. 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 : Renseignement des informations de l’Issue

  1. La développeuse analyse la demande directement depuis le GitHub CLI : Visualisation des informations de l’Issue depuis le GH CLI

  2. Elle continue en créant une Branche, installe la dépendance NPM et termine par commiter tout ça : Création de la branche Git en local

  3. Grâce au GitHub CLI elle crée directement la PR sur le projet : Création de la PR depuis GH CLI

  4. C’est parti pour la réalisation directement dans la PR : Ça bosse dur 01 Ça bosse dur, encore

  5. Une fois terminé, une vérification des vulnérabilités dans les dépendances NPM est réalisée directement depuis la PR : Vérification des dépendances

  6. 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 : Sponsoring P5.JS

  7. Maintenant que le développement est terminé, ils peuvent passer la PR en ‘Ready for Review’ : Passage en Ready for Review de la PR

  8. La CI vérifie que tout soit OK : Checks ok

  9. La PR peut maintenant être intégrée à la branche principale.

  10. 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 : Correction depuis Codespaces

    • La Pull Request peut être validée : Pull Request validée

  11. Une release peut être créée : Création d’une release

  12. C’est maintenant que GitHub Actions entre en scène :

    • Voici le workflow utilisé : Workflow GitHub Actions
    1. Construction de l’application et de la documentation
    2. Déploiement en environnement de test (staging)
    3. Déploiement en environnement de production
    • L’environnement de staging est prêt : Environnement Staging prêt
    • L’environnement de production quant à lui a une ‘Protection rule’ : Protection Rules environnement de production 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 : Validation du déploiement en production
    • L’environnement de production est déployé en 15 secondes : Production déployée
    • L’Issue peut maintenant être fermée : Fermeture de l’Issue

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 😄