The pipeline ran py_compile plus four unit tests, then built and called the Portainer webhook. None of that starts the application, so a missing import in local/auth.py passed every check and reached production, where it returned 500 on every session, login and registration. Add an integration job that builds the localhost stack and runs the suites that already existed but were never executed automatically: smoke, workflow, security, scanning, retention, runtime security, and the two browser tests. publish-and-deploy now depends on it, so a failure blocks the deploy instead of shipping. Verified by reintroducing the original defect: py_compile and the unit tests still passed, and smoke_test failed on /session, which would have stopped the release. The browser tests need a real Chrome and are skipped with a warning when the runner has none; installing google-chrome-stable or setting CHROME_BIN makes them gate too. Every other suite gates unconditionally. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
5.0 KiB
5.0 KiB