def METHOD_NAME(
    repo_dir: str,
    include_ignored: bool = False,
    smoke_test: bool = False,
) -> None:
    print(f"Running tutorials in {'smoke test' if smoke_test else 'standard'} mode.")
    if not smoke_test:
        print("This may take a long time...")
    tutorial_base = Path(repo_dir)
    num_runs = 0
    num_errors = 0
    os.chdir(tutorial_base)
    for sub_dir in SUB_DIRS:
        tutorial_dir = Path(tutorial_base).joinpath(sub_dir)
        print(f"In directory {sub_dir}")
        os.chdir(tutorial_dir)
        for tutorial in tutorial_dir.iterdir():
            if not tutorial.is_file or tutorial.suffix != ".ipynb":
                continue
            if not include_ignored and tutorial.name in IGNORE:
                print(f"Ignoring tutorial {tutorial.name}.")
                continue
            num_runs += 1
            error = run_tutorial(tutorial, smoke_test=smoke_test)
            if error is not None:
                num_errors += 1
                print(error)
    if num_errors > 0:
        raise RuntimeError(
            f"Running {num_runs} tutorials resulted in {num_errors} errors."
        )