ci(pegasus): emit placeholder test-case metric when suites are empty

This commit is contained in:
codex 2026-04-20 09:08:54 -03:00
parent 1415e96427
commit 32a88efd9d

View File

@ -358,16 +358,20 @@ def main() -> int:
f'pegasus_quality_gate_checks_total{{suite="{suite}",check="{check_name}",result="{check_status}"}} 1' f'pegasus_quality_gate_checks_total{{suite="{suite}",check="{check_name}",result="{check_status}"}} 1'
for check_name, check_status in checks.items() for check_name, check_status in checks.items()
) )
payload_lines.append("# TYPE platform_quality_gate_test_case_result gauge")
if test_cases: if test_cases:
payload_lines.extend( payload_lines.extend(
[ [
"# TYPE platform_quality_gate_test_case_result gauge",
*[ *[
f'platform_quality_gate_test_case_result{{suite="{suite}",test="{_escape_label(test_name)}",status="{_escape_label(test_status)}"}} 1' f'platform_quality_gate_test_case_result{{suite="{suite}",test="{_escape_label(test_name)}",status="{_escape_label(test_status)}"}} 1'
for test_name, test_status in test_cases for test_name, test_status in test_cases
], ],
] ]
) )
else:
payload_lines.append(
f'platform_quality_gate_test_case_result{{suite="{suite}",test="__no_test_cases__",status="skipped"}} 1'
)
payload = "\n".join(payload_lines) + "\n" payload = "\n".join(payload_lines) + "\n"
push_url = f"{pushgateway_url.rstrip('/')}/metrics/job/{job_name}/suite/{suite}" push_url = f"{pushgateway_url.rstrip('/')}/metrics/job/{job_name}/suite/{suite}"