They were still running because the conditional was not correct. This patch fixes that so they do not interefere with the results of the job.
66 lines
2.4 KiB
Python
66 lines
2.4 KiB
Python
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
# See https://llvm.org/LICENSE.txt for license information.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
"""Script for uploading results to the premerge advisor."""
|
|
|
|
import argparse
|
|
import os
|
|
import platform
|
|
import sys
|
|
|
|
import requests
|
|
|
|
import generate_test_report_lib
|
|
|
|
# These are IP addresses of the two premerge advisor instances. They should
|
|
# eventually be updated to domain names.
|
|
PREMERGE_ADVISOR_URLS = [
|
|
"http://34.82.126.63:5000/upload",
|
|
"http://136.114.125.23:5000/upload",
|
|
]
|
|
|
|
|
|
def main(commit_sha, workflow_run_number, build_log_files):
|
|
junit_objects, ninja_logs = generate_test_report_lib.load_info_from_files(
|
|
build_log_files
|
|
)
|
|
test_failures = generate_test_report_lib.get_failures(junit_objects)
|
|
source = "pull_request" if "GITHUB_ACTIONS" in os.environ else "postcommit"
|
|
current_platform = f"{platform.system()}-{platform.machine()}".lower()
|
|
failure_info = {
|
|
"source_type": source,
|
|
"base_commit_sha": commit_sha,
|
|
"source_id": workflow_run_number,
|
|
"failures": [],
|
|
"platform": current_platform,
|
|
}
|
|
if test_failures:
|
|
for _, failures in test_failures.items():
|
|
for name, failure_message in failures:
|
|
failure_info["failures"].append(
|
|
{"name": name, "message": failure_message}
|
|
)
|
|
else:
|
|
ninja_failures = generate_test_report_lib.find_failure_in_ninja_logs(ninja_logs)
|
|
for name, failure_message in ninja_failures:
|
|
failure_info["failures"].append({"name": name, "message": failure_message})
|
|
for premerge_advisor_url in PREMERGE_ADVISOR_URLS:
|
|
requests.post(premerge_advisor_url, json=failure_info, timeout=5)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("commit_sha", help="The base commit SHA for the test.")
|
|
parser.add_argument("workflow_run_number", help="The run number from GHA.")
|
|
parser.add_argument(
|
|
"build_log_files", help="Paths to JUnit report files and ninja logs.", nargs="*"
|
|
)
|
|
args = parser.parse_args()
|
|
|
|
# Skip uploading results on AArch64 for now because the premerge advisor
|
|
# service is not available on AWS currently.
|
|
if platform.machine() == "arm64" or platform.machine() == "aarch64":
|
|
sys.exit(0)
|
|
|
|
main(args.commit_sha, args.workflow_run_number, args.build_log_files)
|