Add build-local render and release workflows

This commit is contained in:
2026-08-10 21:54:05 +01:00
parent eadef6c60e
commit 4a91533b63
244 changed files with 3585 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/env python3
from __future__ import annotations
import argparse
import os
import subprocess
import sys
from pathlib import Path
def main() -> int:
parser = argparse.ArgumentParser(description="Render renameable item previews with the Minecraft client.")
parser.add_argument("--manifest", default="build/renameable-items.json", help="Path to the generated manifest")
parser.add_argument("--pack-root", default="resourcepack", help="Path to the resource pack root")
parser.add_argument("--output-dir", default="build", help="Directory where renders should be written")
args = parser.parse_args()
repo_root = Path(__file__).resolve().parents[2]
client_renderer = repo_root / "build" / "client-renderer"
env = os.environ.copy()
env["RENDER_MANIFEST"] = str((repo_root / args.manifest).resolve())
env["RENDER_OUTPUT_DIR"] = str((repo_root / args.output_dir).resolve())
env["RENDER_PACK_ROOT"] = str((repo_root / args.pack_root).resolve())
command = ["gradle", "-p", str(client_renderer), "runClient", "--no-daemon"]
try:
completed = subprocess.run(command, cwd=repo_root, env=env)
except FileNotFoundError:
fallback = [
sys.executable,
str(Path(__file__).resolve().with_name("render_models.py")),
"--manifest",
str((repo_root / args.manifest).resolve()),
"--pack-root",
str((repo_root / args.pack_root).resolve()),
"--output-dir",
str((repo_root / args.output_dir).resolve()),
]
completed = subprocess.run(fallback, cwd=repo_root, env=env)
return completed.returncode
if __name__ == "__main__":
raise SystemExit(main())