Projet de démonstration pour le cours sur l'automatisation avec GitHub Actions.
Une calculatrice Python toute simple, accompagnée de 5 workflows GitHub Actions progressifs pour comprendre le CI/CD pas à pas.
demo-cicd-python/
├── .github/workflows/ ← les 5 workflows (du plus simple au plus avancé)
│ ├── 01-hello-world.yml
│ ├── 02-tests-basiques.yml
│ ├── 03-tests-complets.yml
│ ├── 04-matrix-testing.yml
│ └── 05-deploiement.yml
├── src/
│ └── calculator.py ← le code de la calculatrice
├── tests/
│ └── test_calculator.py ← les tests pytest
├── requirements.txt
└── requirements-dev.txt
# Installer les dépendances
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Lancer tous les tests
pytest tests/ -v
# Avec mesure de couverture
pytest tests/ --cov=src --cov-report=html- Créer un dépôt public sur GitHub (ex :
demo-cicd-python) - Cloner localement :
git clone https://github.com/TON-USER/demo-cicd-python.git - Copier tous les fichiers de ce dossier dans le clone
- Pousser :
git add . && git commit -m "init" && git push - Aller dans l'onglet Actions du dépôt → admirer les pipelines tourner ! 🎉
Le workflow 05-deploiement.yml se déclenche sur les tags. Pour le tester :
git tag v1.0.0
git push --tags→ Cela va lancer les tests, builder le package, et créer une release GitHub automatiquement.
Pour montrer en présentation ce qu'il se passe quand un test casse :
- Modifie
src/calculator.py: remplacereturn a + bparreturn a + b + 1 - Commit et push
- Va dans l'onglet Actions → tu verras le workflow échouer avec un ❌
N'oublie pas de remettre le code correct ensuite !