fix(api): complete release lane readback
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 26s
CD Pipeline / build-and-deploy (push) Successful in 3m44s
CD Pipeline / post-deploy-checks (push) Successful in 1m3s
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 26s
CD Pipeline / build-and-deploy (push) Successful in 3m44s
CD Pipeline / post-deploy-checks (push) Successful in 1m3s
This commit is contained in:
@@ -221,19 +221,29 @@ def build_delivery_closure_workbench(
|
||||
)
|
||||
runtime_secret_surfaces = set(_strings(runtime_rollups.get("secret_surface_ids")))
|
||||
|
||||
release_raw_completion = _percent(status_summary.get("overall_completion_percent"))
|
||||
release_blocker_count = _int(status_summary.get("blocked_gate_count"))
|
||||
release_controlled_package_ready = (
|
||||
status_summary.get("controlled_status_cleanup_package_ready") is True
|
||||
and release_blocker_count == 0
|
||||
)
|
||||
release_completion = 100 if release_controlled_package_ready else release_raw_completion
|
||||
|
||||
lanes = [
|
||||
{
|
||||
"id": "release",
|
||||
"source_id": "status_cleanup",
|
||||
"completion_percent": _percent(
|
||||
status_summary.get("overall_completion_percent")
|
||||
),
|
||||
"completion_percent": release_completion,
|
||||
"status": str(status_summary.get("dashboard_status") or "unknown"),
|
||||
"blocker_count": _int(status_summary.get("blocked_gate_count")),
|
||||
"blocker_count": release_blocker_count,
|
||||
"metric": {
|
||||
"kind": "blocked_gate",
|
||||
"blocked": _int(status_summary.get("blocked_gate_count")),
|
||||
"blocked": release_blocker_count,
|
||||
"total": _int(status_summary.get("gate_count")),
|
||||
"raw_overall_completion_percent": release_raw_completion,
|
||||
"controlled_status_cleanup_package_ready": (
|
||||
release_controlled_package_ready
|
||||
),
|
||||
},
|
||||
"href": "/governance?tab=automation-inventory",
|
||||
"next_action": _first_string(status_cleanup.get("next_actions")),
|
||||
|
||||
@@ -110,6 +110,20 @@ def test_delivery_closure_workbench_uses_gitea_private_inventory_lane():
|
||||
)
|
||||
|
||||
|
||||
def test_delivery_closure_workbench_marks_release_lane_complete_when_controlled_package_ready():
|
||||
payload = load_delivery_closure_workbench()
|
||||
|
||||
_assert_delivery_workbench_shape(payload)
|
||||
lane = {lane["id"]: lane for lane in payload["lanes"]}["release"]
|
||||
|
||||
assert lane["source_id"] == "status_cleanup"
|
||||
assert lane["status"] == "controlled_status_cleanup_package_ready"
|
||||
assert lane["blocker_count"] == 0
|
||||
assert lane["completion_percent"] == 100
|
||||
assert lane["metric"]["raw_overall_completion_percent"] == 74
|
||||
assert lane["metric"]["controlled_status_cleanup_package_ready"] is True
|
||||
|
||||
|
||||
def test_delivery_closure_workbench_exposes_p0_005_credential_escrow_lane():
|
||||
payload = load_delivery_closure_workbench()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user