mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-11 18:44:21 +08:00
restructuring debugging tools doc (#647)
* not done; restrucutre debugging part; * 1) fixed all developer guides 2) fixed first_nerf error 3) moved run_actions * removed md
This commit is contained in:
1 parent
4d5a1363b1
commit
af58b32cc8
12 files changed
+161
-198
No files matched your search
Whitespace-only changes.
Executable
+96
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env python
|
||||
"""Simple yaml debugger"""
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
import dcargs
|
||||
import yaml
|
||||
from rich.console import Console
|
||||
from rich.style import Style
|
||||
|
||||
console = Console(width=120)
|
||||
|
||||
LOCAL_TESTS = ["Run license checks", "Run isort", "Run Black", "Python Pylint", "Test with pytest"]
|
||||
|
||||
|
||||
def run_command(command: str, continue_on_fail: bool = False) -> bool:
|
||||
"""Run a command kill actions if it fails
|
||||
|
||||
Args:
|
||||
command: command to run
|
||||
continue_on_fail: whether to continue running commands if the current one fails.
|
||||
"""
|
||||
ret_code = subprocess.call(command, shell=True)
|
||||
if ret_code != 0:
|
||||
console.print(f"[bold red]Error: `{command}` failed.")
|
||||
if not continue_on_fail:
|
||||
sys.exit(1)
|
||||
return ret_code == 0
|
||||
|
||||
|
||||
def run_github_actions_file(filename: str, continue_on_fail: bool = False):
|
||||
"""Run a github actions file locally.
|
||||
|
||||
Args:
|
||||
filename: Which yml github actions file to run.
|
||||
continue_on_fail: Whether or not to continue running actions commands if the current one fails
|
||||
"""
|
||||
with open(filename, "rb") as f:
|
||||
my_dict = yaml.safe_load(f)
|
||||
steps = my_dict["jobs"]["build"]["steps"]
|
||||
|
||||
success = True
|
||||
|
||||
for step in steps:
|
||||
if "name" in step and step["name"] in LOCAL_TESTS:
|
||||
compressed = step["run"].replace("\n", ";").replace("\\", "")
|
||||
compressed = compressed.replace("--check", "")
|
||||
curr_command = f"{compressed}"
|
||||
|
||||
console.line()
|
||||
console.rule(f"[bold green]Running: {curr_command}")
|
||||
success = success and run_command(curr_command, continue_on_fail=continue_on_fail)
|
||||
else:
|
||||
skip_name = step["name"] if "name" in step else step["uses"]
|
||||
console.print(f"Skipping {skip_name}")
|
||||
|
||||
# Add checks for building documentation
|
||||
console.line()
|
||||
console.rule("[bold green]Adding notebook documentation metadata")
|
||||
success = success and run_command("python scripts/docs/add_nb_tags.py", continue_on_fail=continue_on_fail)
|
||||
console.line()
|
||||
console.rule("[bold green]Building Documentation")
|
||||
success = success and run_command("cd docs/; make html SPHINXOPTS='-W;'", continue_on_fail=continue_on_fail)
|
||||
|
||||
if success:
|
||||
console.line()
|
||||
console.rule(characters="=")
|
||||
console.print("[bold green]:TADA: :TADA: :TADA: ALL CHECKS PASSED :TADA: :TADA: :TADA:", justify="center")
|
||||
console.rule(characters="=")
|
||||
else:
|
||||
console.line()
|
||||
console.rule(characters="=", style=Style(color="red"))
|
||||
console.print("[bold red]:skull: :skull: :skull: ERRORS FOUND :skull: :skull: :skull:", justify="center")
|
||||
console.rule(characters="=", style=Style(color="red"))
|
||||
|
||||
|
||||
def run_code_checks(continue_on_fail: bool = False):
|
||||
"""Run a github actions file locally.
|
||||
|
||||
Args:
|
||||
continue_on_fail: Whether or not to continue running actions commands if the current one fails
|
||||
"""
|
||||
# core code checks
|
||||
run_github_actions_file(filename=".github/workflows/core_code_checks.yml", continue_on_fail=continue_on_fail)
|
||||
# viewer build and deployment
|
||||
# run_github_actions_file(filename=".github/workflows/viewer_build_deploy.yml", continue_on_fail=continue_on_fail)
|
||||
|
||||
|
||||
def entrypoint():
|
||||
"""Entrypoint for use with pyproject scripts."""
|
||||
dcargs.extras.set_accent_color("bright_yellow")
|
||||
dcargs.cli(run_code_checks)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
entrypoint()
|
||||
Reference in new issue
Block a user