diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index b6d49c27..1a378af0 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,87 @@ +## 2026-05-19|T82 Gitea CD E2E smoke symlink cleanup hygiene + +**背景**: + +- T81 已清掉 API tests job 的 root-owned pytest cache cleanup warning,但 CD post-deploy job 仍在 success 後出現 act runner cleanup panic: + - `Error while stop job container` + - `PANIC=Error method: errSymlink is not user-visible` +- 判讀:post-deploy 的 E2E smoke step 會在 root container 裡對 bind-mounted checkout 執行 `pnpm install`,留下 symlink-heavy `node_modules` / Playwright artifacts,runner 最後清理時會撞到 symlink error。 + +**完成變更**: + +- `.gitea/workflows/cd.yaml` 的 E2E Smoke Test container script 新增 `cleanup_smoke_workspace_artifacts()`,並以 `trap ... EXIT` 在 container 結束前清理: + - `/workspace/node_modules` + - `/workspace/apps/web/node_modules` + - `/workspace/apps/web/tests/e2e/.auth` + - `/workspace/apps/web/test-results` + - `/workspace/apps/web/playwright-report` +- Smoke test 狀態保留原本 output contract:`smoke_status=pass|fail`,避免只修 cleanup 卻改壞 CD notification 判讀。 + +**驗證**: + +```text +ruby -e 'require "yaml"; YAML.load_file(".gitea/workflows/cd.yaml"); puts "yaml ok"' + -> yaml ok + +git diff --check + -> OK + +Commit: +82720473 fix(ci): clean e2e smoke workspace artifacts + +Gitea Actions: +2457 Code Review for 82720473 -> success +2458 CD workflow_dispatch for 82720473 -> success + tests -> success + build-and-deploy -> success + post-deploy-checks -> success + +Post-deploy evidence: + -> Playwright smoke 5 passed + -> CI/CD success notification mirrored through AWOOI API + -> Job succeeded + -> no "PANIC=Error" + -> no "errSymlink is not user-visible" + +Deploy marker: +3be2c969 chore(cd): deploy 8272047 [skip ci] +``` + +**Production smoke**: + +```text +K8s image: +awoooi-api 192.168.0.110:5000/awoooi/api:82720473717ecfc6fc1ef09a643607f384553db0 +awoooi-worker 192.168.0.110:5000/awoooi/api:82720473717ecfc6fc1ef09a643607f384553db0 +awoooi-web 192.168.0.110:5000/awoooi/web:82720473717ecfc6fc1ef09a643607f384553db0 + +GET https://awoooi.wooo.work/api/v1/health + -> healthy, prod, mock_mode=false + +GET /api/v1/platform/ai-route-status?workload_type=deep_rca + -> selected_provider=ollama_gcp_a + -> selected_url=http://34.143.170.20:11434 + -> selected_model=gemma3:4b + -> policy_order=ollama_gcp_a → ollama_gcp_b → ollama_local → gemini + -> fallback_chain=ollama_gcp_b → ollama_local → gemini +``` + +**剩餘技術債**: + +- post-deploy non-critical OTEL Collector / Event Exporter 檢查仍顯示檢查容器內沒有 `kubectl`,目前不影響 CD success,但會讓監控檢查訊息不完整,下一段可單獨修。 +- Dockerfile 仍有既有 `LegacyKeyValueFormat` warning,屬低風險 build hygiene,未與本輪混改。 + +**目前整體進度**: + +- AwoooP 告警可觀測鏈:約 96.5%。 +- 低風險自動修復閉環:約 95%。 +- 前端 AI 自動化管理介面同步:約 92.5%。 +- CI/CD notification AwoooP 主路徑:約 99%。 +- CI/CD runner hygiene:約 96%。 +- 完整 AI 自動化管理產品化:約 89.3%。 + +--- + ## 2026-05-19|T81 Gitea CD tests runner cache cleanup hygiene **背景**: