1215c1c3bSPatrick Williams#!/usr/bin/python3 2215c1c3bSPatrick Williamsimport re 3215c1c3bSPatrick Williams 4215c1c3bSPatrick Williams 5215c1c3bSPatrick Williamsdef project(name: str) -> bool: 6215c1c3bSPatrick Williams reject_regex = [ 7215c1c3bSPatrick Williams ".*-oem", 8215c1c3bSPatrick Williams "openbmc/ibm-.*", 9215c1c3bSPatrick Williams "openbmc/intel-.*", 10215c1c3bSPatrick Williams "openbmc/google-.*", 11215c1c3bSPatrick Williams "openbmc/meta-.*", 12215c1c3bSPatrick Williams ] 13215c1c3bSPatrick Williams 14215c1c3bSPatrick Williams reject_repo = [ 15215c1c3bSPatrick Williams "openbmc/s2600wf-misc", 16215c1c3bSPatrick Williams ] 17215c1c3bSPatrick Williams 18215c1c3bSPatrick Williams for r in reject_repo: 19215c1c3bSPatrick Williams if r == name: 20215c1c3bSPatrick Williams return False 21215c1c3bSPatrick Williams 22215c1c3bSPatrick Williams for r in reject_regex: 23215c1c3bSPatrick Williams if re.match(r, name): 24215c1c3bSPatrick Williams return False 25215c1c3bSPatrick Williams 26215c1c3bSPatrick Williams return True 27215c1c3bSPatrick Williams 28215c1c3bSPatrick Williams 29215c1c3bSPatrick Williamsdef file(proj: str, filename: str) -> bool: 30215c1c3bSPatrick Williams reject_regex = { 31215c1c3bSPatrick Williams "all": [ 32*b0ce01dbSPatrick Williams ".*/create_pel.*", 33215c1c3bSPatrick Williams ".*/google/", 34215c1c3bSPatrick Williams ".*/ibm/", 35215c1c3bSPatrick Williams ".*/intel/", 36215c1c3bSPatrick Williams "MAINTAINERS", 37215c1c3bSPatrick Williams "OWNERS", 38215c1c3bSPatrick Williams "ibm-.*", 39215c1c3bSPatrick Williams "ibm_.*", 40215c1c3bSPatrick Williams ], 41215c1c3bSPatrick Williams "openbmc/entity-manager": ["configurations/.*"], 42215c1c3bSPatrick Williams "openbmc/libmctp": ["docs/bindings/vendor-.*"], 43215c1c3bSPatrick Williams "openbmc/openbmc": ["meta-(?!phosphor).*", "poky/.*"], 44215c1c3bSPatrick Williams "openbmc/openbmc-test-automation": ["oem/.*", "openpower/.*"], 45*b0ce01dbSPatrick Williams "openbmc/openpower-libhei": [ 46*b0ce01dbSPatrick Williams "test/simulator/sample_data/.*", 47*b0ce01dbSPatrick Williams "test/simulator/test_*cases/.*", 48*b0ce01dbSPatrick Williams "xml/.*", 49*b0ce01dbSPatrick Williams ], 50*b0ce01dbSPatrick Williams "openbmc/openpower-hw-diags": [ 51*b0ce01dbSPatrick Williams ".*/pel/.*", 52*b0ce01dbSPatrick Williams ".*/ras-data/.*", 53*b0ce01dbSPatrick Williams ], 54215c1c3bSPatrick Williams "openbmc/phosphor-debug-collector": [ 55215c1c3bSPatrick Williams "dump-extensions/.*", 56215c1c3bSPatrick Williams "tools/dreport.d/ibm.d/.*", 57215c1c3bSPatrick Williams ], 58215c1c3bSPatrick Williams "openbmc/phosphor-fan-presence": [".*/config_files/.*"], 59215c1c3bSPatrick Williams "openbmc/phosphor-power": [".*/config_files/.*"], 60215c1c3bSPatrick Williams "openbmc/phosphor-led-manager": ["configs/.*"], 61215c1c3bSPatrick Williams "openbmc/phosphor-logging": [".*/openpower-pels/.*"], 62215c1c3bSPatrick Williams "openbmc/webui-vue": [ 63215c1c3bSPatrick Williams "src/env/.*", 64215c1c3bSPatrick Williams ], 65215c1c3bSPatrick Williams } 66215c1c3bSPatrick Williams 67d0269de8SPatrick Williams reject_files = ["/COMMIT_MSG", "/PATCHSET_LEVEL"] 68215c1c3bSPatrick Williams 69215c1c3bSPatrick Williams for r in reject_files: 70215c1c3bSPatrick Williams if r == filename: 71215c1c3bSPatrick Williams return False 72215c1c3bSPatrick Williams 73215c1c3bSPatrick Williams for r in reject_regex.get(proj, []) + reject_regex.get("all", []): 74215c1c3bSPatrick Williams if re.match(r, filename): 75215c1c3bSPatrick Williams return False 76215c1c3bSPatrick Williams 77215c1c3bSPatrick Williams return True 78