Commit Graph

3 Commits

Author SHA1 Message Date
OG T
e65d931e73 fix(ci): B5 整合測試 DinD 修正 — 用 host bridge IP + published port
Some checks failed
CD Pipeline / build-and-deploy (push) Failing after 2m2s
DinD 環境下 volume mount 和 compose 網路都不可靠:
- runner container 的路徑 ≠ host 路徑 (volume 失敗)
- compose 網路 IP 對 runner 不可路由

解法: host docker bridge (ip route default gateway) + postgres exposed port 15432
runner 直接用 /opt/api-venv/bin/pytest (host runner 上已安裝)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 13:03:25 +08:00
OG T
c8b5c994d4 fix(ci): B5 整合測試改用 compose pytest-runner service
Some checks failed
CD Pipeline / build-and-deploy (push) Failing after 2m27s
問題: runner 是 Docker-in-Docker,-v /opt/api-venv 掛到 host 路徑不存在

修正:
- docker-compose.test.yml: 新增 pytest-runner service (python:3.11-slim)
  在 compose 網路內跑,hostname=postgres-test 直連,自裝 deps
- postgres-test: initdb.d 自動執行 setup_test_schema.sql,省去手動 psql
- cd.yaml: 改用 --profile test + --exit-code-from pytest-runner

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 12:58:44 +08:00
OG T
49bfbd573c feat(test): B5 整合測試框架 — 真實 DB, 5/5 通過
Some checks failed
CD Pipeline / build-and-deploy (push) Failing after 2m34s
新增:
- docker-compose.test.yml: CI 用臨時 pgvector PostgreSQL (port 15432)
- tests/factories.py: Incident/Approval/Knowledge/RAG 測試資料工廠
- tests/integration/test_b5_core_flows.py: 5 個 E2E 整合測試 (5/5 PASSED 1.03s)
- tests/integration/setup_test_schema.sql: CI schema 初始化 SQL
- cd.yaml: 新增 Integration Tests B5 step
- scripts/sync_dev_db.py: dev DB 同步工具

修正:
- .env.test: DATABASE_URL 指向 awoooi_dev (本機設定, gitignore 不入庫)

禁止 Mock 鐵律: 所有 DB 測試使用真實 PostgreSQL, 無 SQLite/MagicMock

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 11:22:57 +08:00