Skip to content

Repository files navigation

CI Bot - GitHub Actions Test Failure Detection

🔥 NOUVEAU : Système de Popup d'Urgence avec Animation Pixel Art 🔥

Ce projet inclut maintenant un système de popup d'urgence spectaculaire qui affiche les erreurs de tests avec une animation de feu en pixel art !

Fonctionnalités du Popup

  • 🎨 Animation pixel art de feu en temps réel
  • 🚨 Fenêtre d'urgence de 900x700 pixels très visible
  • Animation de flash au démarrage
  • 📋 Copie automatique des erreurs dans le presse-papier
  • 🎯 Toujours au premier plan pour ne jamais manquer une erreur

📊 Rapports HTML pour CI/CD

En plus du popup, le système génère automatiquement des rapports HTML :

  • 🔥 Animation pixel art (comme le popup)
  • 📋 Liste complète de toutes les erreurs
  • 📍 Localisation précise de chaque erreur
  • 📝 Traceback complet pour analyse
  • 💾 Téléchargeable depuis GitHub Actions (artifacts)

Démarrage Rapide

Tester le popup immédiatement :

python test_popup_quick.py

Tester la génération de rapport HTML :

python3 test_html_report.py
# Ouvre le rapport généré dans error_reports/

Utiliser avec pytest (développement local) :

# Le popup s'affiche automatiquement en cas d'erreur
pytest

# Sans popup (génère quand même le rapport HTML)
pytest --no-popup

En CI/CD (GitHub Actions) :

  • L'option --no-popup est automatiquement configurée
  • Les rapports HTML sont uploadés comme artifacts
  • Téléchargez l'artifact "error-report" pour voir les détails

Guides complets :


Installation

Copier .github/workflows/ci-bot.yml et ci_agent.sh dans votre repo. Rendre exécutable : chmod +x ci_agent.sh

Variables

TEST_COMMAND (défaut: pytest -q), LOG_FILE (optionnel), ERROR_PATTERNS (défaut: FAILED|AssertionError|Traceback)

Comportement

Échec → imprime Erreur détectée + exit 1. Succès → exit 0. Exemple: ./ci_agent.sh "pytest -q" "" "FAILED|AssertionError"

Fichiers du Projet

Système de Popup d'Urgence et Rapports

  • src/error_popup.py - Système de popup avec animation pixel art (tkinter)
  • src/error_popup_web.py - Version web du popup (fallback)
  • src/error_report_generator.py - Générateur de rapports HTML
  • conftest.py - Plugin pytest pour intercepter les erreurs
  • demo_error_popup.py - Script de démonstration du popup
  • test_html_report.py - Script de test pour les rapports HTML
  • tests/test_error_popup_demo.py - Tests de démonstration
  • ERROR_POPUP_GUIDE.md - Guide complet du popup
  • HTML_REPORT_GUIDE.md - Guide complet des rapports HTML

Tests et Code

  • src/calculator.py - Module calculateur
  • tests/test_example.py - Tests de base
  • tests/test_math.py - Tests mathématiques avancés
  • pytest.ini - Configuration pytest

CI/CD

  • .github/workflows/ci-bot.yml - Workflow GitHub Actions (avec upload d'artifacts)
  • ci_agent.sh - Script de détection d'erreurs

Workflow Complet

Développement Local

1. Modifier le code
2. Exécuter: pytest
3. Si erreur → Popup s'affiche 🔥
4. Rapport HTML généré dans error_reports/
5. Corriger et réexécuter

CI/CD (GitHub Actions)

1. Push vers GitHub
2. Tests exécutés avec --no-popup
3. Si erreur → Rapport HTML généré
4. Rapport uploadé comme artifact
5. Télécharger depuis Actions → Artifacts
6. Ouvrir le HTML dans un navigateur

Exemples d'Utilisation

Voir un Popup d'Erreur

# Décommenter un test qui échoue dans tests/test_error_popup_demo.py
pytest tests/test_error_popup_demo.py::test_simple_assertion_failure

Générer un Rapport HTML

# Méthode 1: Test direct
python3 test_html_report.py

# Méthode 2: Via pytest
pytest tests/test_error_popup_demo.py::test_simple_assertion_failure --no-popup
# Rapport généré dans error_reports/

Consulter un Rapport en CI/CD

1. Allez sur GitHub → Actions
2. Cliquez sur une exécution échouée
3. Scrollez vers "Artifacts"
4. Téléchargez "error-report"
5. Ouvrez le HTML dans votre navigateur

Créé avec 🔥 pour une détection d'erreurs spectaculaire !

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages