'docker compose up -d' returns once containers start, so a container that
crashes on boot (as the api did on the DB password mismatch) still reported
success. Poll the frontend and api endpoints after deploy and fail the job,
dumping api logs, if either isn't serving within ~60s. ASCII only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Real CI at .gitea/workflows/ci.yml (Gitea reads .gitea/workflows, not the empty
untracked .git/workflows/ci.yml cruft): backend dotnet build + dotnet test (39 tests)
and frontend npm ci + build, on pushes to main/develop and all PRs. Establishes the
merge gate recommended in the Phase 7 git-workflow review.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>