From bc0d0a54857c810426cfdfcfd80d58df2cec0b90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hern=C3=A2ni=20Marques?= Date: Sun, 19 Jul 2026 01:30:07 +0200 Subject: [PATCH] release 1.10.3: sticky ERROR only from check badges --- VERSION | 2 +- VERSIONS.md | 1 + site-gen/console_to_html.py | 13 +++++++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index 5ad2491..587c5f0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.10.2 +1.10.3 diff --git a/VERSIONS.md b/VERSIONS.md index 971d9a6..8d14e6f 100644 --- a/VERSIONS.md +++ b/VERSIONS.md @@ -17,6 +17,7 @@ Git tags: `vMAJOR.FEATURE.FIX` (e.g. `v1.8.0`). File `VERSION` omits the `v` pre | Tag | Date (UTC) | Notes | |-----|------------|--------| +| **v1.10.3** | 2026-07-19 | **Bugfix:** sticky ERROR only from check badges (`┌ ERROR`) / `ERROR monpages`; ignore git `HEAD is now at …` commit subjects that mention ERROR. | | **v1.10.2** | 2026-07-19 | **Bugfix:** sticky ERROR count — classify with word-boundary `\bERROR\b` (not substring); avoids false red from git “wrote-errors” commit lines and similar. | | **v1.10.1** | 2026-07-19 | **Bugfix:** HTML converter must not treat teed `wrote … (errors=N)` lines as ERROR (false sticky red after clean host-agent runs). | | **v1.10.0** | 2026-07-19 | **Feature:** aptdeploy **container overview board** — inventory + per-pod matrix (state, merchant, httpd, ldd, OK/ERROR) in log and HTML sticky/top (`#container-overview`). | diff --git a/site-gen/console_to_html.py b/site-gen/console_to_html.py index 5d07a19..fcfeb76 100755 --- a/site-gen/console_to_html.py +++ b/site-gen/console_to_html.py @@ -199,14 +199,19 @@ def classify(line: str) -> str: # host-agent tees converter "wrote … (errors=N …)" into the same log if line.lstrip().lower().startswith("wrote ") and "errors=" in line.lower(): return "meta" + # git pull / reset noise (commit subjects may contain the word ERROR) + if re.match(r"\s*HEAD is now at\b", line): + return "meta" if "BLOCKER" in u or "┌ BLOCKER" in u: return "blocker" - # word-boundary: avoid "wrote-errors", "ERRORS=", commit subjects, etc. - if re.search(r"┌\s*ERROR\b|\[\s*ERROR\b|\bERROR\b", u) and not is_summary_error_line(line): + # Only real check badges (not free-text "ERROR" inside commit messages) + if re.search(r"┌\s*ERROR\b|\[\s*ERROR\b", u): return "error" - if re.search(r"┌\s*WARN\b|\[\s*WARN\b|\bWARN\b", u): + if re.search(r"\bERROR monpages\b", line, re.I): + return "error" + if re.search(r"┌\s*WARN\b|\[\s*WARN\b", u): return "warn" - if re.search(r"┌\s*INFO\b|\[\s*INFO\b|\bINFO\b", u): + if re.search(r"┌\s*INFO\b|\[\s*INFO\b", u): return "info" if " OK" in u or "[OK" in u or "┌ OK" in u or u.strip().startswith("OK"): return "ok"