def run()

in scripts/release.py [0:0]


def run() -> None:
    # Read project version
    release_version = project_version()

    # Create the release tag
    try:
        git = detect_git()
        git("tag", release_version)
        git("push", "origin", release_version)
    except ErrorReturnCode:
        return print(
            f"The release `v{release_version}` already exists.", file=sys.stderr
        )

    # Create the release
    args = [
        "release",
        "create",
        "--generate-notes",
        "--latest",
        f"--title=terranova v{release_version}",
        release_version,
    ]
    binaries = [file.absolute().as_posix() for file in Path(".").glob("./terranova-*")]
    args.extend(binaries)
    gh = detect_gh()
    gh(args, _out=sys.stdout, _err=sys.stderr)