Dieser Ordner enthält GitHub-spezifische Konfigurationen und Workflows.
.github/
├── workflows/
│ └── ci.yml # Continuous Integration Pipeline
├── ISSUE_TEMPLATE/
│ ├── bug_report.md # Bug Report Template
│ └── feature_request.md # Feature Request Template
└── PULL_REQUEST_TEMPLATE.md # PR Template
Automatische Tests und Validierung auf jedem Push und PR:
- Bash Syntax Check: Überprüft Syntax aller Shell-Skripte
- ShellCheck Analysis: Statische Analyse für häufige Fehler
- Python Syntax Check: Python-Datei Validierung
- License Headers: Überprüft Apache-2.0 Header
- Documentation: Validiert dass alle Dokumentations-Dateien vorhanden sind
- File Permissions: Prüft Datei-Berechtigungen (+x für Skripte)
- Version Check: Validiert VERSION Format und CHANGELOG Update
- Security Check: Sucht nach hardcoded Secrets
- Markdown Check: Validiert Dokumentations-Links
Trigger: Automatisch auf:
- Push zu
mainoderdevelop - Pull Requests zu
main
Strukturiertes Format für Fehlerberichte mit:
- Version und System-Informationen
- Detaillierte Reproduktionsschritte
- Erwartetes vs. tatsächliches Verhalten
- Relevante Logs
Verwendet für: type: bug
Template für neue Feature-Vorschläge mit:
- Problem-Beschreibung
- Lösungs-Vorschlag
- Alternative Ansätze
- Priorität und Komponente
Verwendet für: type: feature oder type: enhancement
Einheitliches PR-Format mit:
- Beschreibung der Änderungen
- Art der Änderung (Bug/Feature/Breaking)
- Verknüpfte Issues
- Testing-Checkliste
- Code-Quality Anforderungen
Automatisch angewendet auf: Alle neuen PRs
Die CI/CD Pipeline enforces:
# Keine unquoted variables
wine "${WINE_CMD}" "$@" # ✅
wine $WINE_CMD $@ # ❌
# Explizite error handling
trap 'handle_error' ERR EXIT
# Explizite return codes
[[ condition ]] || return 1# Type hints (wo sinnvoll)
def install(profile: str) -> bool:
# Aussagekräftige Fehlermeldungen
logger.error("Failed to initialize Wine: %s", error)- Alle Features müssen dokumentiert sein
- Alle Code-Änderungen müssen CHANGELOG.md aktualisieren
- Links müssen funktionsfähig sein
- Keine hardcoded Credentials
- Keine SQL Injection Patterns
- Validierung aller Eingaben
- Sichere Default-Permissions
Für zukünftige Automatisierungen:
# Würde in GitHub Settings → Secrets definiert
DEPLOY_TOKEN # GitHub Release Token
DOCKER_USERNAME # Docker Hub Credentials
GPG_KEY_ID # GPG Signing Keymain
├── Letzte stabile Version
└── Nur tagged Releases
develop
├── Nächste Version in Entwicklung
└── Base für Feature-Branches
feature/xxx
└── Individuelle Features
hotfix/xxx
└── Kritische Bugfixes
-
Create Release Branch
git checkout -b release/v1.1.0
-
Update Version
echo "1.1.0" > VERSION nano CHANGELOG.md
-
Run Tests
make test -
Create PR zu
main -
GitHub Actions validiert automatisch
-
Merge & Tag
git tag -a v1.1.0 -m "Release v1.1.0" git push origin v1.1.0 -
GitHub Release wird erstellt
- Besuche: https://github.com/windowsbridge/windowsbridge/actions
- Überprüfe Failed Runs
- Beobachte Laufzeiten
- Offene Issues: https://github.com/windowsbridge/windowsbridge/issues
- Open PRs: https://github.com/windowsbridge/windowsbridge/pulls
- Diskussionen: https://github.com/windowsbridge/windowsbridge/discussions
# .github/workflows/new-workflow.yml
name: New Workflow
on:
schedule:
- cron: '0 0 * * 0' # Weekly
jobs:
job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: make testBei Fragen zu GitHub Konfiguration:
- Überprüfe CONTRIBUTING.md
- Öffne ein Issue mit
type: question - Kontaktiere das Team
Letzte Aktualisierung: 2026-01-24 Dokumentation Version: 1.0