Skip to content

New typing for task decorator doesn't work correctly in v3 #1061

@TheSuperiorStanislav

Description

@TheSuperiorStanislav

Despite errors from mypy, everything seems to be working

Take from https://github.com/saritasa-nest/saritasa-invocations

import invoke

def run_pre_commit_cmd(context: invoke.Context, cmd: str, **kwargs) -> None:
    """Run a pre-commit command."""
    config = _config.Config.from_context(context)
    context.run(command=f"{config.pre_commit.entry} {cmd}", **kwargs)

@invoke.task
def install(
    context: invoke.Context,
    hooks: list[str] | None = None,
) -> None:
    """Install git hooks via pre-commit."""
    printing.print_success("Installing pre-commit hooks")
    hooks_str = (
        " ".join(f"--hook-type {hook}" for hook in hooks) if hooks else ""
    )
    run_pre_commit_cmd(context=context, cmd=f"install {hooks_str}")

@invoke.task
def setup(context: invoke.Context) -> None:
    """Set up git for working."""
    printing.print_success("Setting up git and pre-commit")
    pre_commit.install(context)

    config = _config.Config.from_context(context)
    set_git_setting(
        context,
        setting="merge.ff",
        value=config.git.merge_ff,
    )
    set_git_setting(
        context,
        setting="pull.ff",
        value=config.git.pull_ff,
    )
Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions