3.8 KiB
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 132–1716 – 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
- Felder:
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
- Felder:
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
- Felder:
Installation & Nutzung
Voraussetzungen
- Python ≥ 3.9
- Linux-System mit Zugriff auf Shell und Python-Umgebung
Installation
- Repository klonen:
git clone https://git.donau2space.de/Mika/ci_policy_evaluation cd ci_policy_evaluation - 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.