be7f615a4b
Rot ist ein Ergebnis: ohne echte Tests bleibt die Ampel rot. Teil der Wasserdicht-Runde 22.07.
46 lines
1.4 KiB
YAML
46 lines
1.4 KiB
YAML
# 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
|