Ce projet utilise un workflow unique GitHub Actions qui combine :
- 🧪 Tests automatiques pour les Pull Requests
- 🚀 Déploiement automatique sur GitHub Pages
Le workflow se déclenche lors de :
- ✅ Push sur
mainoumaster→ Build + Déploiement - ✅ Pull Request → Build + Tests seulement
- ✅ Déclenchement manuel via l'interface GitHub
graph LR
A[Création PR] --> B[Build + Tests]
B --> C[Artifacts sauvés]
C --> D[Review possible]
D --> E[Merge] --> F[Déploiement auto]
graph LR
A[Push sur main] --> B[Build + Tests]
B --> C[Deploy vers gh-pages]
C --> D[Site mis à jour]
Une fois déployé, votre documentation sera accessible sur :
https://pantheon-lab.github.io/
- Checkout du code source
- Configuration des credentials Git
- Installation de Python 3.11
- Cache des dépendances (optimisation)
- Installation depuis
requirements.txt - Build MkDocs avec logs verbeux
- Validation du build
- Statistiques du site généré
- Résumé des résultats
- 📦 Upload artifacts (site généré)
- 📋 Résumé PR avec infos détaillées
- ⏳ Attente du merge pour déploiement
- 🚀 Déploiement vers GitHub Pages
- 🌐 Mise à jour du site
- 📊 Résumé du déploiement
- Repository public ou GitHub Pro/Team
- Permissions
contents: write - Fichier
mkdocs.ymlvalide - Fichier
requirements.txtavec dépendances
- Settings → Pages
- Source :
Deploy from a branch - Branch :
gh-pages(créée automatiquement) - Folder :
/ (root)
- Actions → Documentation CI/CD
- Voir les runs récents
- Consulter les logs détaillés
Pour les PR, les artifacts sont disponibles :
- Cliquez sur le run de la PR
- Section Artifacts
- Téléchargez
mkdocs-site-pr-XXX
# Testez localement
mkdocs build --verboseVérifiez requirements.txt :
mkdocs>=1.5.0
mkdocs-material>=9.0.0
mkdocs-git-revision-date-localized-plugin>=1.2.0
pymdown-extensions>=10.0.0
setuptools>=78.1.1Vérifiez dans Settings → Pages que :
- Source =
Deploy from a branch - Branch =
gh-pages
Le workflow utilise --verbose pour diagnostiquer les problèmes.
- 🎯 Un seul fichier à maintenir
- 📝 Configuration centralisée
- 🔧 Moins de complexité
- ⚡ Build unique pour test et déploiement
- 💾 Cache partagé entre PR et main
- 🔄 Logique conditionnelle intelligente
- 🔒 Pas de déploiement depuis les PR
- ✅ Tests obligatoires avant merge
- 🛡️ Permissions minimales
# 1. Créer une branche
git checkout -b feature/nouvelle-section
# 2. Modifier la documentation
vim docs/nouvelle-section.md
# 3. Commit et push
git add .
git commit -m "Add nouvelle section"
git push origin feature/nouvelle-section
# 4. Créer PR → Build automatique + Artifacts# Push direct sur main → Build + Deploy
git push origin main✨ Un seul workflow, deux fonctions : Test et Déploiement ! ✨