From fb0d01fc3f89c59293e8aa99f74c023f759ec22d Mon Sep 17 00:00:00 2001 From: Vladimir Milosevic Date: Fri, 29 Nov 2024 15:29:24 +0000 Subject: [PATCH] Improve parsing --- .../src/parsers/python_unittest_parser.py | 20 +- .../actions/collect_data/src/test_parser.py | 7 +- .../artifacts/report_torch_33706643326.xml | 681 ++++++++++++++++++ .../test/data/12084081698/workflow.json | 1 + .../test/data/12084081698/workflow_jobs.json | 511 +++++++++++++ .../collect_data/test/test_generate_data.py | 1 + 6 files changed, 1214 insertions(+), 7 deletions(-) create mode 100644 .github/actions/collect_data/test/data/12084081698/artifacts/report_torch_33706643326.xml create mode 100644 .github/actions/collect_data/test/data/12084081698/workflow.json create mode 100644 .github/actions/collect_data/test/data/12084081698/workflow_jobs.json diff --git a/.github/actions/collect_data/src/parsers/python_unittest_parser.py b/.github/actions/collect_data/src/parsers/python_unittest_parser.py index 522054f..eaa8993 100644 --- a/.github/actions/collect_data/src/parsers/python_unittest_parser.py +++ b/.github/actions/collect_data/src/parsers/python_unittest_parser.py @@ -25,15 +25,23 @@ def get_tests(test_report_path): dict_data = xmltodict.parse(data) previous_test_end_ts = None - # Workaround: If test info does not have timestamp, use current time - if "@timestamp" not in dict_data["testsuites"]["testsuite"][0]["testcase"][0]: - previous_test_end_ts = datetime.now().isoformat() - logger.warning("Timestamp not found in test report. Using current time.") + testsuites = dict_data["testsuites"]["testsuite"] + if not isinstance(testsuites, list): + testsuites = [testsuites] - if "@file" not in dict_data["testsuites"]["testsuite"][0]["testcase"][0]: + # Workaround: If testcases does not have timestamp, try using timestamp from testsuite and add duration + if "@timestamp" not in testsuites[0]["testcase"][0]: + logger.warning("Timestamp not found in test report, using testsuite timestamp") + previous_test_end_ts = testsuites[0].get("@timestamp", None) + # if testsuites does not have timestamp, use current time + if not previous_test_end_ts: + logger.warning("Timestamp not found in testsuite, using current time") + previous_test_end_ts = datetime.now().isoformat() + + if "@file" not in testsuites[0]["testcase"][0]: logger.warning("Filepath not found in test report.") - for testsuite in dict_data["testsuites"]["testsuite"]: + for testsuite in testsuites: # testcases can be dict or list testcases = testsuite["testcase"] diff --git a/.github/actions/collect_data/src/test_parser.py b/.github/actions/collect_data/src/test_parser.py index 0395a3b..ec9943c 100644 --- a/.github/actions/collect_data/src/test_parser.py +++ b/.github/actions/collect_data/src/test_parser.py @@ -24,6 +24,11 @@ def parse_file(filepath: str) -> List[Test]: filepath = str(filepath) for parser in parsers: if parser.can_parse(filepath): - return parser.parse(filepath) + try: + return parser.parse(filepath) + except Exception as e: + logger.error( + f"Error parsing file: {filepath} using parser: {type(parser).__name__}, trying next parser." + ) logger.error(f"No parser available for file: {filepath}") return [] diff --git a/.github/actions/collect_data/test/data/12084081698/artifacts/report_torch_33706643326.xml b/.github/actions/collect_data/test/data/12084081698/artifacts/report_torch_33706643326.xml new file mode 100644 index 0000000..8825970 --- /dev/null +++ b/.github/actions/collect_data/test/data/12084081698/artifacts/report_torch_33706643326.xml @@ -0,0 +1,681 @@ + + + + + + + + + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:79: Torch keeps the 'value' as dialect resource which are not processed. + + + + + + + + + + + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:212: keepdim=False is not supported + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:224: keepdim=False is not supported + + + + + + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + + + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:302: Skipped + + + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:345: TTNN does not support transpose for higher ranks/dimensions. + + + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:375: Fails due to https://github.com/tenstorrent/tt-metal/issues/15131 + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:375: Fails due to https://github.com/tenstorrent/tt-metal/issues/15130 + + + /__w/tt-torch/tt-torch/tests/torch/test_basic.py:375: Fails due to https://github.com/tenstorrent/tt-metal/issues/15130 + + + + + + + + + + + + + + + + + diff --git a/.github/actions/collect_data/test/data/12084081698/workflow.json b/.github/actions/collect_data/test/data/12084081698/workflow.json new file mode 100644 index 0000000..70bf5ba --- /dev/null +++ b/.github/actions/collect_data/test/data/12084081698/workflow.json @@ -0,0 +1 @@ +{"id":12084081698,"name":"On PR","node_id":"WFR_kwLONDtnV88AAAAC0ER0Ig","head_branch":"vmilosevic/test_reports","head_sha":"d07b79eff38dd213ed122a83573de68819c87ce2","path":".github/workflows/on-pr.yml","display_title":"Upload torch and onnx test reports","run_number":353,"event":"pull_request","status":"completed","conclusion":"failure","workflow_id":125033996,"check_suite_id":31476943147,"check_suite_node_id":"CS_kwDONDtnV88AAAAHVCwJKw","url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698","html_url":"https://github.com/tenstorrent/tt-torch/actions/runs/12084081698","pull_requests":[{"url":"https://api.github.com/repos/tenstorrent/tt-torch/pulls/85","id":2207184523,"number":85,"head":{"ref":"vmilosevic/test_reports","sha":"4b002af0e9d20c1ec2708c2581dd9ba327725aeb","repo":{"id":876308311,"url":"https://api.github.com/repos/tenstorrent/tt-torch","name":"tt-torch"}},"base":{"ref":"main","sha":"35b6ead06d7c7eeb6018e3d9ad5b5e6db4bd51f5","repo":{"id":876308311,"url":"https://api.github.com/repos/tenstorrent/tt-torch","name":"tt-torch"}}}],"created_at":"2024-11-29T14:30:01Z","updated_at":"2024-11-29T14:53:01Z","actor":{"login":"vmilosevic","id":157983820,"node_id":"U_kgDOCWqkTA","avatar_url":"https://avatars.githubusercontent.com/u/157983820?v=4","gravatar_id":"","url":"https://api.github.com/users/vmilosevic","html_url":"https://github.com/vmilosevic","followers_url":"https://api.github.com/users/vmilosevic/followers","following_url":"https://api.github.com/users/vmilosevic/following{/other_user}","gists_url":"https://api.github.com/users/vmilosevic/gists{/gist_id}","starred_url":"https://api.github.com/users/vmilosevic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmilosevic/subscriptions","organizations_url":"https://api.github.com/users/vmilosevic/orgs","repos_url":"https://api.github.com/users/vmilosevic/repos","events_url":"https://api.github.com/users/vmilosevic/events{/privacy}","received_events_url":"https://api.github.com/users/vmilosevic/received_events","type":"User","user_view_type":"public","site_admin":false},"run_attempt":2,"referenced_workflows":[{"path":"tenstorrent/tt-torch/.github/workflows/pre-commit.yml@d6a02eec45f1dac53b0cacf38d26fde43a3ed345","sha":"d6a02eec45f1dac53b0cacf38d26fde43a3ed345","ref":"refs/pull/85/merge"},{"path":"tenstorrent/tt-torch/.github/workflows/spdx.yml@d6a02eec45f1dac53b0cacf38d26fde43a3ed345","sha":"d6a02eec45f1dac53b0cacf38d26fde43a3ed345","ref":"refs/pull/85/merge"},{"path":"tenstorrent/tt-torch/.github/workflows/run-tests.yml@d6a02eec45f1dac53b0cacf38d26fde43a3ed345","sha":"d6a02eec45f1dac53b0cacf38d26fde43a3ed345","ref":"refs/pull/85/merge"},{"path":"tenstorrent/tt-torch/.github/workflows/run-build.yml@d6a02eec45f1dac53b0cacf38d26fde43a3ed345","sha":"d6a02eec45f1dac53b0cacf38d26fde43a3ed345","ref":"refs/pull/85/merge"}],"run_started_at":"2024-11-29T14:30:00Z","triggering_actor":{"login":"vmilosevic","id":157983820,"node_id":"U_kgDOCWqkTA","avatar_url":"https://avatars.githubusercontent.com/u/157983820?v=4","gravatar_id":"","url":"https://api.github.com/users/vmilosevic","html_url":"https://github.com/vmilosevic","followers_url":"https://api.github.com/users/vmilosevic/followers","following_url":"https://api.github.com/users/vmilosevic/following{/other_user}","gists_url":"https://api.github.com/users/vmilosevic/gists{/gist_id}","starred_url":"https://api.github.com/users/vmilosevic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmilosevic/subscriptions","organizations_url":"https://api.github.com/users/vmilosevic/orgs","repos_url":"https://api.github.com/users/vmilosevic/repos","events_url":"https://api.github.com/users/vmilosevic/events{/privacy}","received_events_url":"https://api.github.com/users/vmilosevic/received_events","type":"User","user_view_type":"public","site_admin":false},"jobs_url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698/attempts/2/jobs","logs_url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698/attempts/2/logs","check_suite_url":"https://api.github.com/repos/tenstorrent/tt-torch/check-suites/31476943147","artifacts_url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698/artifacts","cancel_url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698/cancel","rerun_url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698/rerun","previous_attempt_url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698/attempts/1","workflow_url":"https://api.github.com/repos/tenstorrent/tt-torch/actions/workflows/125033996","head_commit":{"id":"d07b79eff38dd213ed122a83573de68819c87ce2","tree_id":"5eb293b2f1e06d667d02d4b8d0f6a83737d465a4","message":"Add curl and jq packages","timestamp":"2024-11-29T11:36:59Z","author":{"name":"Vladimir Milosevic","email":"vmilosevic@tenstorrent.com"},"committer":{"name":"Vladimir Milosevic","email":"vmilosevic@tenstorrent.com"}},"repository":{"id":876308311,"node_id":"R_kgDONDtnVw","name":"tt-torch","full_name":"tenstorrent/tt-torch","private":true,"owner":{"login":"tenstorrent","id":64161552,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0MTYxNTUy","avatar_url":"https://avatars.githubusercontent.com/u/64161552?v=4","gravatar_id":"","url":"https://api.github.com/users/tenstorrent","html_url":"https://github.com/tenstorrent","followers_url":"https://api.github.com/users/tenstorrent/followers","following_url":"https://api.github.com/users/tenstorrent/following{/other_user}","gists_url":"https://api.github.com/users/tenstorrent/gists{/gist_id}","starred_url":"https://api.github.com/users/tenstorrent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tenstorrent/subscriptions","organizations_url":"https://api.github.com/users/tenstorrent/orgs","repos_url":"https://api.github.com/users/tenstorrent/repos","events_url":"https://api.github.com/users/tenstorrent/events{/privacy}","received_events_url":"https://api.github.com/users/tenstorrent/received_events","type":"Organization","user_view_type":"public","site_admin":false},"html_url":"https://github.com/tenstorrent/tt-torch","description":null,"fork":false,"url":"https://api.github.com/repos/tenstorrent/tt-torch","forks_url":"https://api.github.com/repos/tenstorrent/tt-torch/forks","keys_url":"https://api.github.com/repos/tenstorrent/tt-torch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tenstorrent/tt-torch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tenstorrent/tt-torch/teams","hooks_url":"https://api.github.com/repos/tenstorrent/tt-torch/hooks","issue_events_url":"https://api.github.com/repos/tenstorrent/tt-torch/issues/events{/number}","events_url":"https://api.github.com/repos/tenstorrent/tt-torch/events","assignees_url":"https://api.github.com/repos/tenstorrent/tt-torch/assignees{/user}","branches_url":"https://api.github.com/repos/tenstorrent/tt-torch/branches{/branch}","tags_url":"https://api.github.com/repos/tenstorrent/tt-torch/tags","blobs_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/refs{/sha}","trees_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tenstorrent/tt-torch/statuses/{sha}","languages_url":"https://api.github.com/repos/tenstorrent/tt-torch/languages","stargazers_url":"https://api.github.com/repos/tenstorrent/tt-torch/stargazers","contributors_url":"https://api.github.com/repos/tenstorrent/tt-torch/contributors","subscribers_url":"https://api.github.com/repos/tenstorrent/tt-torch/subscribers","subscription_url":"https://api.github.com/repos/tenstorrent/tt-torch/subscription","commits_url":"https://api.github.com/repos/tenstorrent/tt-torch/commits{/sha}","git_commits_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/commits{/sha}","comments_url":"https://api.github.com/repos/tenstorrent/tt-torch/comments{/number}","issue_comment_url":"https://api.github.com/repos/tenstorrent/tt-torch/issues/comments{/number}","contents_url":"https://api.github.com/repos/tenstorrent/tt-torch/contents/{+path}","compare_url":"https://api.github.com/repos/tenstorrent/tt-torch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tenstorrent/tt-torch/merges","archive_url":"https://api.github.com/repos/tenstorrent/tt-torch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tenstorrent/tt-torch/downloads","issues_url":"https://api.github.com/repos/tenstorrent/tt-torch/issues{/number}","pulls_url":"https://api.github.com/repos/tenstorrent/tt-torch/pulls{/number}","milestones_url":"https://api.github.com/repos/tenstorrent/tt-torch/milestones{/number}","notifications_url":"https://api.github.com/repos/tenstorrent/tt-torch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tenstorrent/tt-torch/labels{/name}","releases_url":"https://api.github.com/repos/tenstorrent/tt-torch/releases{/id}","deployments_url":"https://api.github.com/repos/tenstorrent/tt-torch/deployments"},"head_repository":{"id":876308311,"node_id":"R_kgDONDtnVw","name":"tt-torch","full_name":"tenstorrent/tt-torch","private":true,"owner":{"login":"tenstorrent","id":64161552,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0MTYxNTUy","avatar_url":"https://avatars.githubusercontent.com/u/64161552?v=4","gravatar_id":"","url":"https://api.github.com/users/tenstorrent","html_url":"https://github.com/tenstorrent","followers_url":"https://api.github.com/users/tenstorrent/followers","following_url":"https://api.github.com/users/tenstorrent/following{/other_user}","gists_url":"https://api.github.com/users/tenstorrent/gists{/gist_id}","starred_url":"https://api.github.com/users/tenstorrent/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tenstorrent/subscriptions","organizations_url":"https://api.github.com/users/tenstorrent/orgs","repos_url":"https://api.github.com/users/tenstorrent/repos","events_url":"https://api.github.com/users/tenstorrent/events{/privacy}","received_events_url":"https://api.github.com/users/tenstorrent/received_events","type":"Organization","user_view_type":"public","site_admin":false},"html_url":"https://github.com/tenstorrent/tt-torch","description":null,"fork":false,"url":"https://api.github.com/repos/tenstorrent/tt-torch","forks_url":"https://api.github.com/repos/tenstorrent/tt-torch/forks","keys_url":"https://api.github.com/repos/tenstorrent/tt-torch/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tenstorrent/tt-torch/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tenstorrent/tt-torch/teams","hooks_url":"https://api.github.com/repos/tenstorrent/tt-torch/hooks","issue_events_url":"https://api.github.com/repos/tenstorrent/tt-torch/issues/events{/number}","events_url":"https://api.github.com/repos/tenstorrent/tt-torch/events","assignees_url":"https://api.github.com/repos/tenstorrent/tt-torch/assignees{/user}","branches_url":"https://api.github.com/repos/tenstorrent/tt-torch/branches{/branch}","tags_url":"https://api.github.com/repos/tenstorrent/tt-torch/tags","blobs_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/refs{/sha}","trees_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tenstorrent/tt-torch/statuses/{sha}","languages_url":"https://api.github.com/repos/tenstorrent/tt-torch/languages","stargazers_url":"https://api.github.com/repos/tenstorrent/tt-torch/stargazers","contributors_url":"https://api.github.com/repos/tenstorrent/tt-torch/contributors","subscribers_url":"https://api.github.com/repos/tenstorrent/tt-torch/subscribers","subscription_url":"https://api.github.com/repos/tenstorrent/tt-torch/subscription","commits_url":"https://api.github.com/repos/tenstorrent/tt-torch/commits{/sha}","git_commits_url":"https://api.github.com/repos/tenstorrent/tt-torch/git/commits{/sha}","comments_url":"https://api.github.com/repos/tenstorrent/tt-torch/comments{/number}","issue_comment_url":"https://api.github.com/repos/tenstorrent/tt-torch/issues/comments{/number}","contents_url":"https://api.github.com/repos/tenstorrent/tt-torch/contents/{+path}","compare_url":"https://api.github.com/repos/tenstorrent/tt-torch/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tenstorrent/tt-torch/merges","archive_url":"https://api.github.com/repos/tenstorrent/tt-torch/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tenstorrent/tt-torch/downloads","issues_url":"https://api.github.com/repos/tenstorrent/tt-torch/issues{/number}","pulls_url":"https://api.github.com/repos/tenstorrent/tt-torch/pulls{/number}","milestones_url":"https://api.github.com/repos/tenstorrent/tt-torch/milestones{/number}","notifications_url":"https://api.github.com/repos/tenstorrent/tt-torch/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tenstorrent/tt-torch/labels{/name}","releases_url":"https://api.github.com/repos/tenstorrent/tt-torch/releases{/id}","deployments_url":"https://api.github.com/repos/tenstorrent/tt-torch/deployments"}} diff --git a/.github/actions/collect_data/test/data/12084081698/workflow_jobs.json b/.github/actions/collect_data/test/data/12084081698/workflow_jobs.json new file mode 100644 index 0000000..1a13a32 --- /dev/null +++ b/.github/actions/collect_data/test/data/12084081698/workflow_jobs.json @@ -0,0 +1,511 @@ +{ + "total_count": 4, + "jobs": [ + { + "id": 33705919829, + "run_id": 12084081698, + "workflow_name": "On PR", + "head_branch": "vmilosevic/test_reports", + "run_url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698", + "run_attempt": 2, + "node_id": "CR_kwDONDtnV88AAAAH2QeFVQ", + "head_sha": "d07b79eff38dd213ed122a83573de68819c87ce2", + "url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/jobs/33705919829", + "html_url": "https://github.com/tenstorrent/tt-torch/actions/runs/12084081698/job/33705919829", + "status": "completed", + "conclusion": "success", + "created_at": "2024-11-29T14:30:03Z", + "started_at": "2024-11-29T14:30:10Z", + "completed_at": "2024-11-29T14:30:15Z", + "name": "spdx / check-spdx-headers", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2024-11-29T14:30:09Z", + "completed_at": "2024-11-29T14:30:10Z" + }, + { + "name": "checkout", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2024-11-29T14:30:10Z", + "completed_at": "2024-11-29T14:30:12Z" + }, + { + "name": "Run enarx/spdx@master", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2024-11-29T14:30:12Z", + "completed_at": "2024-11-29T14:30:12Z" + }, + { + "name": "Post checkout", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2024-11-29T14:30:15Z", + "completed_at": "2024-11-29T14:30:15Z" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2024-11-29T14:30:12Z", + "completed_at": "2024-11-29T14:30:12Z" + } + ], + "check_run_url": "https://api.github.com/repos/tenstorrent/tt-torch/check-runs/33705919829", + "labels": [ + "ubuntu-latest" + ], + "runner_id": 18, + "runner_name": "GitHub Actions 18", + "runner_group_id": 2, + "runner_group_name": "GitHub Actions" + }, + { + "id": 33705920152, + "run_id": 12084081698, + "workflow_name": "On PR", + "head_branch": "vmilosevic/test_reports", + "run_url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698", + "run_attempt": 2, + "node_id": "CR_kwDONDtnV88AAAAH2QeGmA", + "head_sha": "d07b79eff38dd213ed122a83573de68819c87ce2", + "url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/jobs/33705920152", + "html_url": "https://github.com/tenstorrent/tt-torch/actions/runs/12084081698/job/33705920152", + "status": "completed", + "conclusion": "success", + "created_at": "2024-11-29T14:30:03Z", + "started_at": "2024-11-29T14:30:09Z", + "completed_at": "2024-11-29T14:30:20Z", + "name": "pre-commit / pre-commit", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2024-11-29T14:30:08Z", + "completed_at": "2024-11-29T14:30:09Z" + }, + { + "name": "Run actions/checkout@v4", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2024-11-29T14:30:09Z", + "completed_at": "2024-11-29T14:30:10Z" + }, + { + "name": "Set up Python", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2024-11-29T14:30:11Z", + "completed_at": "2024-11-29T14:30:11Z" + }, + { + "name": "Run pre-commit", + "status": "completed", + "conclusion": "success", + "number": 4, + "started_at": "2024-11-29T14:30:11Z", + "completed_at": "2024-11-29T14:30:18Z" + }, + { + "name": "Post Run pre-commit", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2024-11-29T14:30:18Z", + "completed_at": "2024-11-29T14:30:18Z" + }, + { + "name": "Post Set up Python", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2024-11-29T14:30:18Z", + "completed_at": "2024-11-29T14:30:18Z" + }, + { + "name": "Post Run actions/checkout@v4", + "status": "completed", + "conclusion": "success", + "number": 8, + "started_at": "2024-11-29T14:30:20Z", + "completed_at": "2024-11-29T14:30:20Z" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 9, + "started_at": "2024-11-29T14:30:18Z", + "completed_at": "2024-11-29T14:30:18Z" + } + ], + "check_run_url": "https://api.github.com/repos/tenstorrent/tt-torch/check-runs/33705920152", + "labels": [ + "ubuntu-latest" + ], + "runner_id": 10, + "runner_name": "GitHub Actions 10", + "runner_group_id": 2, + "runner_group_name": "GitHub Actions" + }, + { + "id": 33705933184, + "run_id": 12084081698, + "workflow_name": "On PR", + "head_branch": "vmilosevic/test_reports", + "run_url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698", + "run_attempt": 2, + "node_id": "CR_kwDONDtnV88AAAAH2Qe5gA", + "head_sha": "d07b79eff38dd213ed122a83573de68819c87ce2", + "url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/jobs/33705933184", + "html_url": "https://github.com/tenstorrent/tt-torch/actions/runs/12084081698/job/33705933184", + "status": "completed", + "conclusion": "success", + "created_at": "2024-11-29T14:30:21Z", + "started_at": "2024-11-29T14:30:25Z", + "completed_at": "2024-11-29T14:46:30Z", + "name": "build / build (n150, run)", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2024-11-29T14:30:25Z", + "completed_at": "2024-11-29T14:30:33Z" + }, + { + "name": "Set up runner", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2024-11-29T14:30:33Z", + "completed_at": "2024-11-29T14:31:17Z" + }, + { + "name": "Initialize containers", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2024-11-29T14:31:18Z", + "completed_at": "2024-11-29T14:32:44Z" + }, + { + "name": "Run actions/checkout@v4", + "status": "completed", + "conclusion": "success", + "number": 4, + "started_at": "2024-11-29T14:32:45Z", + "completed_at": "2024-11-29T14:32:46Z" + }, + { + "name": "Set reusable strings", + "status": "completed", + "conclusion": "success", + "number": 5, + "started_at": "2024-11-29T14:32:46Z", + "completed_at": "2024-11-29T14:32:46Z" + }, + { + "name": "Git safe dir", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2024-11-29T14:32:46Z", + "completed_at": "2024-11-29T14:32:46Z" + }, + { + "name": "ccache", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2024-11-29T14:32:46Z", + "completed_at": "2024-11-29T14:32:51Z" + }, + { + "name": "Configure CMake", + "status": "completed", + "conclusion": "success", + "number": 8, + "started_at": "2024-11-29T14:32:51Z", + "completed_at": "2024-11-29T14:35:15Z" + }, + { + "name": "Build", + "status": "completed", + "conclusion": "success", + "number": 9, + "started_at": "2024-11-29T14:35:15Z", + "completed_at": "2024-11-29T14:45:37Z" + }, + { + "name": "Copy tt-metal binaries", + "status": "completed", + "conclusion": "success", + "number": 10, + "started_at": "2024-11-29T14:45:37Z", + "completed_at": "2024-11-29T14:45:37Z" + }, + { + "name": "Copy tt-metal directories", + "status": "completed", + "conclusion": "success", + "number": 11, + "started_at": "2024-11-29T14:45:37Z", + "completed_at": "2024-11-29T14:45:38Z" + }, + { + "name": "Tar install directory", + "status": "completed", + "conclusion": "success", + "number": 12, + "started_at": "2024-11-29T14:45:38Z", + "completed_at": "2024-11-29T14:45:39Z" + }, + { + "name": "Upload install folder to archive", + "status": "completed", + "conclusion": "success", + "number": 13, + "started_at": "2024-11-29T14:45:39Z", + "completed_at": "2024-11-29T14:46:12Z" + }, + { + "name": "Post ccache", + "status": "completed", + "conclusion": "success", + "number": 23, + "started_at": "2024-11-29T14:46:12Z", + "completed_at": "2024-11-29T14:46:27Z" + }, + { + "name": "Post Run actions/checkout@v4", + "status": "completed", + "conclusion": "success", + "number": 24, + "started_at": "2024-11-29T14:46:27Z", + "completed_at": "2024-11-29T14:46:27Z" + }, + { + "name": "Stop containers", + "status": "completed", + "conclusion": "success", + "number": 25, + "started_at": "2024-11-29T14:46:27Z", + "completed_at": "2024-11-29T14:46:27Z" + }, + { + "name": "Complete runner", + "status": "completed", + "conclusion": "success", + "number": 26, + "started_at": "2024-11-29T14:46:30Z", + "completed_at": "2024-11-29T14:46:30Z" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 27, + "started_at": "2024-11-29T14:46:27Z", + "completed_at": "2024-11-29T14:46:27Z" + } + ], + "check_run_url": "https://api.github.com/repos/tenstorrent/tt-torch/check-runs/33705933184", + "labels": [ + "in-service", + "n150" + ], + "runner_id": 3, + "runner_name": "torch-n150-2", + "runner_group_id": 1, + "runner_group_name": "Default" + }, + { + "id": 33706643326, + "run_id": 12084081698, + "workflow_name": "On PR", + "head_branch": "vmilosevic/test_reports", + "run_url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/runs/12084081698", + "run_attempt": 2, + "node_id": "CR_kwDONDtnV88AAAAH2RKPfg", + "head_sha": "d07b79eff38dd213ed122a83573de68819c87ce2", + "url": "https://api.github.com/repos/tenstorrent/tt-torch/actions/jobs/33706643326", + "html_url": "https://github.com/tenstorrent/tt-torch/actions/runs/12084081698/job/33706643326", + "status": "completed", + "conclusion": "failure", + "created_at": "2024-11-29T14:46:32Z", + "started_at": "2024-11-29T14:46:37Z", + "completed_at": "2024-11-29T14:52:58Z", + "name": "test / tests (n150, run)", + "steps": [ + { + "name": "Set up job", + "status": "completed", + "conclusion": "success", + "number": 1, + "started_at": "2024-11-29T14:46:37Z", + "completed_at": "2024-11-29T14:46:39Z" + }, + { + "name": "Set up runner", + "status": "completed", + "conclusion": "success", + "number": 2, + "started_at": "2024-11-29T14:46:39Z", + "completed_at": "2024-11-29T14:47:23Z" + }, + { + "name": "Initialize containers", + "status": "completed", + "conclusion": "success", + "number": 3, + "started_at": "2024-11-29T14:47:23Z", + "completed_at": "2024-11-29T14:47:25Z" + }, + { + "name": "Run actions/checkout@v4", + "status": "completed", + "conclusion": "success", + "number": 4, + "started_at": "2024-11-29T14:47:25Z", + "completed_at": "2024-11-29T14:47:29Z" + }, + { + "name": "Set reusable strings", + "status": "completed", + "conclusion": "success", + "number": 5, + "started_at": "2024-11-29T14:47:30Z", + "completed_at": "2024-11-29T14:47:30Z" + }, + { + "name": "Git safe dir", + "status": "completed", + "conclusion": "success", + "number": 6, + "started_at": "2024-11-29T14:47:30Z", + "completed_at": "2024-11-29T14:47:30Z" + }, + { + "name": "Use build artifacts", + "status": "completed", + "conclusion": "success", + "number": 7, + "started_at": "2024-11-29T14:47:30Z", + "completed_at": "2024-11-29T14:47:41Z" + }, + { + "name": "Untar install directory", + "status": "completed", + "conclusion": "success", + "number": 8, + "started_at": "2024-11-29T14:47:41Z", + "completed_at": "2024-11-29T14:47:42Z" + }, + { + "name": "make tt-metal directory", + "status": "completed", + "conclusion": "success", + "number": 9, + "started_at": "2024-11-29T14:47:42Z", + "completed_at": "2024-11-29T14:47:42Z" + }, + { + "name": "copy tt-metal dirs", + "status": "completed", + "conclusion": "success", + "number": 10, + "started_at": "2024-11-29T14:47:43Z", + "completed_at": "2024-11-29T14:47:43Z" + }, + { + "name": "Run PyTorch tests", + "status": "completed", + "conclusion": "success", + "number": 11, + "started_at": "2024-11-29T14:47:43Z", + "completed_at": "2024-11-29T14:52:42Z" + }, + { + "name": "Upload Test Report Torch", + "status": "completed", + "conclusion": "success", + "number": 12, + "started_at": "2024-11-29T14:52:42Z", + "completed_at": "2024-11-29T14:52:43Z" + }, + { + "name": "Run ONNX tests", + "status": "completed", + "conclusion": "failure", + "number": 13, + "started_at": "2024-11-29T14:52:43Z", + "completed_at": "2024-11-29T14:52:50Z" + }, + { + "name": "Upload Test Report Onnx", + "status": "completed", + "conclusion": "success", + "number": 14, + "started_at": "2024-11-29T14:52:50Z", + "completed_at": "2024-11-29T14:52:50Z" + }, + { + "name": "Post Run actions/checkout@v4", + "status": "completed", + "conclusion": "success", + "number": 26, + "started_at": "2024-11-29T14:52:50Z", + "completed_at": "2024-11-29T14:52:50Z" + }, + { + "name": "Stop containers", + "status": "completed", + "conclusion": "success", + "number": 27, + "started_at": "2024-11-29T14:52:51Z", + "completed_at": "2024-11-29T14:52:51Z" + }, + { + "name": "Complete runner", + "status": "completed", + "conclusion": "success", + "number": 28, + "started_at": "2024-11-29T14:52:51Z", + "completed_at": "2024-11-29T14:52:51Z" + }, + { + "name": "Complete job", + "status": "completed", + "conclusion": "success", + "number": 29, + "started_at": "2024-11-29T14:52:51Z", + "completed_at": "2024-11-29T14:52:51Z" + } + ], + "check_run_url": "https://api.github.com/repos/tenstorrent/tt-torch/check-runs/33706643326", + "labels": [ + "in-service", + "n150" + ], + "runner_id": 3, + "runner_name": "torch-n150-2", + "runner_group_id": 1, + "runner_group_name": "Default" + } + ] +} diff --git a/.github/actions/collect_data/test/test_generate_data.py b/.github/actions/collect_data/test/test_generate_data.py index b504f90..0dd01a4 100644 --- a/.github/actions/collect_data/test/test_generate_data.py +++ b/.github/actions/collect_data/test/test_generate_data.py @@ -14,6 +14,7 @@ ("11236784732", {"jobs_cnt": 2, "tests_cnt": 583}), ("12007373278", {"jobs_cnt": 9, "tests_cnt": 245}), ("12083382635", {"jobs_cnt": 21, "tests_cnt": 322}), + ("12084081698", {"jobs_cnt": 4, "tests_cnt": 250}), ], ) def test_create_pipeline_json(run_id, expected):