#!/usr/bin/env python3 import argparse import json import os import sys from pathlib import Path def main(): parser = argparse.ArgumentParser() parser.add_argument("--repo-path", required=True, help="dip-catalog git repo 경로") parser.add_argument("--chart", required=True) parser.add_argument("--from-version", required=True) parser.add_argument("--to-version", required=True) parser.add_argument("--breaking-file", required=True, help="breaking_change_check 출력 JSON 경로") args = parser.parse_args() repo_root = os.environ.get("UPDATE_CATALOG_ROOT") if repo_root: sys.path.insert(0, str(Path(repo_root) / "src")) else: sys.path.insert(0, str(Path(__file__).resolve().parent)) from update_catalog.create_pr import create_pr # type: ignore with open(args.breaking_file, "r", encoding="utf-8") as f: breaking_data = json.load(f) out = create_pr({ "repo_path": args.repo_path, "chart": args.chart, "from_version": args.from_version, "to_version": args.to_version, "breaking": breaking_data.get("breaking", False), "severity": breaking_data.get("severity", "warning"), "reasons": breaking_data.get("reasons", []), "warnings": breaking_data.get("warnings", []), }) print(json.dumps(out, ensure_ascii=False, indent=2)) if __name__ == "__main__": main()