aboutsummaryrefslogtreecommitdiff
path: root/scripts/ci
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ci')
-rw-r--r--scripts/ci/parse_clang_tidy.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/scripts/ci/parse_clang_tidy.py b/scripts/ci/parse_clang_tidy.py
index 48596de..6167c99 100644
--- a/scripts/ci/parse_clang_tidy.py
+++ b/scripts/ci/parse_clang_tidy.py
@@ -1,5 +1,6 @@
import hashlib
import json
+import os
import re
import sys
@@ -9,6 +10,7 @@ def parse_clang_tidy(log_file_path: str) -> list[dict]:
pattern = re.compile(
r"^(.*?):(\d+):(\d+):\s+(warning|error|note):\s+(.*?)\s+\[(.*?)\]$"
)
+ repo_root = os.environ.get("CI_PROJECT_DIR", os.getcwd())
with open(log_file_path, "r") as f:
for line in f:
@@ -19,7 +21,12 @@ def parse_clang_tidy(log_file_path: str) -> list[dict]:
path, line, column, severity, message, name = match.groups()
severity = "minor" if severity == "warning" else "major"
- fingerprint_data = f"{path}:{line}:{name}"
+ try:
+ path = os.path.relpath(path, repo_root)
+ except ValueError:
+ pass
+
+ fingerprint_data = f"{path}:{line}:{name}:{message}"
fingerprint = hashlib.sha256(fingerprint_data.encode()).hexdigest()
issues.append(