From 2f17162c1ecd32f47a7b227965f7c88c92ca5937 Mon Sep 17 00:00:00 2001 From: Joe Marshall Date: Fri, 26 Jan 2024 22:43:40 +0000 Subject: [PATCH] better debug info on addon install failure --- scripts/addons/cam/tests/install_addon.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/addons/cam/tests/install_addon.py b/scripts/addons/cam/tests/install_addon.py index fa6fb98..7384e25 100644 --- a/scripts/addons/cam/tests/install_addon.py +++ b/scripts/addons/cam/tests/install_addon.py @@ -2,12 +2,14 @@ import tempfile import sys import subprocess import pathlib +import shutil INSTALL_CODE=f""" import bpy bpy.ops.preferences.addon_install(filepath='{sys.argv[1]}') bpy.ops.preferences.addon_enable(module='cam') bpy.ops.wm.save_userpref() +import cam """ NUM_RETRIES=10 @@ -15,14 +17,19 @@ NUM_RETRIES=10 with tempfile.TemporaryDirectory() as td: file=pathlib.Path(td,"install.py") file.write_text(INSTALL_CODE) - command = f'blender -b -P "{str(file)}"' + # blender 4.0 installing addon crashes sometimes on mac github actions... for x in range(NUM_RETRIES): try: - subprocess.run(command, shell=True, check=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True) + subprocess.run([shutil.which('blender'),'-b','-P',str(file)], shell=False, check=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True) + print("installed addon okay") sys.exit(0) except subprocess.CalledProcessError as e: print("Install addon failed, retrying:",e) + print("Command output:") + print("------------------------------") + print(e.output) + print("------------------------------") for line in str(e.output): if line.startswith("Writing: "): crash_file=pathlib.Path(line[len("Writing: "):])