fix(cd): run smoke from isolated workspace
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 35s
CD Pipeline / build-and-deploy (push) Successful in 3m48s
CD Pipeline / post-deploy-checks (push) Successful in 1m38s
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 35s
CD Pipeline / build-and-deploy (push) Successful in 3m48s
CD Pipeline / post-deploy-checks (push) Successful in 1m38s
This commit is contained in:
@@ -1,3 +1,15 @@
|
||||
## 2026-07-01 — 17:29 Gitea CD post-deploy smoke workspace 權限修正
|
||||
|
||||
**照主線修正的問題**:
|
||||
- CD `#4272` 已成功完成 tests、image build/push、ArgoCD `Synced/Healthy`、K8s rollout 與 production deploy readback,並讀回 `792de2553c` 與 GitOps desired image tag 一致;但 post-deploy browser smoke 仍回 `SMOKE_RESULT=⚠️`。
|
||||
- smoke log 顯示 `pnpm install` 在 bind-mounted checkout 的 `/workspace/node_modules` 建目錄時 `EACCES`,代表 smoke container 不應直接在 runner checkout 安裝依賴。
|
||||
- `.gitea/workflows/cd.yaml` 改成把 source checkout 唯讀掛到 `/source`,在 container 內建立 `/tmp/awoooi-smoke-workspace` 後用 `tar` 排除 `.git`、`node_modules`、`test-results`、`playwright-report` 再安裝與執行 Playwright;`GITHUB_OUTPUT` 改用單檔 bind mount `/github-output` 寫回,不再把整個 checkout 當可寫 workspace。
|
||||
- `ops/runner/test_cd_controlled_runtime_profile.py` 新增 guard,禁止 smoke 回到 `-v "$PWD:/workspace"`、`-w /workspace` 或 `/workspace/.awoooi-smoke-output`,避免下一次權限 / symlink cleanup 問題再讓 smoke 假黃。
|
||||
|
||||
**邊界**:未讀 secret / token / `.env` / raw sessions / SQLite / auth;未使用 GitHub / `gh` / GitHub API;未重啟主機 / Docker / Nginx / K3s / DB / firewall;未 force push。
|
||||
|
||||
**下一步**:跑本地 workflow guard 後推 Gitea main,等待下一個 CD 重新產生 post-deploy smoke `pass` 證據;若 smoke 還是黃,繼續只收斂最新失敗段落。
|
||||
|
||||
## 2026-07-01 — 17:18 Gitea CD post-deploy smoke 依賴證據修正
|
||||
|
||||
**照主線修正的問題**:
|
||||
|
||||
Reference in New Issue
Block a user