diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2024-03-21 17:14:04 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2024-03-27 10:46:34 +0000 |
commit | b0a5963632683dffbfd391ac5afca57e8fa09611 (patch) | |
tree | 651db3781465d08030485dc0527de71ec3c03dac | |
parent | 1b0d86bdde7e506a60b95402836afbedcd13d48f (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.yaml | 2 | ||||
-rw-r--r-- | cimonitor-configs/CI-TCWG.yaml | 1 | ||||
-rw-r--r-- | cimonitor-configs/LNT.yaml | 28 | ||||
-rwxr-xr-x | generate-cimonitor-dashboard.py | 48 |
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") |