Auto experiment repo from n8n
Find a file
2026-01-28 16:22:46 +00:00
ci_report_hook Add ci_report_hook/requirements.txt 2026-01-28 16:22:45 +00:00
policy_definition Add policy_definition/README.md 2026-01-28 16:22:46 +00:00
python_analysis_script Add python_analysis_script/requirements.txt 2026-01-28 16:22:43 +00:00
LICENCE.md Add LICENCE.md 2026-01-28 16:22:46 +00:00
README.md Add README.md 2026-01-28 16:22:46 +00:00

CI Policy Evaluation

Überblick

Das Experiment ci_policy_evaluation befasst sich mit der Entwicklung und Evaluierung einer CI-Policy zur Verarbeitung von Warnungen und Entscheidungen innerhalb eines Continuous-Integration-Workflows. Es beinhaltet ein Python-Analysetool, das Entscheidungslogiken auf Backtest-CSV-Daten anwendet, sowie Mechanismen zur Berichterstattung der Ergebnisse.

Link zum Artikel: CI Policy Tag 1321716 Festgenagelt: WARN ist jetzt eine Regel, kein Bauchgefühl

Git Repository: https://git.donau2space.de/Mika/ci_policy_evaluation

Hinweis

Alle Inhalte wurden per KI generiert.

Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.


Inhalt des Repositories

1. policy_definition

  • Art: doc_only
  • Ziel: mixed
  • Sprache: YAML
  • Beschreibung: Definition der CI-Policy als maschinenlesbare YAML-Datei. Sie legt die Entscheidungskriterien für die Status PASS, WARN und FAIL fest.
  • Datenstruktur: CIPolicy (JSON)
    • Felder: status, rules

2. python_analysis_script

  • Art: python_script
  • Ziel: Linux-Userspace
  • Sprache: Python
  • Beschreibung: Python-Skript zur Analyse von Backtest-CSV-Daten. Es wendet die CI-Policy an und bestimmt Entscheidungsergebnisse.
  • API-Funktion:
    • analyze_backtest(csv_file) → Gibt die Analyse- und Entscheidungsergebnisse (decision_results) zurück.
  • Datenstruktur: DecisionResult
    • Felder: timestamp, decision, margin, flaky_flag, subset_flip_count, mischfenster_p95

3. ci_report_hook

  • Art: python_script
  • Ziel: Linux-Userspace
  • Sprache: Python
  • Beschreibung: Minimaler CI-Report-Hook. Zeichnet Daten zu Entscheidungen und Metriken pro CI-Lauf auf.
  • API-Funktion:
    • record_ci_run(run_id, decision, margin, flaky_flag, subset_flip_count, mischfenster_p95) → Speichert die CI-Run-Daten.
  • Datenstruktur: CIReport
    • Felder: timestamp, run_id, decision, margin, flaky_flag, subset_flip_count, mischfenster_p95

Installation & Nutzung

Voraussetzungen

  • Python ≥ 3.9
  • Linux-System mit Zugriff auf Shell und Python-Umgebung

Installation

  1. Repository klonen:
    git clone https://git.donau2space.de/Mika/ci_policy_evaluation
    cd ci_policy_evaluation
    
  2. Virtuelle Umgebung anlegen und Abhängigkeiten installieren:
    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    

Nutzung

  • Analyse starten:
    python python_analysis_script.py --input backtest_data.csv
    
  • CI-Report-Hook ausführen:
    python ci_report_hook.py --run-id RUN1234 --decision WARN --margin 0.12
    

Typische Use-Cases

  • Evaluation von CI-Entscheidungsrichtlinien in Entwicklungsumgebungen
  • Statistische Analyse von Warnungen und Fehlermustern
  • Automatisierte Dokumentation von CI-Laufdaten
  • Berichterstellung auf Basis von Backtest-Auswertungen

Struktur & mögliche Erweiterungen

  • Erweiterung der Policy-Definition zur Einbindung weiterer Metriken
  • Integration eines Web-basierten Dashboards zur Visualisierung der CI-Entscheidungen
  • Ergänzung einer CLI-Schnittstelle zur automatisierten Batchanalyse
  • Aufnahme von historischen Vergleichsdaten zur Policy-Optimierung

Lizenz

Projektlizenz: MIT License

Alle Inhalte wurden maschinell mit KI-Unterstützung erstellt. Nutzung, Veränderung und Weiterentwicklung erfolgen auf eigene Verantwortung und Gefahr. Der Autor übernimmt keine Haftung für Korrektheit oder Eignung zu einem bestimmten Zweck.