Dieses Projekt demonstriert die Mächtigkeit von GitHub Actions für Python-Projekte. Es automatisiert das Testen, die Dokumentation und die Sicherheit deines Codes.
- Automatische Testfall-Generierung: Bei jedem Push in den
src/-Ordner prüft ein Workflow, ob für neue Python-Dateien bereits Test-Skelette intests/existieren. Falls nicht, werden diese automatisch erstellt und committet. - Unit Tests: Bei jedem Commit werden alle Tests im
tests/-Ordner mitpytestausgeführt. - Automatische Dokumentation: Die Datei
DOKU.mdwird automatisch aus den Docstrings deines Codes generiert und aktuell gehalten. - Security Checks:
- Bandit: Scant den Code auf bekannte Sicherheitslücken (z.B. unsichere Funktionsaufrufe).
- Safety: Prüft installierte Abhängigkeiten auf bekannte Schwachstellen.
src/: Dein Programmcode.tests/: Deine Unit Tests (werden teils automatisch generiert).scripts/: Hilfsskripte für die Automatisierung..github/workflows/: Die Konfigurationsdateien für die GitHub Actions.DOKU.md: Die automatisch generierte Dokumentation.
Läuft bei jedem push oder pull_request.
- Installiert Abhängigkeiten.
- Führt
pytestaus. - Führt
banditfür Code-Sicherheit aus. - Führt
safetyfür Dependency-Sicherheit aus.
Läuft bei jedem push, der Änderungen im src/-Verzeichnis enthält.
- Generiert Test-Skelette für neue Funktionen.
- Aktualisiert die
DOKU.md. - Commit & Push: Schreibt die Änderungen automatisch zurück in dein Repository.
- GitHub Berechtigungen: Stelle sicher, dass die GitHub-Aktionen Schreibrechte haben (
Settings > Actions > General > Workflow permissions > Read and write permissions). - AI Test-Generierung (Optional):
- Gehe zu Google AI Studio und erstelle einen kostenlosen API-Key für Gemini.
- Füge diesen Key in deinem GitHub Repository unter
Settings > Secrets and variables > Actionsals neues Secret namensGOOGLE_API_KEYhinzu. - Ohne diesen Key werden weiterhin leere Test-Skelette (TODOs) erstellt.