[CL-1176] CI: E2E int-тесты против postgres-сервиса на каждом PR #1194

Merged
andrei merged 1 commit from feature/claude-cl1176-e2e-in-ci into master 2026-07-23 11:59:22 +00:00
Owner

Что сделано

Шаг «E2E integration tests (real DB)» в API-job после юнит-сьюта: E2E_DATABASE_URL="$DATABASE_URL" vitest run --no-file-parallelism .int.test.ts — все 6 int-файлов (29 сценариев money-путей: P2P матч/unwind/cancel/expire, settlement, дивиденды, exchange, buyback + страж real-prisma-guard) гоняются против уже существующего postgres-сервиса job'а. migrate deploy выше по job'у уже применяет полную схему; серийный прогон + единый TRUNCATE-канон; conditional-фабрики setup.ts (#1193) дают int-файлам реальные prisma/config.

Зачем

29 E2E-сценариев переставали быть opt-in мёртвым грузом: регрессии money-путей ловятся на каждом PR автоматически. Первый пункт «Дальше» из вердикта, выбран CEO.

План тестирования

Локально: фильтр .int.test.ts находит ровно 6 файлов / 29 тестов (без E2E_DATABASE_URL — skip, exit 0); с эфемерной БД — 29/29 passed (доказано в #1193). Живая проверка шага — CI этого же PR: шаг обязан пройти зелёным до auto-merge.

Где могу ошибаться

  • CI-среда отличается от эфемерного стенда суперюзером/политиками — но стенд создавался тем же migrate deploy под тем же postgres-суперюзером; идентичность условий проверяется зелёным прогоном этого PR.
  • Время job'а вырастет (~+1-2 мин на 29 серийных сценариев) — в пределах 20-мин timeout.
## Что сделано Шаг «E2E integration tests (real DB)» в API-job после юнит-сьюта: `E2E_DATABASE_URL="$DATABASE_URL" vitest run --no-file-parallelism .int.test.ts` — все 6 int-файлов (29 сценариев money-путей: P2P матч/unwind/cancel/expire, settlement, дивиденды, exchange, buyback + страж real-prisma-guard) гоняются против уже существующего postgres-сервиса job'а. `migrate deploy` выше по job'у уже применяет полную схему; серийный прогон + единый TRUNCATE-канон; conditional-фабрики setup.ts (#1193) дают int-файлам реальные prisma/config. ## Зачем 29 E2E-сценариев переставали быть opt-in мёртвым грузом: регрессии money-путей ловятся на каждом PR автоматически. Первый пункт «Дальше» из вердикта, выбран CEO. ## План тестирования Локально: фильтр `.int.test.ts` находит ровно 6 файлов / 29 тестов (без E2E_DATABASE_URL — skip, exit 0); с эфемерной БД — 29/29 passed (доказано в #1193). Живая проверка шага — CI этого же PR: шаг обязан пройти зелёным до auto-merge. ## Где могу ошибаться - CI-среда отличается от эфемерного стенда суперюзером/политиками — но стенд создавался тем же `migrate deploy` под тем же postgres-суперюзером; идентичность условий проверяется зелёным прогоном этого PR. - Время job'а вырастет (~+1-2 мин на 29 серийных сценариев) — в пределах 20-мин timeout.
[CL-1176] CI: прогон int-тестов против postgres-сервиса в API-job
Some checks failed
CI / Telegram Mini App (pull_request) Successful in 1m53s
CI / Python SDK (pull_request) Successful in 28s
CI / Contracts (pull_request) Successful in 2m43s
CI / Secrets Scan (pull_request) Successful in 20s
CI / Prisma Migrate Gate (pull_request) Successful in 1m51s
CI / API (pull_request) Failing after 18m18s
CI / App (pull_request) Successful in 20m48s
23cff850f0
Шаг «E2E integration tests (real DB)» после юнит-сьюта: все *.int.test.ts
(6 файлов, 29 сценариев money-путей) гоняются против уже существующего
postgres-сервиса job'а (migrate deploy выше уже применяет полную схему).
Серийно (--no-file-parallelism, единый TRUNCATE-канон), без --coverage
(thresholds считаются юнит-шагом). Conditional-фабрики setup.ts дают
int-файлам реальные prisma/config — регрессии money-путей теперь ловятся
на каждом PR, а не только в ручных opt-in прогонах.
andrei scheduled this pull request to auto merge when all checks succeed 2026-07-23 11:57:24 +00:00
andrei merged commit c23fa98006 into master 2026-07-23 11:59:22 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
europa-tech-srl/europatech!1194
No description provided.