def METHOD_NAME(ctx: Context, no_clean: bool = False, no_color: bool = False):
    if not shutil.which("inkscape"):
        ctx.warn("No inkscape binary found")
        ctx.exit(1)
    if no_clean is False:
        ctx.run("make", "clean", cwd="doc/", check=True)
    opts = [
        "-W",
        "-j",
        "auto",
        "--keep-going",
    ]
    if no_color is False:
        opts.append("--color")
    ctx.run(
        "make",
        "pdf",
        f"SPHINXOPTS={' '.join(opts)}",
        cwd="doc/",
        check=True,
    )
    artifact = tools.utils.REPO_ROOT / "doc" / "_build" / "latex" / "Salt.pdf"
    if "LATEST_RELEASE" in os.environ:
        shutil.move(
            artifact, artifact.parent / f"Salt-{os.environ['LATEST_RELEASE']}.pdf"
        )
        artifact = artifact.parent / f"Salt-{os.environ['LATEST_RELEASE']}.pdf"
    github_output = os.environ.get("GITHUB_OUTPUT")
    if github_output is not None:
        with open(github_output, "a", encoding="utf-8") as wfh:
            wfh.write(
                "has-artifacts=true\n"
                f"artifact-name={artifact.resolve().name}\n"
                f"artifact-path={artifact.resolve()}\n"
            )