# CI-Ampel für Rippy — läuft bei jedem Push auf dem Gitea-Runner (arcane-VM). # Zweck: „Erfundenes" mechanisch fangen, bevor irgendwas „fertig" heißen darf. # ROT ist ein Ergebnis, kein Ärgernis: Stand 22.07. ist ROT korrekt, weil es # noch keine echten Tests gibt (test_health.py hat kein einziges assert). name: CI on: [push, pull_request] jobs: api-und-worker: runs-on: ubuntu-latest container: python:3.12-slim steps: - uses: actions/checkout@v4 - name: Ruff (Linter — findet toten Code, kaputte Imports, Schlampereien) run: | pip install -q ruff ruff check docker/api docker/worker udev - name: Abhängigkeiten installierbar? (halluzinierte Pakete fliegen hier auf) run: | pip install -q -r docker/api/requirements.txt pip install -q -r docker/worker/requirements.txt - name: Importierbar? (kaputte Modul-Struktur fliegt hier auf) run: | python -m compileall -q docker/api docker/worker udev - name: Pytest (KEINE Tests gefunden = ROT — Tests sind Pflicht, kein Deko) run: | pip install -q pytest pytest docker -q ui: runs-on: ubuntu-latest container: node:22 steps: - uses: actions/checkout@v4 - name: UI baut? (TypeScript-Fehler + kaputte Imports fliegen hier auf) working-directory: docker/ui run: | npm ci --no-audit --no-fund npm run build