summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2024-03-21 17:14:04 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2024-03-27 10:46:34 +0000
commitb0a5963632683dffbfd391ac5afca57e8fa09611 (patch)
tree651db3781465d08030485dc0527de71ec3c03dac
parent1b0d86bdde7e506a60b95402836afbedcd13d48f (diff)
generate-cimonitor-dashboard.py: Generate static LNT dashboardtested
to provide pointers to LNT health check pages for various projects. Change-Id: I983a342f8ac0ae031a62ea399c0db328e6d53f4b
-rw-r--r--cimonitor-configs/CI-TCWG-ARM.yaml2
-rw-r--r--cimonitor-configs/CI-TCWG.yaml1
-rw-r--r--cimonitor-configs/LNT.yaml28
-rwxr-xr-xgenerate-cimonitor-dashboard.py48
4 files changed, 65 insertions, 14 deletions
diff --git a/cimonitor-configs/CI-TCWG-ARM.yaml b/cimonitor-configs/CI-TCWG-ARM.yaml
index 2c3b2334..f2d126fe 100644
--- a/cimonitor-configs/CI-TCWG-ARM.yaml
+++ b/cimonitor-configs/CI-TCWG-ARM.yaml
@@ -1,6 +1,8 @@
format:
server: ci.linaro.org
filename: "CI-TCWG-ARM.html"
+ links:
+ - LNT
details_table:
columns:
diff --git a/cimonitor-configs/CI-TCWG.yaml b/cimonitor-configs/CI-TCWG.yaml
index 68664332..242451b5 100644
--- a/cimonitor-configs/CI-TCWG.yaml
+++ b/cimonitor-configs/CI-TCWG.yaml
@@ -5,6 +5,7 @@ format:
- tcwg
- tcwg-bisect
- CI-TCWG-ARM
+ - LNT
- "@pattern@"
summary_table_last_run:
diff --git a/cimonitor-configs/LNT.yaml b/cimonitor-configs/LNT.yaml
new file mode 100644
index 00000000..2d33af4c
--- /dev/null
+++ b/cimonitor-configs/LNT.yaml
@@ -0,0 +1,28 @@
+filename: "LNT.html"
+lnt_dashboard:
+ binutils:
+ - aarch64 http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_binutils_check/graph?plot.1034706317292025484.11=231404492126674122.1034706317292025484.11&plot.28257213379791955.12=231404492126674122.28257213379791955.12
+ - arm http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_binutils_check/graph?plot.1034706317292025484.11=1000400360521891559.1034706317292025484.11&plot.28257213379791955.12=1000400360521891559.28257213379791955.12
+ - trend http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_binutils_check/latest_runs_report
+ - details http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_binutils_check/recent_activity
+
+ gcc:
+ - aarch64 http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gcc_check/graph?plot.1034706317292025484.11=231404492126674122.1034706317292025484.11&plot.28257213379791955.12=231404492126674122.28257213379791955.12
+ - arm http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gcc_check/graph?plot.1034706317292025484.11=1000400360521891559.1034706317292025484.11&plot.28257213379791955.12=1000400360521891559.28257213379791955.12
+ - trend http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gcc_check/latest_runs_report
+ - details http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gcc_check/recent_activity
+
+ gdb:
+ - aarch64 http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gdb_check/graph?plot.1034706317292025484.11=231404492126674122.1034706317292025484.11&plot.28257213379791955.12=231404492126674122.28257213379791955.12
+ - arm http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gdb_check/graph?plot.1034706317292025484.11=1000400360521891559.1034706317292025484.11&plot.28257213379791955.12=1000400360521891559.28257213379791955.12
+ - trend http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gdb_check/latest_runs_report
+ - details http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_gdb_check/recent_activity
+
+ glibc:
+ - aarch64 http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_glibc_check/graph?plot.1034706317292025484.11=231404492126674122.1034706317292025484.11&plot.28257213379791955.12=231404492126674122.28257213379791955.12
+ - arm http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_glibc_check/graph?plot.1034706317292025484.11=1000400360521891559.1034706317292025484.11&plot.28257213379791955.12=1000400360521891559.28257213379791955.12
+ - trend http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_glibc_check/latest_runs_report
+ - details http://llvm.validation.linaro.org:38500/db_default/v4/tcwg_glibc_check/recent_activity
+
+ all projects:
+ - list http://llvm.validation.linaro.org:38500/
diff --git a/generate-cimonitor-dashboard.py b/generate-cimonitor-dashboard.py
index 5f2d553f..920a3d25 100755
--- a/generate-cimonitor-dashboard.py
+++ b/generate-cimonitor-dashboard.py
@@ -72,11 +72,15 @@ def config_sanity_check(config):
# nice_print(config)
if 'format' not in config:
assert("format not exists")
- if 'pattern' not in config:
- assert("pattern not exists")
def config_instantiate_on_all_pattern(config):
all_configs=[]
+
+ # Assume no pattern means LNT (static) dashboard, keep as-is
+ if 'pattern' not in config:
+ all_configs.append(config)
+ return all_configs
+
all_jobs=get_ci_page("https://ci.linaro.org", request="/api/json?tree=jobs[name]")
for pattern in config['pattern']:
config_fmt=config['format']
@@ -767,6 +771,10 @@ Iterates over the CONFIG project, and request the infos for each one
"""
def get_ci(config):
ci={}
+ # LNT dashboard does not have a details_table
+ if 'details_table' not in config:
+ return ci
+
for line in config['details_table']['lines']:
all_jobs=get_ci_page("https://ci.linaro.org", request="/api/json?tree=jobs[name]")
for job in all_jobs['jobs']:
@@ -813,11 +821,11 @@ html_header = """<html>
}
</style>
<head>
-<title>CI Status - %s</title>
+<title>CI Infrastructure Status - %s</title>
<link rel="stylesheet" type="text/css" href="sorting-table-css/example.css" />
</head>
<body>
-<h1>CI Status - %s</h1>
+<h1>CI Infrastructure Status - %s</h1>
"""
@@ -905,6 +913,17 @@ def dump_html(config, ci):
f.write("<p> date = "+str(datetime.datetime.now())+"</p>\n")
f.write("<p> config = <a href="+os.path.basename(config_name)+">"+os.path.basename(config_name)+"</a></p>\n")
+ # LNT dashboard (upstream projects health)
+ if 'lnt_dashboard' in config:
+ f.write("<h2>LNT dashboard (upstream projects health)</h2>\n")
+ f.write("<ul>\n")
+ for project in config['lnt_dashboard']:
+ f.write(" <h1>"+project+"</h1>\n")
+ for entry in config['lnt_dashboard'][project]:
+ text=entry.split()
+ f.write(" <li><a href=\""+text[1]+"\">"+text[0]+"</a></li>\n")
+ f.write("</ul>\n\n")
+
# LINKS
if 'links' in config:
f.write("<h2> LINKS </h2>\n")
@@ -940,18 +959,19 @@ def dump_html(config, ci):
f.write("</table>\n\n")
# DETAILS_TABLE
- f.write("<h2> DETAILS_TABLE </h2>\n")
- f.write("<p> help for the table format : <a href=\"help.html\">here</a>")
- f.write("<table border=1 cellspacing=1 cellpadding=3 class=\"sortable\">\n")
- f.write(" <thead>\n")
- for col in config['details_table']['columns']:
- f.write(" <th>"+col+"</th>\n")
- f.write(" </thead>\n")
+ if 'details_table' in config:
+ f.write("<h2> DETAILS_TABLE </h2>\n")
+ f.write("<p> help for the table format : <a href=\"help.html\">here</a>")
+ f.write("<table border=1 cellspacing=1 cellpadding=3 class=\"sortable\">\n")
+ f.write(" <thead>\n")
+ for col in config['details_table']['columns']:
+ f.write(" <th>"+col+"</th>\n")
+ f.write(" </thead>\n")
- for pjt in config['details_table']['lines']:
- dump_html_one_line(f, config['details_table'], ci[pjt])
+ for pjt in config['details_table']['lines']:
+ dump_html_one_line(f, config['details_table'], ci[pjt])
- f.write("</table>\n")
+ f.write("</table>\n")
f.write("<p> time to build html = "+str(datetime.datetime.now() - dt_now)+"</p>\n")