44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
#!/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()
|