adding scripts for easy local run (#59)

This commit is contained in:
evonneng authored and GitHub committed 2022-05-05 13:48:34 -07:00
1 parent 0b82c1188c
commit 3a35bcda91
3 files changed
+86 -1

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
#!/bin/bash
helpFunction_flame()
{
echo "Usage: $0 -o output_file -p program"
echo -e "\t-o output .svg filename, where to save flame graph"
echo -e "\t-p .py program we want to profile with associated arguments"
exit 1 # Exit program after printing help
}
helpFunction_top()
{
echo "Usage: $0 -p program"
echo -e "\t-p .py program we want to profile with associated arguments"
exit 1 # Exit program after printing help
}
while getopts "t:o:p:a:" opt; do
case "$opt" in
t ) type="$OPTARG" ;;
o ) output_file="$OPTARG" ;;
p ) program="$OPTARG" ;;
? ) helpFunction ;;
esac
done
if [ -z "$type" ]; then
echo "Missing profiling type (flame / top)"
fi
# Print helpFunction in case parameters are empty
if [[ "$type" = "flame" ]]; then
if [ -z "$output_file" ] || [ -z "$program" ]; then
echo "Some or all of the parameters are empty";
helpFunction_flame
fi
py-spy record -o "$output_file" python "$program"
elif [[ "$type" = "top" ]]; then
if [ -z "$program" ]; then
echo "Some or all of the parameters are empty";
helpFunction_top
fi
py-spy top python "$program"
fi
+26
View File
@@ -0,0 +1,26 @@
"""Simple yaml debugger"""
import subprocess
import yaml
LOCAL_TESTS = ["Run Black", "Python Pylint", "Test with pytest"]
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"]
for step in steps:
if "name" in step and step["name"] in LOCAL_TESTS:
if step["name"] == "Run Black":
curr_command = f"black mattport/ {step['with']['options']};"
else:
compressed = step["run"].replace("\n", "").replace("\\", "")
curr_command = f"{compressed};"
print("*" * 100)
print(f"Running {curr_command}")
subprocess.call(curr_command, shell=True)
else:
print("*" * 100)
print(f"Skipping {step}")