mirror of
https://github.com/Studio-Saelix/sencho.git
synced 2026-08-10 18:56:53 +00:00
61f1602ab8
Starts the already-loaded localhost/sencho:release-scan image headless on the runner and polls /api/health for up to 30 seconds. Catches entrypoint regressions, native module ABI breakage, and first-boot crashes on the exact artifact that the multi-arch push step below will republish moments later. Placed BEFORE the build-push step so a smoke failure does not move the `latest`, semver, or minor tags on Docker Hub. The image reused here is the same amd64 artifact Trivy scanned a step earlier, so there is no extra build or pull on the critical path. The container is started without --rm so that docker logs in the trap can surface the stack trace when the container crashes during boot; the trap force-removes it after capturing logs whether it exited or is still running. /api/health is public and returns before any DB, JWT, or Docker socket work, so no env vars, volume mounts, or bind mounts are required for the smoke test to be a valid signal that the process booted and the HTTP server is accepting connections.