feat: sys-2 Edge-Queue — Signatur-Prüfung, Dedup, asynchrone Verarbeitung
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m21s
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m21s
- webhook_queue.py: WhatsApp X-Hub-Signature-256 + Telegram Webhook-Intake - queue_handler.py: SQLite-basierte Queue mit Idempotenz (UNIQUE message_id) - queue_worker.py: Asynchroner Worker für GPU-Verarbeitung - app.py: Webhooks umgebaut → sofort 200 OK, Worker verarbeitet später - Redis 8.0 läuft als Infrastruktur (Queue ist SQLite für Persistenz)
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# BSN-Chatsystem — CI Quality Gate
|
||||
# Läuft bei JEDEM Push. Kein --no-verify-Umgehen möglich.
|
||||
# Konfiguriert für Python 3.13 + Ruff 0.15 + mypy 2.1
|
||||
|
||||
name: Quality Gate
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main, develop, "feature/**", "fix/**"]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
quality:
|
||||
name: "🛡️ Lint + Type Check + Tests"
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
|
||||
steps:
|
||||
- name: 📥 Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 🐍 Python 3.13
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.13"
|
||||
|
||||
- name: 📦 Dependencies
|
||||
run: |
|
||||
pip install ruff mypy pytest pytest-cov
|
||||
# Projekt-spezifische Deps (falls requirements.txt existiert)
|
||||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
||||
|
||||
# ── Linting + Sicherheit ──
|
||||
- name: 🔍 Ruff — Linting + Sicherheit
|
||||
run: ruff check . --output-format=github
|
||||
|
||||
# ── Formatierung ──
|
||||
- name: 🎨 Ruff — Formatierung
|
||||
run: ruff format --check .
|
||||
|
||||
# ── Typ-Prüfung ──
|
||||
- name: 🔎 mypy — Statische Typ-Prüfung
|
||||
run: mypy . --strict
|
||||
|
||||
# ── Tests + Coverage ──
|
||||
- name: 🧪 pytest — Tests + Coverage
|
||||
run: pytest --cov --cov-fail-under=80 --tb=short
|
||||
Reference in New Issue
Block a user