Introduction à GitHub Actions

CI/CD pour le Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Qu'est-ce que GitHub Actions ?

  • GitHub Actions (GHA) : plateforme CI/CD pour automatiser des pipelines
  • Pipeline : enchaînement d'étapes représentant le flux de travail et de données
CI/CD pour le Machine Learning

Qu'est-ce que GitHub Actions ?

Image d'une chaîne de montage automobile où des personnes exécutent des tâches à chaque étape : poser le moteur, installer les roues et peindre la carrosserie.

CI/CD pour le Machine Learning

Qu'est-ce que GitHub Actions ?

GitHub Actions crée une série d'actions ou d'étapes définies pour un projet logiciel : cloner le dépôt, compiler le code, exécuter des tests, déployer l'application.

1 https://medium.com/empathyco/applying-ci-cd-using-github-actions-for-android-1231e40cc52f
CI/CD pour le Machine Learning

Composants GHA : Événement

  • Événement : activité précise dans un dépôt qui déclenche un flux de travail
    • Push
    • Pull Request
    • Ouverture d'un billet
CI/CD pour le Machine Learning

Composants GHA : Workflow

  • Workflow : processus automatisé exécutant un ou plusieurs travaux
    • Défini dans des fichiers YAML
    • Déclenché automatiquement par un événement
      • Exécution manuelle possible
    • Situé dans le répertoire .github/workflows du dépôt
    • Plusieurs workflows possibles
CI/CD pour le Machine Learning

Composants GHA : Steps et Actions

  • Steps : unités de travail individuelles
    • Exécutées en ordre, dépendent de l'étape précédente
    • S'exécutent sur la même machine ; les données peuvent être partagées
    • Exemples d'unités de travail
      • Application compilée, script shell
      • Action : application propre à GHA
        • P. ex. cloner le dépôt, commenter une PR
CI/CD pour le Machine Learning

Composants GHA : Jobs et Runners

  • Job : ensemble de steps
    • Chaque job est indépendant
    • Exécution en parallèle possible
    • Exécuté sur la machine de calcul appelée runner
CI/CD pour le Machine Learning

Un workflow GHA simple

Image d'un événement push dans un dépôt qui déclenche un workflow où un seul job s'exécute sur un runner Ubuntu Linux. Le job contient deux steps : cloner le dépôt et exécuter du code Python.

  • Événement : Push
  • Job : s'exécute sur un runner Ubuntu, comporte deux steps
    • Action : Checkout Repo
    • Exécuter du code Python
CI/CD pour le Machine Learning

Tout assembler

Image des composants typiques d'un workflow GitHub Actions illustrant des jobs parallèles et des steps séquentiels.

CI/CD pour le Machine Learning

Passons à la pratique !

CI/CD pour le Machine Learning

Preparing Video For Download...