Skip to content

Releases: TFDefect/TFDefectGA

🎯 TFDefectGA v1.0.4 – Support des historiques et compatibilité renforcée

Choose a tag to compare

@abdelhaouari abdelhaouari released this 12 Apr 16:31

🎯 TFDefectGA v1.0.4 – Support des historiques et compatibilité renforcée

Cette version introduit une gestion complète de l’historique des blocs (defect_history.json) et améliore la portabilité de l’action dans tous les projets Terraform.
Elle est conçue pour être utilisée aussi bien dans le dépôt principal que dans des forks externes.


✅ Changements :

  • 🔁 Restauration automatique de defect_history.json via download-artifact (avec continue-on-error)
  • 📥 Sauvegarde du fichier defect_history.json entre les exécutions
  • 🧠 Les métriques de processus sont conservées d’un run à l’autre pour permettre une analyse historique fiable
  • 🧹 Chemins de sauvegarde (out/) stabilisés et compatibles avec tous les runners GitHub
  • 🧪 Rollback propre à la version stable de l'action avant régressions récentes
  • 🛠️ Correction mineure dans config.py pour garantir la cohérence avec les artefacts

🧪 Utilisation recommandée :

- name: TFDefectGA
  uses: TFDefect/TFDefectGA@v1.0.4
  with:
    model: randomforest

🎉 TFDefectGA v1.0.3 - Patch sur l’utilisation du modèle

Choose a tag to compare

@abdelhaouari abdelhaouari released this 10 Apr 20:32

🎉 TFDefectGA v1.0.3 - Patch sur l’utilisation du modèle

Cette version corrige un bug où le champ model n’était pas reconnu dans certains contextes.
Elle garantit désormais que l’image Docker est toujours utilisée correctement, même en cas de checkout sur un commit antérieur.


✅ Changements :

  • 🔧 Correction : l’input model est désormais pris en compte même après un checkout sur un commit spécifique
  • 🐳 Forçage explicite de l’usage de l’image Docker via ghcr.io
  • 🛡️ Empêche les reconstructions inutiles de l’image dans GitHub Actions
  • 🔁 Compatibilité assurée avec les versions précédentes

🚀 Utilisation recommandée :

- name: TFDefectGA
  uses: TFDefect/TFDefectGA@v1.0.3
  with:
    model: randomforest

🎉 TFDefectGA v1.0.2 - Marketplace Ready & Docker Optimized

Choose a tag to compare

@abdelhaouari abdelhaouari released this 10 Apr 16:47

🎉 TFDefectGA v1.0.2 - Marketplace Ready & Docker Optimized

Cette version rend TFDefectGA entièrement fonctionnelle via GitHub Actions, même sur des projets externes !


