tof-voters: add commit analysis subcommand
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I6e56202c014a52d16773415edf59d4e6a7ecdf59
diff --git a/tof-voters/libvoters/acceptable.py b/tof-voters/libvoters/acceptable.py
new file mode 100644
index 0000000..2e350e1
--- /dev/null
+++ b/tof-voters/libvoters/acceptable.py
@@ -0,0 +1,68 @@
+#!/usr/bin/python3
+import re
+
+
+def project(name: str) -> bool:
+ reject_regex = [
+ ".*-oem",
+ "openbmc/ibm-.*",
+ "openbmc/intel-.*",
+ "openbmc/openpower-.*",
+ "openbmc/google-.*",
+ "openbmc/meta-.*",
+ ]
+
+ reject_repo = [
+ "openbmc/s2600wf-misc",
+ ]
+
+ for r in reject_repo:
+ if r == name:
+ return False
+
+ for r in reject_regex:
+ if re.match(r, name):
+ return False
+
+ return True
+
+
+def file(proj: str, filename: str) -> bool:
+ reject_regex = {
+ "all": [
+ ".*/google/",
+ ".*/ibm/",
+ ".*/intel/",
+ "MAINTAINERS",
+ "OWNERS",
+ "ibm-.*",
+ "ibm_.*",
+ ],
+ "openbmc/entity-manager": ["configurations/.*"],
+ "openbmc/libmctp": ["docs/bindings/vendor-.*"],
+ "openbmc/openbmc": ["meta-(?!phosphor).*", "poky/.*"],
+ "openbmc/openbmc-test-automation": ["oem/.*", "openpower/.*"],
+ "openbmc/phosphor-debug-collector": [
+ "dump-extensions/.*",
+ "tools/dreport.d/ibm.d/.*",
+ ],
+ "openbmc/phosphor-fan-presence": [".*/config_files/.*"],
+ "openbmc/phosphor-power": [".*/config_files/.*"],
+ "openbmc/phosphor-led-manager": ["configs/.*"],
+ "openbmc/phosphor-logging": [".*/openpower-pels/.*"],
+ "openbmc/webui-vue": [
+ "src/env/.*",
+ ],
+ }
+
+ reject_files = ["/COMMIT_MSG"]
+
+ for r in reject_files:
+ if r == filename:
+ return False
+
+ for r in reject_regex.get(proj, []) + reject_regex.get("all", []):
+ if re.match(r, filename):
+ return False
+
+ return True