diff --git a/scripts/publish_quality_metrics.py b/scripts/publish_quality_metrics.py index d472711..c46dd83 100755 --- a/scripts/publish_quality_metrics.py +++ b/scripts/publish_quality_metrics.py @@ -90,6 +90,8 @@ def _build_payload( test_cases: list[tuple[str, str]], coverage_percent: float, source_lines_over_500: int, + branch: str, + build_number: str, checks: dict[str, str], ) -> str: lines = [ @@ -107,6 +109,8 @@ def _build_payload( f'platform_quality_gate_workspace_line_coverage_percent{{suite="{suite}"}} {coverage_percent:.3f}', "# 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', "# TYPE ananke_quality_gate_checks_total gauge", "# TYPE ananke_quality_gate_publish_info gauge", f'ananke_quality_gate_publish_info{_label_str({"suite": suite, "trigger": trigger})} 1', @@ -334,6 +338,8 @@ def main(argv: list[str] | None = None) -> int: resolved_failed = max(args.local_failed, remote_failed) coverage_percent = _read_coverage_percent(args.coverage_percent_file) source_lines_over_500 = _count_source_files_over_limit(repo_root, max_lines=500) + branch = os.getenv("BRANCH_NAME", os.getenv("GIT_BRANCH", "")) + build_number = os.getenv("BUILD_NUMBER", "") quality_output = Path(os.getenv("ANANKE_QUALITY_OUTPUT_FILE", str(build_dir / "quality-gate.out"))) tests = _parse_go_test_counts(quality_output) test_cases = _parse_go_test_cases(quality_output) @@ -361,6 +367,8 @@ def main(argv: list[str] | None = None) -> int: test_cases=test_cases, coverage_percent=coverage_percent, source_lines_over_500=source_lines_over_500, + branch=branch, + build_number=build_number, checks=checks, )