From 5b3f1471105fabd30fc1e10bc6d496792e335a4e Mon Sep 17 00:00:00 2001 From: Martin Robinson Date: Fri, 10 Feb 2023 10:08:21 +0100 Subject: [PATCH] Make two small improvements to try result comment Sort the test names alphabetically so that they are stable between try runs and also include the action URL in the comment when possible. --- etc/ci/report_aggregated_expected_results.py | 24 ++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/etc/ci/report_aggregated_expected_results.py b/etc/ci/report_aggregated_expected_results.py index bfab949d2f3..d67a2abe34f 100755 --- a/etc/ci/report_aggregated_expected_results.py +++ b/etc/ci/report_aggregated_expected_results.py @@ -61,7 +61,7 @@ class Item: def to_html(self, level: int = 0) -> ElementTree.Element: if level == 0: - title = result = ElementTree.Element("div") + title = result = ElementTree.Element("span") elif level == 1: result = ElementTree.Element("details") title = ElementTree.SubElement(result, "summary") @@ -97,6 +97,9 @@ def get_results() -> Optional[Item]: unexpected += data["unexpected"] known_intermittents += data["known_intermittents"] + unexpected.sort(key=lambda result: result["path"]) + known_intermittents.sort(key=lambda result: result["path"]) + children = [] if unexpected: children.append( @@ -109,7 +112,24 @@ def get_results() -> Optional[Item]: f"({len(known_intermittents)})", "", [Item.from_result(result) for result in known_intermittents]) ) - return Item("Results from try job:", "", children) if children else None + + run_url = get_github_run_url() + if run_url: + text = f"Results from try job ({run_url}):" + else: + text = "Results from try job:" + return Item(text, "", children) if children else None + + +def get_github_run_url() -> Optional[str]: + github_context = json.loads(os.environ.get("GITHUB_CONTEXT", "{}")) + if "repository" not in github_context: + return None + if "run_id" not in github_context: + return None + repository = github_context['repository'] + run_id = github_context['run_id'] + return f"[#{run_id}](https://github.com/{repository}/actions/runs/{run_id})" def get_pr_number() -> Optional[str]: