feat(ci): split check into fast and Postgres-backed integration gates #230
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/pms-267-split-fast-integration-ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Split the single combined
checkCI job into two workflows, and align the local hooks, so the fast gate is not blocked on a Postgres spin-up and a green hook corresponds one-to-one to a green CI gate.check.ymlis now the fast, database-free gate: migration-prefix check, fmt, clippy,cargo check --all-targets,cargo test --lib,cargo test --doc. Removed the Postgresservices:block and job-levelDATABASE_URL.integration.ymlcarries the Postgres-backed suite: sameon:triggers,postgres:18.2-alpine3.23with the existing health-check options,DATABASE_URL, and onecargo test --tests -- --test-threads=4step (comments preserved).justfile:pre-commitdrops its integration step (no Postgres on commit), now mirroring the fastcheck.yml. Newtest-integrationrecipe mirrorsintegration.ymland omits--no-depsso the composepostgresdependency starts.install-hooksis unchanged.README.mdandCLAUDE.mdcommand lists document the split.Adapted to current main (post-PMS-255)
The PMS-267 spec was written against an older
check.yml. Main has since advanced (David's PMS-255 epic). Deviations from the literal ACs, each driven by current source-of-truth:postgres:18.2-alpine3.23, not16-alpine(no infra downgrade).cargo test --tests, not the explicit--test auth --test contacts ...allowlist. PMS-198 deliberately removed that allowlist because it silently dropped 13 of 22 suites. This PR also converges thepre-commithook back onto the same command as CI (they had drifted: the hook still used the old allowlist whilecheck.ymlhad moved on).nustep in the fast job.SQLX_OFFLINE: "true"tocheck.yml: the crate has no compile-timesqlx::query!macros and no committed.sqlx/data, so it is a no-op. ExistingSQLX_OFFLINEflags in the compose-based recipes are left untouched.Verification
just --listparses;pre-commitandtest-integrationpresent with clean descriptions.yaml.safe_load).just test-integrationrequire the Docker dev stack + Postgres (dev-container only). The change is config-only; the integration command is carried verbatim from the previously-green combined job.#PMS-267