Tests in der CI über den Build-Kontext statt per Bind-Mount
Docker-Image bauen / build (push) Successful in 1m31s

Der bisherige Schritt hängte das Arbeitsverzeichnis mit -v "$PWD":/app in
einen Container. Läuft der Gitea-Runner selbst in einem Container, zeigt
$PWD auf einen Pfad, den der Docker-Daemon des Hosts nicht kennt: der
Mount wäre leer, pytest fände keine Tests und meldete Erfolg. Wieder ein
Test, der nicht hätte fehlschlagen können.

Jetzt über Dockerfile.test - der Code kommt über den Build-Kontext hinein,
unabhängig davon, wie der Runner aufgebaut ist. tests/ bleibt dafür im
Kontext; das Anwendungs-Image kopiert sie weiterhin nicht mit.

Lokal genauso ausgeführt wie die CI es tun wird: 81 Tests grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GR4bNaj9GtRu57J4Niii8o
This commit is contained in:
2026-08-30 14:33:00 +02:00
co-authored by Claude Opus 5
parent 31f59fd3c8
commit 2a55dcf1ce
3 changed files with 26 additions and 5 deletions
+18
View File
@@ -0,0 +1,18 @@
# Nur zum Testen - baut die Testumgebung samt Quellcode ins Image.
#
# Bewusst ohne Bind-Mount: läuft der CI-Runner selbst in einem Container,
# zeigt $PWD auf einen Pfad, den der Docker-Daemon des Hosts nicht kennt.
# Der Mount wäre dann leer und die Tests liefen ins Leere - ohne
# Fehlermeldung. Über den Build-Kontext kommt der Code zuverlässig hinein.
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt requirements-dev.txt ./
RUN pip install --no-cache-dir -r requirements-dev.txt
COPY alembic.ini ./
COPY alembic/ ./alembic/
COPY app/ ./app/
COPY tests/ ./tests/
CMD ["python", "-m", "pytest", "-q"]