feat(delivery): expose cd runner queue readback
This commit is contained in:
@@ -143,6 +143,15 @@ def build_delivery_closure_workbench(
|
||||
"latest_visible_cd_run_id": str(
|
||||
production_deploy_readback.get("latest_visible_cd_run_id") or ""
|
||||
),
|
||||
"latest_visible_cd_run_status": str(
|
||||
production_deploy_readback.get("latest_visible_cd_run_status")
|
||||
or ""
|
||||
),
|
||||
"latest_visible_cd_run_jobs_total_count": _int(
|
||||
production_deploy_readback.get(
|
||||
"latest_visible_cd_run_jobs_total_count"
|
||||
)
|
||||
),
|
||||
},
|
||||
"href": "/deployments",
|
||||
"next_action": _first_string(production_deploy.get("next_actions")),
|
||||
@@ -331,6 +340,14 @@ def build_delivery_closure_workbench(
|
||||
"production_deploy_latest_visible_cd_run_id": str(
|
||||
production_deploy_readback.get("latest_visible_cd_run_id") or ""
|
||||
),
|
||||
"production_deploy_latest_visible_cd_run_status": str(
|
||||
production_deploy_readback.get("latest_visible_cd_run_status") or ""
|
||||
),
|
||||
"production_deploy_latest_visible_cd_run_jobs_total_count": _int(
|
||||
production_deploy_readback.get(
|
||||
"latest_visible_cd_run_jobs_total_count"
|
||||
)
|
||||
),
|
||||
"github_write_channel_ready": github_preflight.get(
|
||||
"github_write_channel_ready"
|
||||
)
|
||||
|
||||
@@ -36,6 +36,13 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
)
|
||||
assert data["summary"]["production_deploy_hard_blocker_count"] == 2
|
||||
assert data["summary"]["production_deploy_latest_visible_cd_run_id"] == "3853"
|
||||
assert data["summary"]["production_deploy_latest_visible_cd_run_status"] == (
|
||||
"Waiting"
|
||||
)
|
||||
assert (
|
||||
data["summary"]["production_deploy_latest_visible_cd_run_jobs_total_count"]
|
||||
== 0
|
||||
)
|
||||
assert data["summary"]["github_write_channel_ready"] is False
|
||||
assert data["summary"]["github_account_status"] == "suspended"
|
||||
assert data["summary"]["github_account_suspended"] is True
|
||||
@@ -79,7 +86,7 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
assert lanes["production_deploy"]["blocker_count"] == 2
|
||||
assert lanes["production_deploy"]["metric"][
|
||||
"observed_source_control_main_short_sha"
|
||||
] == "3900b0b7a779"
|
||||
] == "5f20d654d4dc"
|
||||
assert lanes["production_deploy"]["metric"][
|
||||
"production_image_tag_short_sha"
|
||||
] == "af45811e87"
|
||||
@@ -93,6 +100,16 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
is False
|
||||
)
|
||||
assert lanes["production_deploy"]["metric"]["latest_visible_cd_run_id"] == "3853"
|
||||
assert (
|
||||
lanes["production_deploy"]["metric"]["latest_visible_cd_run_status"]
|
||||
== "Waiting"
|
||||
)
|
||||
assert (
|
||||
lanes["production_deploy"]["metric"][
|
||||
"latest_visible_cd_run_jobs_total_count"
|
||||
]
|
||||
== 0
|
||||
)
|
||||
assert lanes["github"]["metric"]["kind"] == "private_backup_verified"
|
||||
assert lanes["gitea"]["metric"]["kind"] == "workflow_count"
|
||||
assert lanes["runtime"]["metric"]["kind"] == "surface_count"
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
## 2026-06-28 — 20:36 Delivery Workbench CD runner queue 欄位投影
|
||||
|
||||
**完成內容**:
|
||||
- 將 production deploy readback snapshot 內的 `latest_visible_cd_run_status` 與 `latest_visible_cd_run_jobs_total_count` 投影到 Delivery Workbench summary 與 `production_deploy` lane metric。
|
||||
- 刷新 source readback:Gitea main 觀測 SHA `5f20d654d4dc`,public Gitea CD `#3853` 仍為 `Waiting`,jobs API `total_count=0`;production API 仍舊版 `source_count=5`,新欄位尚未部署。
|
||||
|
||||
**邊界**:未使用 GitHub;未讀 token / cookie / session / secret / SQLite;未操作 host / Docker / K8s / runner service。
|
||||
|
||||
## 2026-06-28 — 20:30 188 non-110 user runner prepare-only 實作與 readback
|
||||
|
||||
**完成內容**:
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"schema_version": "awoooi_production_deploy_readback_blocker_v1",
|
||||
"generated_at": "2026-06-28T20:27:56+08:00",
|
||||
"generated_at": "2026-06-28T20:39:15+08:00",
|
||||
"status": "blocked_waiting_authorized_gitea_workflow_dispatch_and_runner_queue",
|
||||
"priority": "P0",
|
||||
"scope": "awoooi_production_truth",
|
||||
"readback": {
|
||||
"observed_source_control_main_sha": "3900b0b7a779bcca533ee625f3e8b301fc47764a",
|
||||
"observed_source_control_main_short_sha": "3900b0b7a779",
|
||||
"observed_source_control_main_sha": "5f20d654d4dc4e3267954aea4bd9aabdd9313bed",
|
||||
"observed_source_control_main_short_sha": "5f20d654d4dc",
|
||||
"governance_closure_merge_sha": "27b96f0450d0e3ca6651d6b5f274a341dd727ef2",
|
||||
"governance_closure_commit_sha": "9e3e7fbb6ba3ffd324b45abf3ad1e7b6ec826b22",
|
||||
"production_image_tag_sha": "af45811e876fda322ee63c036fbc39c9f07ffd76",
|
||||
|
||||
Reference in New Issue
Block a user