ci(atlasbot): label test metrics with build artifacts
This commit is contained in:
parent
ed2ebf266d
commit
130fdc7eea
@ -229,6 +229,14 @@ def main() -> int:
|
||||
if branch.startswith("origin/"):
|
||||
branch = branch[len("origin/") :]
|
||||
build_number = os.getenv("BUILD_NUMBER", "")
|
||||
jenkins_job = os.getenv("JOB_NAME", "atlasbot")
|
||||
build_labels = {
|
||||
"suite": suite,
|
||||
"branch": branch,
|
||||
"build_number": build_number or "unknown",
|
||||
"jenkins_job": jenkins_job,
|
||||
}
|
||||
test_case_base_labels = dict(build_labels)
|
||||
|
||||
if not junit_path.exists():
|
||||
junit_candidates = sorted(build_dir.glob("junit*.xml"))
|
||||
@ -291,18 +299,21 @@ def main() -> int:
|
||||
"# TYPE platform_quality_gate_source_lines_over_500_total gauge",
|
||||
f'platform_quality_gate_source_lines_over_500_total{{suite="{suite}"}} {source_lines_over_500}',
|
||||
"# TYPE platform_quality_gate_build_info gauge",
|
||||
f'platform_quality_gate_build_info{_label_str({"suite": suite, "branch": branch, "build_number": build_number})} 1',
|
||||
f"platform_quality_gate_build_info{_label_str(build_labels)} 1",
|
||||
"# TYPE atlasbot_quality_gate_checks_total gauge",
|
||||
"# TYPE platform_quality_gate_test_case_result gauge",
|
||||
]
|
||||
) + "\n"
|
||||
if test_cases:
|
||||
payload += "\n".join(
|
||||
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{_label_str({**test_case_base_labels, 'test': test_name, 'status': test_status})} 1"
|
||||
for test_name, test_status in test_cases
|
||||
) + "\n"
|
||||
else:
|
||||
payload += f'platform_quality_gate_test_case_result{{suite="{suite}",test="__no_test_cases__",status="skipped"}} 1\n'
|
||||
payload += (
|
||||
f"platform_quality_gate_test_case_result"
|
||||
f"{_label_str({**test_case_base_labels, 'test': '__no_test_cases__', 'status': 'skipped'})} 1\n"
|
||||
)
|
||||
payload += "\n".join(
|
||||
f'atlasbot_quality_gate_checks_total{{suite="{suite}",check="{check_name}",result="{check_status}"}} 1'
|
||||
for check_name, check_status in checks.items()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user