From 7b17bc5442132e98f7aec646a3c677be4c02e7a9 Mon Sep 17 00:00:00 2001 From: Nick Frichette Date: Sun, 25 Jan 2026 14:36:54 -0600 Subject: [PATCH 1/3] Added GitHub actions merge scheduler --- .github/scripts/parse_schedule.py | 88 ++++++++ .github/workflows/scheduled_merge.yml | 287 ++++++++++++++++++++++++++ CONTRIBUTING.md | 20 ++ 3 files changed, 395 insertions(+) create mode 100644 .github/scripts/parse_schedule.py create mode 100644 .github/workflows/scheduled_merge.yml diff --git a/.github/scripts/parse_schedule.py b/.github/scripts/parse_schedule.py new file mode 100644 index 000000000..0ec4380a7 --- /dev/null +++ b/.github/scripts/parse_schedule.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 +import os +import re +from datetime import datetime, timezone +from zoneinfo import ZoneInfo + + +def write_output(key: str, value: str) -> None: + path = os.environ.get("GITHUB_OUTPUT") + if not path: + return + with open(path, "a", encoding="utf-8") as handle: + handle.write(f"{key}={value}\n") + + +def fail(message: str) -> None: + write_output("valid", "false") + write_output("error", message) + + +raw = os.environ.get("RAW", "").strip() +if not raw: + fail("Missing schedule time.") + raise SystemExit(0) + +normalized = re.sub(r"\s+", " ", raw).strip() +match = re.match( + r"^(?P\d{4}-\d{2}-\d{2})\s+(?P