release 1.10.3: sticky ERROR only from check badges

This commit is contained in:
Hernâni Marques 2026-07-19 01:30:07 +02:00
parent 1226d2a8f7
commit bc0d0a5485
No known key found for this signature in database
GPG key ID: CB5738652768F7E9
3 changed files with 11 additions and 5 deletions

View file

@ -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"