From 31a465c62ff786071889cdbba46554747fb11291 Mon Sep 17 00:00:00 2001 From: Matt Tancik Date: Thu, 7 Jul 2022 11:23:12 -0700 Subject: [PATCH] Run_actions quit on failed action --- scripts/debugging/run_actions.py | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/scripts/debugging/run_actions.py b/scripts/debugging/run_actions.py index c7f2b22d6..a1e2cdccd 100644 --- a/scripts/debugging/run_actions.py +++ b/scripts/debugging/run_actions.py @@ -1,29 +1,48 @@ """Simple yaml debugger""" import subprocess +import sys import yaml LOCAL_TESTS = ["Run Black", "Python Pylint", "Test with pytest"] + +def run_command(command): + """Run a command kill actions if it fails""" + ret_code = subprocess.call(command, shell=True) + if ret_code != 0: + print(f"\033[31mError: `{curr_command}` failed. Exiting...\033[0m") + sys.exit(1) + + if __name__ == "__main__": with open(".github/workflows/code_checks.yml", "rb") as f: my_dict = yaml.safe_load(f) steps = my_dict["jobs"]["build"]["steps"] + print_green = lambda x: print(f"\033[32m{x}\033[0m") + for step in steps: if "name" in step and step["name"] in LOCAL_TESTS: compressed = step["run"].replace("\n", ";").replace("\\", "") curr_command = f"{compressed}" print("*" * 100) - print(f"Running {curr_command}") - subprocess.call(curr_command, shell=True) + print_green(f"Running: {curr_command}") + run_command(curr_command) else: print("*" * 100) print(f"Skipping {step}") # Add checks for building documentation - subprocess.call("cd docs/; make html; cd ../", shell=True) + print_green("Building Documentation") + run_command("cd docs/; make html; cd ../") # Add licensing to all pyrad files - subprocess.call("./scripts/licensing/license_headers.sh", shell=True) + print_green("Add licensing headers") + run_command("./scripts/licensing/license_headers.sh") + + print("\n") + print_green("=" * 100) + print_green("ALL CHECKS PASSED") + print_green("=" * 100)