✅ Nouveautés

  • ✅ Action exécutable directement via [docker://ghcr.io/abdelhaouari/tfdefectga:v1.0.2]
  • ✅ Chemin d'entrée explicite (python app/action_runner.py)
  • ✅ Fonctionne désormais même sans monter le code TFDefectGA (via Docker)
  • ✅ Compatible avec tous les projets .tf (via checkout + uses)
  • ✅ Mise à jour automatique dans le GitHub Marketplace

📦 Utilisation recommandée

- name: TFDefectGA
  uses: TFDefect/TFDefectGA@v1.0.2
  with:
    model: randomforest

📢 Release v1.0.1 – Improved Model Support & Marketplace Integration

Choose a tag to compare

@abdelhaouari abdelhaouari released this 10 Apr 16:12
26b737b

📢 Release v1.0.1 – Improved Model Support & Marketplace Integration

Cette mise à jour améliore l’intégration de TFDefectGA en tant qu’Action GitHub publiée et introduit une meilleure gestion des modèles de prédiction.


🔧 Nouveautés de la version v1.0.1

  • ✅ Publication officielle de l’Action sur le GitHub Marketplace
  • ✅ Support complet de l’appel via uses: TFDefect/TFDefectGA@v1.0.1
  • ✅ Ajout du préfixe docker:// dans action.yml pour utiliser l’image Docker distante (plus rapide, pas de build local)
  • ✅ Mise à jour du README.md avec :
    • La liste des modèles pris en charge (dummy, randomforest, lightgbm, logisticreg, etc.)
    • Un rappel que le fichier .csv des features doit être nommé comme le modèle (features/<model_name>_features.csv)
    • Une nouvelle section pour l'option --help de la commande principale
  • ✅ Meilleure gestion des erreurs liées aux inputs ou à l’historique Git
  • ✅ Nettoyage du code et améliorations de performance

🤖 Modèles actuellement pris en charge

  • dummy
  • randomforest
  • lightgbm
  • logisticreg
  • naivebayes

Tu peux facilement en ajouter d’autres via le dossier models/ et features/.


📦 Rappel : Fonctionnalités principales

  • 📂 Analyse des blocs Terraform modifiés (.tf)
  • 📊 Extraction de métriques : code (TerraMetrics), delta (diff Git), et process (historique Git)
  • 🧠 Prédictions avec modèles ML + scores de confiance
  • 📁 Historique des prédictions : defect_history.json
  • 📄 Rapport HTML interactif avec les résultats par bloc

Merci d’utiliser TFDefectGA ! 🚀
Pour toute question ou contribution, visitez le repo [TFDefect/TFDefectGA](https://github.com/TFDefect/TFDefectGA).

Version 1.0.0 – Initial Public Release: Predict Terraform Defects with Confidence

Choose a tag to compare

@abdelhaouari abdelhaouari released this 06 Apr 18:28
fbfe6b6

📢 Initial Public Release of TFDefectGA (v1.1.0)

TFDefectGA is a complete solution for analyzing Terraform code, extracting metrics, and predicting potential defects using Machine Learning – all integrated into a GitHub Action and fully Dockerized.

This release includes everything you need to automatically assess Terraform files during CI/CD pipelines or from local runs.


🧠 Core Capabilities

  • ✅ Terraform block analysis from .tf files
  • ✅ Extraction of 3 types of metrics:
    • 📦 Code metrics (e.g., complexity, duplication via TerraMetrics)
    • 🔁 Delta metrics (before/after changes between commits)
    • 🧑‍💻 Process metrics (Git history, number of authors, time intervals, etc.)
  • ✅ Change detection at the block level via Git diff
  • ✅ Modular metric extractors (codemetrics, delta, process)
  • ✅ Historical tracking of predictions in defect_history.json
  • ✅ Beautiful HTML reports with prediction results per block

🤖 Machine Learning & Prediction

  • 🧠 Built-in ML model support (e.g. DummyModel, RandomForestClassifier)
  • 🧪 Models predict whether a Terraform block is fault_prone (0 = Clean, 1 = Defective)
  • 📊 Confidence score included using predict_proba() (e.g., Confidence Score: 0.76)
  • 📈 defect_history.json keeps predictions per block per commit, used to compute historical metrics like num_defects_before

📋 How It Works

  1. Detect changed Terraform blocks using Git
  2. Extract metrics from code, Git history, and diffs
  3. Build feature vectors for ML models
  4. Run predictions with confidence scores
  5. Update defect history, generate report, and display summary

📊 Output Files

  • out/code_metrics.json
  • out/delta_metrics.json
  • out/process_metrics.json
  • out/defect_history.json
  • out/reports/report_<timestamp>.html

📌 What's New in This Version

  • ✅ Full pipeline from metrics -> predictions -> reporting
  • ✅ Docker support + Terraform installed
  • ✅ Confidence scores in console + reports
  • ✅ Dynamic feature count shown in model description
  • ✅ terraform fmt run before analysis
  • ✅ Complete documentation in README.md

Thanks for checking out TFDefectGA! 💙
Stay tuned for upcoming features like real-time alerting, more ML models, and advanced visualization.