Bilko CI — integration-test job (Testcontainers) MC #102843 — 2026-06-03 Summary MC #102843 adds an integration-test job to Bilko's .github/workflows/ci.yml . Previously the backend-test job ran only ./gradlew test , and tasks.test does excludeTags("integration") (apps/api/build.gradle.kts:159) — so the integrationTest task (Testcontainers/Postgres, includeTags("integration") ) never ran in CI . PRs that broke integration tests passed green (surfaced manually by Proveo during MC #102798). Change (PR #245, base main, not merged) New integration-test job: ubuntu-latest, Java 21, ./gradlew integrationTest --no-daemon in apps/api . Testcontainers spins its own Postgres (no services: block needed). Non-blocking for now ( continue-on-error: true , NOT in build needs: ). Why non-blocking (important) Running the suite revealed it is currently broken on main: ~78/1147 integration tests fail (FlywayMigrateException in SettingsServiceRlsTest, ExposedSQLException in VatReportStatutoryGroupingTest, and others). These had never run in CI. Making the job a required gate immediately would red-lock every PR. So the job is visible on every PR (failures now surface) but does not block merges yet. Path to required gate Tracked in MC #102874 (H): fix the 78 failing integration suites. Once green, promotion is a one-line CI change — remove continue-on-error: true and add integration-test to build needs: [lint, unit, backend-test, integration-test] . Verification CI run 26900887524 : integration-test job executed; log shows Task :integrationTest , 1147 tests / 78 failed, Testcontainers Postgres started. yaml-lint PASS, actionlint PASS, gitleaks 0, diff = ci.yml only. Independent pre-verifier (Company Mesh / Proveo): PASS — mesh-thr-8f34975b-a1ef-4d99-8bd8-cd9f894a022a . til-done: DONE — /tmp/til-done/102843-20260603T172857Z.json . Incident (logged, low severity) During implementation a build branch was accidentally pushed to origin/main (commit ecf5a97 ) and immediately reverted ( 036e2c6 ). It triggered bilko-stage-auto-deploy twice; both SUCCESS, change was ci.yml -only (no app artifact change), stage is non-customer-facing. origin/main verified clean afterwards. Lesson recorded: build agents must git push -u origin HEAD: and verify upstream ≠ origin/main (push to Bilko main auto-deploys stage).