Skip to content

fix: execute all DEV deployment checks over SSH stdin - #787

Merged
TThanos3000 merged 1 commit into
devfrom
fix/dev-ci-complete-stdin-script
Oct 17, 2026
Merged

TThanos3000 merged 1 commit into
devfrom
fix/dev-ci-complete-stdin-script

Conversation

@TThanos3000

@TThanos3000 TThanos3000 commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

DEV deploy мог завершиться с exit 0 до последних checks: docker compose exec читал остаток переданного на Bash stdin скрипта. На первом rollout #784 migration connection и новые containers прошли, но source/nginx/HTTP/Celery checks в конце скрипта не выполнились; лог заканчивается после image ID checks.

Теперь транспорт передаёт весь script единым Bash-блоком с </dev/null. Bash сначала разбирает блок целиком; дочерние процессы получают EOF, а явные heredoc payload/Python сохраняются. Fixed SSH argv, host pinning и credential isolation не меняются.

Scope: только transport, его regression tests и runbook (3 files). Application code, models, migrations, runtime credentials и PROD не меняются.

Проверки:

  • До исправления: 5 PASS / 2 FAIL; реальный Bash через loopback SSH воспроизводит потерю последующих команд и ошибочный success после пропущенного false.
  • После: 7/7 PASS локально на реальном Bash, включая завершающий marker и late failure.
  • node --check обоих файлов, git diff --check — PASS.
  • DEV HTTP GET /admin/login/ — 200.
  • Application tree не изменён относительно ci: isolate DEV migrations with owner credentials #784; его 39 targeted + 1085 full PostgreSQL, 1085 штатных tests уже PASS.
  • Linux PG14/18 matrix — PASS: 7/7 реальных SSH/Bash tests в обоих jobs; 22 migration tests с version-specific skips — PASS. Lint — PASS.
  • Общие повторные backend/standard CI выполняются; application code относительно полностью проверенного ci: isolate DEV migrations with owner credentials #784 не изменён.
  • Полный повторный DEV rollout — PASS: source/nginx/HTTP/Celery checks реально выполнены.

Base: 1734ef7362e1640a4ff451e4e4ff184cdf249fb2.
Head: 09c76fba9c912df75d47584a248840ecc566bb82.

Исправление необходимо для завершения уже разрешённой DEV activation migration-role. PROD release/deploy не выполняется.

DEV activation completed — 18.10.2026

  • Полный успешный DEV deploy: 5bc06ed99db69be20c5282754a03eb8f3f7928db, image procollab-dev-api:5bc06ed99db69be20c5282754a03eb8f3f7928db-096712031353.
  • Migration connection procollab_api: actual preflight PASS, pending=0, migrate + обычный runtime migrate-check PASS. Новых unapplied migrations в этом rollout не было; искусственный live DDL не создавался.
  • Все последующие checks реально выполнены: runtime source hash, Nginx configuration, HTTP admin/login 200 (attempt 1), Celery pong (attempt 1).
  • Read-only verification, attempt 3: actual deployed image совпадает; runtime login=procollab_api_dev; все 186 relations доступны migrator; missing runtime privileges=[]; mutual memberships=[false,false].
  • Первый rollout ci: isolate DEV migrations with owner credentials #784 остановил выполнение оставшегося script из-за stdin-consuming docker exec, хотя job вернул success. Это отдельно исправлено #787, с RED→GREEN real Bash/SSH regression tests; финальный rollout выше выполнил полный хвост checks.
  • Application code и PROD не менялись при follow-up. Повторные общие backend/standard CI follow-up ещё выполняются; профильные Linux PG14/18 + 7 SSH tests и Lint PASS. Полный application baseline ci: isolate DEV migrations with owner credentials #784: 39 targeted + 1085 PostgreSQL и 1085 штатных tests PASS.

@TThanos3000
TThanos3000 marked this pull request as ready for review October 17, 2026 23:05
@TThanos3000
TThanos3000 merged commit 5bc06ed into dev Oct 17, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants