Run_actions quit on failed action

This commit is contained in:
Matt Tancik authored and Matthew Tancik committed 2022-07-07 11:35:16 -07:00
1 parent 0734dfc63c
commit 31a465c62f
1 file changed
+23 -4
+23 -4
View File
@@ -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)