diff --git a/.github/workflows/reusable-rr-tests.yml b/.github/workflows/reusable-rr-tests.yml index 8f5f751c..9ba13e35 100644 --- a/.github/workflows/reusable-rr-tests.yml +++ b/.github/workflows/reusable-rr-tests.yml @@ -63,3 +63,14 @@ jobs: run: | pipx run nox -s readme git diff --exit-code + + pylint: + name: Run pylint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Run pylint + run: pipx run nox[uv] -s rr_pylint -- --output-format=github diff --git a/.ruby-version b/.ruby-version index 15a27998..47b322c9 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.0 +3.4.1 diff --git a/src/sp_repo_review/_compat/importlib/resources/abc.py b/src/sp_repo_review/_compat/importlib/resources/abc.py index afbbe2b3..67b3e6e6 100644 --- a/src/sp_repo_review/_compat/importlib/resources/abc.py +++ b/src/sp_repo_review/_compat/importlib/resources/abc.py @@ -3,6 +3,7 @@ import sys if sys.version_info < (3, 11): + # pylint: disable-next=deprecated-class from importlib.abc import Traversable else: from importlib.resources.abc import Traversable diff --git a/src/sp_repo_review/checks/pyproject.py b/src/sp_repo_review/checks/pyproject.py index a2de9811..ef0bbc41 100644 --- a/src/sp_repo_review/checks/pyproject.py +++ b/src/sp_repo_review/checks/pyproject.py @@ -83,6 +83,7 @@ def check(pyproject: dict[str, Any], package: Traversable) -> bool | None: setup_cfg = package / "setup.cfg" if setup_cfg.is_file(): + # pylint: disable-next=import-outside-toplevel import configparser config = configparser.ConfigParser() @@ -134,7 +135,7 @@ def check(pyproject: dict[str, Any]) -> bool: options = pyproject["tool"]["pytest"]["ini_options"] return ( "minversion" in options - and int(str(options["minversion"]).split(".")[0]) >= 6 + and int(str(options["minversion"]).split(".", maxsplit=1)[0]) >= 6 ) diff --git a/src/sp_repo_review/families.py b/src/sp_repo_review/families.py index 53c2d943..5fabb7c6 100644 --- a/src/sp_repo_review/families.py +++ b/src/sp_repo_review/families.py @@ -16,9 +16,7 @@ class Family(typing.TypedDict, total=False): description: str # Defaults to empty -def get_families( - pyproject: dict[str, Any] = {}, # noqa: B006 -) -> dict[str, Family]: +def get_families(pyproject: dict[str, Any]) -> dict[str, Family]: pyproject_description = f"- Detected build backend: `{pyproject.get('build-system', {}).get('build-backend', 'MISSING')}`" if classifiers := pyproject.get("project", {}).get("classifiers", []): licenses = [