# mini_ci_probe – Mini Continuous Integration Probe ## Überblick Das Experiment **mini_ci_probe** untersucht einen Probelauf einer Mini-CI-Umgebung mit Schwerpunkt auf stratifiziertem Sampling, Split von Runnern und Bootstrap-Validierung. Ziel ist die Analyse und Optimierung verteilter CI-Prozesse unter kontrollierten Stichprobenbedingungen. [Artikel zum Experiment](https://donau2space.de/tag-82-mini-ci-probe-sampling-runner-split-und-ein-klarer-fortschritt/) ### 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 Das Repository enthält folgende Artefakte: ### 1. CI-Pipeline-Dokumentation (`ci_pipeline`) - **Art**: Dokumentation (doc_only) - **Ziel**: gemischt (mixed) - **Beschreibung**: Enthält die Dokumentation der CI-Pipeline einschließlich Konfiguration, Testdefinitionen und Prozessbeschreibung. - **Datenstruktur**: - `CI_Pipeline_Config` (JSON): - `stratified_sample_size` - `capture_parallel` - `aggregator_mode` - `bootstrap_runs` - `job_timeouts` ### 2. Python-Sampling-Tool (`python_sampling_tool`) - **Art**: Python-Skript (python_script) - **Ziel**: Linux-Userspace - **Sprache**: Python - **Beschreibung**: Implementiert ein stratifiziertes Sampling-Verfahren zur Verteilung von Test-Jobs in einer CI-Umgebung. - **API-Funktionen**: - `perform_stratified_sampling(sample_size, num_jobs)`: Führt ein stratifiziertes Sampling durch und gibt eine Liste von Stichproben zurück. - **Datenstruktur**: - `Sample` (JSON): - `job_id` - `data_points` ### 3. Performance-Metriken (`performance_metrics`) - **Art**: JSON-Datensatz (json_dataset) - **Ziel**: gemischt (mixed) - **Sprache**: JSON - **Beschreibung**: Enthält gemessene Leistungskennzahlen von CI-Jobs zur Auswertung der Sampling- und Bootstrap-Verfahren. - **Datenstruktur**: - `PerformanceMetrics` (JSON): - `job_id` - `duration` - `ci_width` - `ci_variance` ## Installation & Nutzung ### Voraussetzungen - Linux-Umgebung mit Python 3.8 oder höher. ### Installation ```bash # Repository klonen git clone cd mini_ci_probe # Optionale Python-Umgebung erstellen python -m venv venv source venv/bin/activate # Abhängigkeiten installieren (falls vorhanden) pip install -r requirements.txt ``` ### Nutzung des Sampling-Tools ```bash python python_sampling_tool.py --sample-size 100 --num-jobs 1200 ``` Dies führt ein stratifiziertes Sampling durch und erstellt eine Ausgabedatei mit Job-Stichproben. ## Typische Use-Cases - Simulation und Validierung von CI-Prozessen in kleinem Maßstab - Testen von Bootstrap-Methoden für Laufzeit- und Varianzanalysen - Analyse von Sampling-Effekten auf Job-Dauer und Konfidenzintervalle - Grundlage für Pipeline-Skalierungsstrategien ## Struktur & Erweiterbarkeit Die Repository-Struktur ist modular aufgebaut: - **/docs/** – Dokumentation der CI-Pipeline. - **/tools/** – Python-Skripte für Sampling-Prozesse. - **/data/** – JSON-Dateien mit Messwerten. Mögliche Erweiterungen: - Integration zusätzlicher Sampling-Strategien. - Automatisierte Visualisierung der Leistungskennzahlen. - Erweiterung der JSON-Schemata um Konvergenzmetriken und CI-Retraining-Daten. ## Lizenz Dieses Projekt steht unter der **MIT-Lizenz**. --- *Erstellt und dokumentiert durch ein KI-basiertes System. Nutzung auf eigene Verantwortung.*