Files
utilities/personal/cron_scripts/build_multi_powercycle.py
T
2026-04-26 10:18:04 -04:00

41 lines
1001 B
Python

#!/usr/bin/env python3
import subprocess
import sys
from pathlib import Path
SCRIPT_DIR = Path(__file__).resolve().parent
REPO_ROOT = SCRIPT_DIR.parents[1]
ENTRYPOINT = SCRIPT_DIR / "multi_powercycle.py"
DIST_DIR = REPO_ROOT / "dist"
def main():
command = [
sys.executable,
"-m",
"PyInstaller",
"--noconfirm",
"--clean",
"--onefile",
"--name",
"multi_powercycle",
"--collect-submodules",
"redfish",
str(ENTRYPOINT),
]
try:
subprocess.run(command, cwd=REPO_ROOT, check=True)
except subprocess.CalledProcessError as exc:
raise SystemExit(exc.returncode) from exc
output_name = "multi_powercycle.exe" if sys.platform.startswith("win") else "multi_powercycle"
output_path = DIST_DIR / output_name
print(f"Built executable: {output_path}")
print("Build once on each target OS to get a native executable for that platform.")
if __name__ == "__main__":
main()