From 40562f81a0afc4f63176b0723da74a4a827376e1 Mon Sep 17 00:00:00 2001 From: Katherine Whitlock Date: Sun, 12 Jan 2025 10:35:34 -0500 Subject: [PATCH] Add dbt task to check community_features doc for missing PR links (#3262) --- scripts/tasks/task-checkprdoc.py | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 scripts/tasks/task-checkprdoc.py diff --git a/scripts/tasks/task-checkprdoc.py b/scripts/tasks/task-checkprdoc.py new file mode 100644 index 0000000000..8bac3504d3 --- /dev/null +++ b/scripts/tasks/task-checkprdoc.py @@ -0,0 +1,34 @@ +import argparse +import os +from pathlib import Path +import util +import re + +COMMUNITY_FEATURES_DOC = Path("docs/community_features.md") + + +def argparser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser(prog="checkprdoc", description="Run deluge tests") + parser.group = "Miscellaneous" + return parser + + +def main() -> int: + (args, unknown_args) = argparser().parse_known_args() + + os.chdir(util.get_git_root()) + + with open(COMMUNITY_FEATURES_DOC, "r", encoding="utf-8") as file: + content = file.read() + + # Find all PR references in the format [#1234] + pr_numbers = re.findall(r"\[#(\d+)\][^:]", content) + + # Check if the corresponding PR links exist + for pr_number in pr_numbers: + if not re.search(rf"\[#{pr_number}\]: https", content): + print( + f"[#{pr_number}]: https://github.com/SynthstromAudible/DelugeFirmware/pull/{pr_number}" + ) + + exit(0)