diff --git a/.github/scripts/update_readme.py b/.github/scripts/update_readme.py
index e7b85a73c8..9a355cf954 100644
--- a/.github/scripts/update_readme.py
+++ b/.github/scripts/update_readme.py
@@ -1,6 +1,7 @@
from datetime import datetime
import json
import sys
+import yaml
from jinja2 import Template
@@ -28,13 +29,54 @@
template = Template(f.read())
with open(readme_path, "w") as f:
- htmlout = "| Chunk ID | Tool List | Latest report | Previous report |
|---|
"
ids = list(chunks.keys())
ids = [int(x) for x in ids]
ids.sort()
ids = [str(x) for x in ids]
+ # Write the chunked test reports table
+ reports_html = "| Report ID | Tool List | Latest report | Previous report |
"
for eachid in ids:
eachchunk = chunks.get(eachid)
- htmlout += "| {} | Toolset | {} | {} |
".format(eachid, eachchunk.get("tools"), eachchunk.get("run1"), eachchunk.get("date1"), eachchunk.get("run2"), eachchunk.get("date2"))
- htmlout += ""
- f.write(template.render(anviltools=htmlout, reportdir=readme_path.replace("/README.md", "")))
+ reports_html += f"""
+
+ | {eachid} |
+ Toolset |
+ {eachchunk.get("date1")} |
+ {eachchunk.get("date2")} |
+
"""
+ reports_html += ""
+ # List tools individually
+ tool_tests_html = "# | Report ID | Tool ID | Test # | Test results | "
+ count = 0
+ for each_id in ids:
+ chunk = chunks.get(each_id)
+ chunk_tools_url = chunk.get('tools')
+ chunk_tools_path = chunk_tools_url.replace('https://github.com/anvilproject/galaxy-tests/blob/main/', '')
+ with open(chunk_tools_path, 'r') as tf:
+ chunk_tools = yaml.safe_load(tf)
+ for tool in chunk_tools['tools']:
+ for rev in tool['revisions']:
+ count += 1
+ tool_tests_html += f"""
+
+ | {count} |
+ {each_id} |
+ {tool['owner']}/{tool['name']}@{rev} | """
+ test_count = 0
+ for test in range(3): # TODO: Link with tests
+ test_count += 1
+ if test_count == 1:
+ tool_tests_html += f"""
+ Test #{test_count} |
+ FP | """
+ else:
+ tool_tests_html += f"""
+
+ | | |
+ Test #{test_count} |
+ FP |
+
"""
+ tool_tests_html +=""
+ tool_tests_html += ""
+
+ f.write(template.render(toolreports=reports_html, tooltests=tool_tests_html, reportdir=readme_path.replace("/README.md", "")))
diff --git a/.github/templates/README.md.j2 b/.github/templates/README.md.j2
index cb173306ee..8f89a15a34 100644
--- a/.github/templates/README.md.j2
+++ b/.github/templates/README.md.j2
@@ -1,17 +1,34 @@
# Automated Tests for Galaxy on Kubernetes Stacks
-## Galaxy on GKE deployed via GalaxyKubeMan (AnVIL)
-### Deployment Testing
-Twice a day, [GalaxyKubeMan (GKM)](https://github.com/galaxyproject/galaxykubeman-helm) is deployed on GKE, mimicking an AnVIL deployment. The purpose of these tests is to provide reasonable confidence that Galaxy is launchable on the AnVIL everyday.
-Below is a plot summarizing successful deployments and GKM install times.
-Click here or on the image for more details.
+## Deployment testing
-
+Twice a day, [GalaxyKubeMan
+(GKM)](https://github.com/galaxyproject/galaxykubeman-helm) is deployed on GKE,
+mimicking an AnVIL deployment. The purpose of these tests is to provide
+reasonable confidence that Galaxy can be launched on the AnVIL everyday.
-### Tool Testing
-After each successful deployment, automated tool tests are also run against the instance. These serve as an end-to-end-like test for Galaxy, providing confidence that Galaxy is not only launchable but functional. These tests cycle on a weekly basis through the entire suite of tools installed by default on AnVIL, providing reasonable confidence that the tools encountered by most users remain functional, and automating the detection and reporting of tools breaking.
+Below is a plot summarizing successful deployments and GKM install times. Click
+here or on the image for more details.
-Latest tool tests for each chunk:
+
+
+
-
+## Tool testing
+After each successful deployment, automated tool tests are also run against the
+instance. These serve as an end-to-end-like test for Galaxy, providing
+confidence that Galaxy deployments are functional. These tests cycle on a weekly
+basis through the entire suite of tools installed by default on AnVIL, providing
+reasonable confidence that the tools encountered by most users remain
+functional, and automating the detection and reporting of tools breaking.
+### Tool test reports
+
+Latest tool test reports for each chunk:
+
+
+
+### Individual tool tests results over time:
+
+