fix(gitea): surface workflow and alert receipt readiness
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 1s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 3m18s
CD Pipeline / build-and-deploy (push) Failing after 50s
CD Pipeline / post-deploy-checks (push) Has been skipped

This commit is contained in:
ogt
2026-07-10 01:18:23 +08:00
parent 403c0a3d05
commit c0bdfff423
4 changed files with 69 additions and 11 deletions

View File

@@ -103,6 +103,21 @@ def _full_server_dr_payload() -> dict:
}
def _alert_receipt_chain_payload() -> dict:
return {
"schema_version": "gitea_cicd_alert_receipt_chain_readback_v1",
"status": "gitea_cicd_alert_receipt_chain_ready",
"ready": True,
"active_gap_ids": [],
"active_gap_count": 0,
"summary": {
"action_required_chain_count": 0,
"monitoring_live_receipt_gap_count": 0,
"workflow_notify_bridge_count": 6,
},
}
def _readback_payload() -> dict:
return build_gitea_capability_ci_cd_optimization_readback(
dev_prod_repo_readback=json.loads(
@@ -116,6 +131,7 @@ def _readback_payload() -> dict:
backup_notification_policy=load_latest_backup_notification_policy(),
repo_bundle_backup_readback=_repo_bundle_payload(),
full_server_backup_dr_receipts=_full_server_dr_payload(),
gitea_cicd_alert_receipt_chain_readback=_alert_receipt_chain_payload(),
generated_at="2026-07-09T23:01:00+08:00",
)
@@ -128,7 +144,7 @@ def test_gitea_capability_readback_rolls_up_complete_feature_surface() -> None:
== "gitea_capability_ci_cd_optimization_readback_v1"
)
assert payload["source_control_authority"] == "gitea"
assert payload["status"] == "gitea_capability_ci_cd_optimization_gaps_present"
assert payload["status"] == "gitea_capability_ci_cd_optimization_ready"
assert payload["rollups"]["expected_product_count"] == 12
assert payload["rollups"]["ssh_verified_product_repo_count"] == 12
assert payload["rollups"]["dev_prod_environment_split_ready_count"] == 12
@@ -165,7 +181,14 @@ def test_gitea_capability_readback_rolls_up_complete_feature_surface() -> None:
assert capability_by_id["backup_dr_restore"]["metrics"][
"gitea_full_dr_source_ready_component_count"
] == 6
assert capability_by_id["observability_alert_receipts"]["status"] == "action_required"
assert capability_by_id["observability_alert_receipts"]["status"] == "verified_ready"
assert capability_by_id["observability_alert_receipts"]["metrics"] == {
"alert_receipt_chain_ready": True,
"alert_receipt_chain_status": "gitea_cicd_alert_receipt_chain_ready",
"action_required_chain_count": 0,
"monitoring_live_receipt_gap_count": 0,
"workflow_notify_bridge_count": 6,
}
assert payload["operation_boundaries"]["read_only_api_allowed"] is True
assert payload["operation_boundaries"]["github_api_allowed"] is False
@@ -211,11 +234,10 @@ def test_gitea_capability_readback_prioritizes_professional_cicd_gaps() -> None:
payload["ci_cd_optimization_rows"]
)
assert payload["rollups"]["p0_optimization_gap_count"] == 0
assert payload["active_p0_gap_ids"] == ["observability_alert_receipts"]
assert any(
action.startswith("observability_alert_receipts:")
for action in payload["readback"]["safe_next_actions"]
)
assert payload["status"] == "gitea_capability_ci_cd_optimization_ready"
assert payload["ready"] is True
assert payload["active_p0_gap_ids"] == []
assert payload["readback"]["safe_next_actions"] == []
def test_gitea_capability_readback_endpoint_returns_payload(monkeypatch) -> None:

View File

@@ -50,8 +50,13 @@ def test_product_awoooi_manifest_standard_endpoint_returns_snapshot():
def test_api_image_copies_product_manifest() -> None:
dockerfile = Path(__file__).resolve().parents[3] / "apps" / "api" / "Dockerfile"
dockerfile_text = dockerfile.read_text(encoding="utf-8")
assert (
"COPY --chown=appuser:appuser product.awoooi.yaml ./product.awoooi.yaml"
in dockerfile.read_text(encoding="utf-8")
in dockerfile_text
)
assert (
"COPY --chown=appuser:appuser .gitea/workflows/ ./.gitea/workflows/"
in dockerfile_text
)