Tests im Workflow als Gate #11

Open
opened 2026-09-22 13:24:13 +02:00 by Tom · 0 comments
Owner

dotnet test als Schritt in den Workflow aufnehmen, sodass ein roter Test den Build/Push stoppt. Baustein fuer das Health-Gate.


Zu beachten (Docker im Test-Schritt): Die Integrationstests (PocketBaseFixture)
starten selbst einen PocketBase-Container über docker compose (-p eb-test-stack,
aus compose.yaml + compose.dev.yaml + compose.test.yaml). Der CI-Runner braucht
also nicht nur das .NET-SDK, sondern eine funktionierende docker compose-Umgebung
im Test-Job. Der eigentliche Knackpunkt ist genau das (Docker-Socket / Docker-in-Docker
auf dem Runner), nicht der dotnet test-Aufruf selbst. Der bestehende Build-Job nutzt
docker/setup-buildx-action, das reicht aber nur zum Bauen — ein laufender Compose-Stack
im selben Job ist damit noch nicht garantiert. Alternativ ließen sich Unit-Tests (ohne
Docker) und Integrationstests trennen, damit wenigstens die Unit-Tests ohne Docker gaten.

dotnet test als Schritt in den Workflow aufnehmen, sodass ein roter Test den Build/Push stoppt. Baustein fuer das Health-Gate. --- **Zu beachten (Docker im Test-Schritt):** Die Integrationstests (`PocketBaseFixture`) starten selbst einen PocketBase-Container über `docker compose` (`-p eb-test-stack`, aus `compose.yaml` + `compose.dev.yaml` + `compose.test.yaml`). Der CI-Runner braucht also nicht nur das .NET-SDK, sondern eine funktionierende `docker compose`-Umgebung im Test-Job. Der eigentliche Knackpunkt ist genau das (Docker-Socket / Docker-in-Docker auf dem Runner), nicht der `dotnet test`-Aufruf selbst. Der bestehende Build-Job nutzt `docker/setup-buildx-action`, das reicht aber nur zum Bauen — ein laufender Compose-Stack im selben Job ist damit noch nicht garantiert. Alternativ ließen sich Unit-Tests (ohne Docker) und Integrationstests trennen, damit wenigstens die Unit-Tests ohne Docker gaten.
Tom added this to the Elternbeirat-Website milestone 2026-09-22 13:24:13 +02:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Tom/Elternbeirat#11