From be7f615a4b6da506623628d0e0c3bbf1d267104e Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Wed, 22 Jul 2026 18:56:28 +0200 Subject: [PATCH] CI-Ampel: Gitea Actions Workflow (Linter, Deps, Imports, Pytest, UI-Build) Rot ist ein Ergebnis: ohne echte Tests bleibt die Ampel rot. Teil der Wasserdicht-Runde 22.07. --- .gitea/workflows/ci.yml | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .gitea/workflows/ci.yml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..7682023 --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,45 @@ +# 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