add CI check for DMI conflict markers (#22494)

* add CI check for DMI conflict markers

* helps to do the thing
This commit is contained in:
warriorstar-orion
2023-09-20 12:46:43 +01:00
committed by GitHub
parent 5e8536871b
commit 0ac224db0e
2 changed files with 38 additions and 0 deletions
+1
View File
@@ -36,6 +36,7 @@ jobs:
python tools/ci/check_file_names.py
python tools/ci/unticked_files.py ${GITHUB_WORKSPACE}
python tools/ci/illegal_dme_files.py ${GITHUB_WORKSPACE}
python -m tools.ci.check_icon_conflicts
python -m tools.maplint.source --github
~/dreamchecker > ${GITHUB_WORKSPACE}/output-annotations.txt 2>&1
- name: Annotate Lints
+37
View File
@@ -0,0 +1,37 @@
from collections import defaultdict
import glob
import sys
import time
from ..dmi import Dmi
if __name__ == "__main__":
print("check_icon_conflicts started")
count = 0
exit_code = 0
start = time.time()
findings = defaultdict(list)
for dmi_path in glob.glob("**/*.dmi", recursive=True):
dmi = Dmi.from_file(dmi_path)
for state in dmi.states:
if '!CONFLICT!' in state.name:
findings[dmi_path].append(state.name)
count += 1
if findings:
exit_code = 1
for filename in sorted(findings.keys()):
states = findings[filename]
for state in sorted(states):
print(f"{filename}: conflicted state {state}")
end = time.time()
print(f"\ncheck_icon_conflicts checked {count} files in {end - start:.2f}s\n")
sys.exit(exit_code)