Skip to content

Commit 419c498

Browse files
committed
ci: make the integration suite a blocking gate
The suite is now fully green (all harnesses apply the full migration chain; RLS tests run under the non-superuser rls_app role), so drop continue-on-error — a regression in the real-DB / RLS / migration path now fails CI instead of shipping.
1 parent bddcbdf commit 419c498

1 file changed

Lines changed: 5 additions & 15 deletions

File tree

.github/workflows/ci.yml

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -79,23 +79,13 @@ jobs:
7979
# The real-DB / RLS / tenant-isolation suite. testcontainers uses the
8080
# runner's Docker. REMNACORE_REQUIRE_INTEGRATION turns "Docker unavailable"
8181
# from a silent skip into a hard failure so this job can't go green vacuously.
82+
# BLOCKING: every harness applies the full migration chain (allMigrationScripts)
83+
# and RLS tests run under the NON-superuser rls_app role, so this is a real gate.
8284
#
83-
# NON-BLOCKING for now: the first CI run of this suite (it had never run in
84-
# CI) surfaced PRE-EXISTING rot — several harnesses apply a stale SUBSET of
85-
# migrations via WithInitScripts, so later-migration columns
86-
# (must_change_password, outbox.entity_id/sequence_number, …) are missing
87-
# and ~30 tests fail with "column does not exist". Fixing that means pointing
88-
# every harness at the full migration set and re-verifying against Docker,
89-
# which the dev env lacks. Until then the migrations-apply-on-clean-DB step
90-
# above is the hard gate (it catches the deploy-breaking migration class),
91-
# and the unit-level platform-scope guard covers the auth-under-RLS class.
92-
# TODO: repair the harnesses (apply full migrations) and drop continue-on-error.
93-
#
94-
# TestExplain* are excluded regardless: they assert query-planner choices
95-
# (index vs seq scan), which are inherently data-size/stats-dependent and
96-
# flaky on CI's tiny datasets — a performance check, not a correctness gate.
85+
# TestExplain* are excluded: they assert query-planner choices (index vs seq
86+
# scan), which are inherently data-size/stats-dependent and flaky on CI's
87+
# tiny datasets — a performance check, not a correctness gate.
9788
- name: Integration tests (-tags=integration)
98-
continue-on-error: true
9989
env:
10090
REMNACORE_REQUIRE_INTEGRATION: "1"
10191
run: go test -tags=integration -count=1 -skip 'TestExplain' ./internal/adapter/postgres/... ./tests/integration/...

0 commit comments

Comments
 (0)