Exercice 01 : Créer son premier workflow GitHub Actions
🎯 Objectifs
À la fin de cet exercice, vous serez capable de :
- ✅ Créer la structure
.github/workflows/dans un repository - ✅ Écrire un fichier workflow YAML valide
- ✅ Définir un job avec
runs-on: ubuntu-latest - ✅ Ajouter des steps avec
name:etrun: - ✅ Déclencher le workflow via
on: push
Durée estimée : 15 min | Difficulté : ⭐☆☆☆☆
📖 Contexte
GitHub Actions est un service d'automatisation intégré à GitHub. Chaque automatisation est décrite dans un fichier YAML appelé workflow, stocké dans .github/workflows/. Quand vous faites un git push, GitHub lit ce fichier et exécute les instructions sur une machine virtuelle hébergée par GitHub.
Un workflow est composé de :
on: les événements qui le déclenchentjobs: les ensembles de tâches à exécutersteps: les étapes individuelles à l'intérieur d'un job
📋 Énoncé
Vous allez créer un repository GitHub minimal et y ajouter votre premier workflow qui affiche un message de bienvenue et liste les fichiers du projet.
Résultat attendu :
- Un fichier
.github/workflows/bonjour.ymldans votre repo - Le workflow s'exécute automatiquement sur chaque push
- Les logs GitHub Actions affichent "Bonjour depuis GitHub Actions !"
🧭 Déroulement
Tâche 1 : Créer le repository et la structure
Créez un repository public github-actions-debutant sur GitHub. Clonez-le localement, puis créez le dossier .github/workflows/ à la racine du projet.
Indice :
mkdir -p .github/workflowscrée les dossiers imbriqués en une seule commande.
Vérification : La commande ls .github/workflows/ ne retourne pas d'erreur.
Tâche 2 : Créer le fichier workflow
Créez le fichier .github/workflows/bonjour.yml. Définissez le nom du workflow avec name: et configurez le déclencheur on: push pour que le workflow se lance sur chaque push vers n'importe quelle branche.
Indice :
`yamlname: Mon Premier Workflow
on: push
`
on: pushsans préciser de branche déclenche le workflow sur tous les pushs.
Vérification : Le fichier YAML existe et contient au minimum name: et on:.
Tâche 3 : Définir un job
Ajoutez un job nommé bonjour qui tourne sur ubuntu-latest. En GitHub Actions, un job est l'unité de base d'exécution - il tourne sur une machine virtuelle fraîche à chaque fois.
Indice :
`yamljobs:
bonjour:
runs-on: ubuntu-latest
`
Vérification : Le YAML est valide (indentation cohérente, pas de tabulations).
Tâche 4 : Ajouter des steps
Dans le job bonjour, ajoutez deux steps :
- Un step nommé
"Afficher un message"qui exécuteecho "Bonjour depuis GitHub Actions !" - Un step nommé
"Lister les fichiers"qui exécutels -la
Indice :
`yamlsteps:
- name: Afficher un message
run: echo "Bonjour depuis GitHub Actions !"
- name: Lister les fichiers
run: ls -la
`Chaque step a un
name:(optionnel mais recommandé) et une action :run:pour les commandes shell.
Vérification : Le fichier contient steps: avec au moins 2 entrées ayant chacune name: et run:.
Tâche 5 : Pousser et observer le workflow
Ajoutez le fichier au staging, commitez avec un message clair, et poussez vers GitHub. Rendez-vous sur l'onglet "Actions" de votre repository pour observer le workflow s'exécuter.
Indice : L'onglet Actions apparaît dans la barre de navigation de votre repository GitHub (entre "Pull requests" et "Projects").
Vérification : L'onglet Actions affiche un run avec un cercle vert ✅. En cliquant dessus, vous voyez les logs de chaque step.
🗂️ Mini-Projet
Étendez votre workflow pour qu'il affiche également la version d'Ubuntu et la date/heure d'exécution.
# Checkpoints à valider :
# [ ] Le fichier .github/workflows/bonjour.yml existe
# [ ] Le workflow se déclenche sur on: push
# [ ] Le job tourne sur ubuntu-latest
# [ ] Les logs affichent "Bonjour depuis GitHub Actions !"
# [ ] L'onglet Actions de GitHub montre un run vert
# [ ] Bonus : la version d'Ubuntu et la date sont affichéesCommandes utiles pour les steps bonus :
lsb_release -a # version Ubuntu
date # date et heure actuelles
uname -a # informations système complètes