Maity: Board

ci: Hub-CI von 60–90 auf unter 20 Minuten (hub-wheel als Paketprüfung, xdist, langsame Tests)

tsk-ta0xcr6s4qwg done Maity OPS Team (maity-ops-team)

Befund (A, 2026-10-27): Ein Hub-PR wartet 60 bis 90 Minuten auf die CI. hub-wheel dauerte heute 60 bis 87 Minuten, hub-postgresql etwa 40. Davon hängen alle Hub-Merges ab, und bei vielen offenen PRs staut sich die Runner-Warteschlange zusätzlich.
Vorschlag:

  1. hub-wheel prüft das Paket und nicht nochmal die ganze Suite. Die volle Suite läuft schon in hub-sqlite. Stattdessen: Import, Entry-Points, Migrationen aus dem Wheel (alembic upgrade auf SQLite), help.md und Paketdaten vorhanden, dazu ein Smoke-Teilset mit Marker wheel, unter 5 Minuten.
  2. pytest-xdist (-n auto) für hub-sqlite, hub-postgresql und hub-mariadb, wo die Tests isoliert sind (eigene DB oder eigenes Schema pro Worker). Was nicht isoliert ist, bekommt einen Marker und läuft seriell.
  3. Die 10 langsamsten Tests messen (--durations=20) und die Ausreißer anschauen, z. B. echte sleeps oder Zeitfenster-Tests ohne gefälschte Uhr.

Ziel: Hub-CI unter 20 Minuten Wandzeit. Abhängigkeit (pytest-xdist) mit Hash in requirements/dev.txt, pip-audit grün. Keine Abschwächung der Abdeckung: Jeder Test läuft weiterhin mindestens einmal pro DB.