mirror of
https://github.com/towishy/Owen-Graphite.git
synced 2026-07-22 04:40:30 +00:00
45 lines
No EOL
1.4 KiB
Python
45 lines
No EOL
1.4 KiB
Python
#!/usr/bin/env python3
|
|
"""Finish an Owen Graphite task with validation guidance and summary."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
import subprocess
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
PYTHON = sys.executable
|
|
|
|
|
|
def run(args: list[str]) -> int:
|
|
return subprocess.run([PYTHON, *args], cwd=ROOT).returncode
|
|
|
|
|
|
def main() -> int:
|
|
parser = argparse.ArgumentParser(description=__doc__)
|
|
parser.add_argument("--check", action="store_true", help="Run core WIKI consistency and validation-plan scripts.")
|
|
parser.add_argument("--sync", action="store_true", help="Sync release assets to Obsidian after summary/checks.")
|
|
parser.add_argument("--target", help="Target Obsidian theme folder for --sync.")
|
|
args = parser.parse_args()
|
|
|
|
exit_code = 0
|
|
print("== Work summary ==")
|
|
exit_code |= run(["dev/scripts/work_summary.py"])
|
|
print("\n== Validation plan ==")
|
|
exit_code |= run(["dev/scripts/validation_plan.py"])
|
|
if args.check:
|
|
print("\n== WIKI consistency ==")
|
|
exit_code |= run(["dev/scripts/audit_wiki_consistency.py"])
|
|
if args.sync:
|
|
print("\n== Obsidian sync ==")
|
|
command = ["dev/scripts/sync_obsidian_theme.py", "--skip-bundle"]
|
|
if args.target:
|
|
command.extend(["--target", args.target])
|
|
exit_code |= run(command)
|
|
return exit_code
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main()) |