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.
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user