Skip to content

Quadc0r3/GitActions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitActions Demo - Automatisierung mit GitHub Actions

Dieses Projekt demonstriert die Mächtigkeit von GitHub Actions für Python-Projekte. Es automatisiert das Testen, die Dokumentation und die Sicherheit deines Codes.

Features

  1. Automatische Testfall-Generierung: Bei jedem Push in den src/-Ordner prüft ein Workflow, ob für neue Python-Dateien bereits Test-Skelette in tests/ existieren. Falls nicht, werden diese automatisch erstellt und committet.
  2. Unit Tests: Bei jedem Commit werden alle Tests im tests/-Ordner mit pytest ausgeführt.
  3. Automatische Dokumentation: Die Datei DOKU.md wird automatisch aus den Docstrings deines Codes generiert und aktuell gehalten.
  4. Security Checks:
    • Bandit: Scant den Code auf bekannte Sicherheitslücken (z.B. unsichere Funktionsaufrufe).
    • Safety: Prüft installierte Abhängigkeiten auf bekannte Schwachstellen.

Projektstruktur

  • 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.

Wie es funktioniert

CI Workflow (ci.yml)

Läuft bei jedem push oder pull_request.

  • Installiert Abhängigkeiten.
  • Führt pytest aus.
  • Führt bandit für Code-Sicherheit aus.
  • Führt safety für Dependency-Sicherheit aus.

Automation Workflow (automation.yml)

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.

Voraussetzungen

  1. GitHub Berechtigungen: Stelle sicher, dass die GitHub-Aktionen Schreibrechte haben (Settings > Actions > General > Workflow permissions > Read and write permissions).
  2. 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 > Actions als neues Secret namens GOOGLE_API_KEY hinzu.
    • Ohne diesen Key werden weiterhin leere Test-Skelette (TODOs) erstellt.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages