fix: [CL-CI-SERVICE-PORT-COLLISION] убрать host-port publish у postgres и починить нестабильные тесты API #169
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/claude-ci-port-collision"
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?
Что сделано
Убран
ports: 5432:5432у postgres service-контейнера джобы API Tests в.forgejo/workflows/ci.yml;DATABASE_URLпереведён сlocalhost:5432на service hostnamepostgres:5432.Зачем
Run 768 (merge-коммит
0d8ed19, PR #160) упал не из-за кода: service-контейнер не стартовал —Bind for 127.0.0.1:5432 failed: port is already allocated. Фиксированный host-порт конфликтует с параллельными CI-ранами на едином раннере (в тот момент шёл CI europa-tech, который раньше страдал тем же — исправлено там 2026-06-01, CL-CI-SERVICE-PORT-COLLISION). Джоба контейнеризована и ходит в БД по docker network alias — publish на host не нужен вовсе.План тестирования
yaml.safe_loadна изменённом workflow — ok.postgres:5432).Где могу ошибаться
postgresперестанет резолвиться — но текущий config.yml (container.network: "", авто-сеть) это исключает.continue-on-error: true(PIX-13034), при этом Forgejo всё равно пометил run как failure — это отдельная известная особенность forgejo-runner, этим PR не решается.✅ All checks passing — ready for review and maintainer approval.
— paperclip-gates
[CL-CI-SERVICE-PORT-COLLISION] fix(ci): убрать host-port publish у postgres-сервиса API Teststo ci: убрать host-port publish у postgres-сервиса API Tests [CL-CI-SERVICE-PORT-COLLISION]ci: убрать host-port publish у postgres-сервиса API Tests [CL-CI-SERVICE-PORT-COLLISION]to ci: [CL-CI-SERVICE-PORT-COLLISION] убрать host-port publish у postgres-сервиса API Testsf4446a908ff46f5d2328ed6414bb0c8c0e73b16bSuite впервые дошёл до этого файла после порт-фикса (run 35451) и вскрыл два устаревших ожидания: decorateActiveRunStatus получает companyId как UUID из issue (agents.ts:4324), а legacy company runs список передаёт 4-й аргумент { summary: false } (agents.ts:3775). Поведение роутов намеренное — обновлены тестовые ожидания. Локально 23/23 passed.spawnSync('pnpm', ...) на Windows падает ENOENT: pnpm резолвится через pnpm.cmd, который spawnSync находит только с shell. Опция включается лишь при process.platform === 'win32' — поведение Linux-раннера байт-в-байт прежнее.ci: [CL-CI-SERVICE-PORT-COLLISION] убрать host-port publish у postgres-сервиса API Teststo fix: [CL-CI-SERVICE-PORT-COLLISION] убрать host-port publish у postgres и починить нестабильные тесты API