Update LAVA related CI logs to make it more user-friendly
1. Make logs for debug silent by default to reduce redundant CI logs.
2. Print TF-M test log link together with its build job and LAVA test
job, to make it much easier for users to identify the test result of
a specific config.
3. Show TF-M test log link in the failure tests summary. Compared with
LAVA job log, TF-M test log is more readable for TF-M CI users.
Signed-off-by: Xinyu Zhang <xinyu.zhang@arm.com>
Change-Id: I7051022602de4e05b7f31c0dcb7a1c285d8c4c49
diff --git a/lava_helper/lava_wait_jobs.py b/lava_helper/lava_wait_jobs.py
index 6f70d28..cddc2ed 100755
--- a/lava_helper/lava_wait_jobs.py
+++ b/lava_helper/lava_wait_jobs.py
@@ -4,7 +4,7 @@
__copyright__ = """
/*
- * Copyright (c) 2020-2021, Arm Limited. All rights reserved.
+ * Copyright (c) 2020-2022, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -158,9 +158,10 @@
def job_links(jobs, user_args):
job_links = ""
for job, info in jobs.items():
- job_links += "Build Config: {} ".format(info['metadata']['build_name'])
- job_links += "LAVA link: {} ".format(lava_id_to_url(job, user_args))
+ job_links += "Build Config: {}\n".format(info['metadata']['build_name'])
job_links += "Build link: {}\n".format(info['metadata']['build_job_url'])
+ job_links += "LAVA link: {}\n".format(lava_id_to_url(job, user_args))
+ job_links += "TFM LOG: <BUILD_ARTIFACT_URL>{}/target_log.txt\n\n".format(info['job_dir'])
print(job_links)
def csv_report(jobs):
@@ -210,8 +211,8 @@
failed_report = "FAILURE_TESTS:"
for job, info in jobs.items():
if info['health'] != "Complete" or info['state'] != "Finished":
- failed_report += " {}:{}".format(info['metadata']['build_name'],
- lava_id_to_url(job, user_args))
+ failed_report += " {}:<BUILD_ARTIFACT_URL>{}/target_log.txt\n".format(info['metadata']['build_name'],
+ info['job_dir'])
print(failed_report)
def remove_lava_dupes(results):
@@ -266,11 +267,12 @@
def print_lava_urls(jobs, user_args):
output = [lava_id_to_url(x, user_args) for x in jobs]
- print("LAVA jobs triggered for this build: {}".format(output))
+ info_print("LAVA jobs triggered for this build: {}".format(output))
-def info_print(line):
- print("INFO: {}".format(line))
+def info_print(line, silent=True):
+ if not silent:
+ print("INFO: {}".format(line))
def main(user_args):
""" Main logic """