Repository: qtile/qtile (branch: lists-match)
Commit date: 2023-12-17T14:28:15Z

Workflow file: .github/workflows/pre_commit.yml (Run pre-commit)
name: Run pre-commit

on:
    push:
    pull_request:

jobs:
    check:
        runs-on: ubuntu-latest
        services:
          pypi_wayback:
            image: ghcr.io/waleko/pypi-wayback
            ports:
              - 8629:8080
        steps:
            - uses: actions/checkout@v4
            - uses: actions/setup-python@v4
            - name: Install dependencies
              run: |
                sudo apt update
                sudo apt install --no-install-recommends libxkbcommon-dev
            - uses: pre-commit/action@v3.0.0

env:
  PIP_INDEX_URL: http://localhost:8629/2023-12-17
  UV_INDEX_URL: http://localhost:8629/2023-12-17


Failed build logs:
step_name: check/5_Run pre-commitaction@v3.0.0.txt
log: ##[group]Run pre-commit/action@v3.0.0
with:
  extra_args: --all-files
##[endgroup]
##[group]Run python -m pip install pre-commit
[36;1mpython -m pip install pre-commit[0m
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
##[endgroup]
Defaulting to user installation because normal site-packages is not writeable
Collecting pre-commit
  Downloading pre_commit-3.6.0-py2.py3-none-any.whl (204 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 204.0/204.0 KB 6.3 MB/s eta 0:00:00
Collecting nodeenv>=0.11.1
  Downloading nodeenv-1.8.0-py2.py3-none-any.whl (22 kB)
Requirement already satisfied: pyyaml>=5.1 in /usr/lib/python3/dist-packages (from pre-commit) (5.4.1)
Collecting cfgv>=2.0.0
  Downloading cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)
Collecting virtualenv>=20.10.0
  Downloading virtualenv-20.25.0-py3-none-any.whl (3.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 24.4 MB/s eta 0:00:00
Collecting identify>=1.0.0
  Downloading identify-2.5.33-py2.py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.9/98.9 KB 37.4 MB/s eta 0:00:00
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from nodeenv>=0.11.1->pre-commit) (59.6.0)
Collecting filelock<4,>=3.12.2
  Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
Requirement already satisfied: platformdirs<5,>=3.9.1 in /usr/local/lib/python3.10/dist-packages (from virtualenv>=20.10.0->pre-commit) (4.1.0)
Collecting distlib<1,>=0.3.7
  Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 KB 43.2 MB/s eta 0:00:00
Installing collected packages: distlib, nodeenv, identify, filelock, cfgv, virtualenv, pre-commit
Successfully installed cfgv-3.4.0 distlib-0.3.8 filelock-3.13.1 identify-2.5.33 nodeenv-1.8.0 pre-commit-3.6.0 virtualenv-20.25.0
##[group]Run python -m pip freeze --local
[36;1mpython -m pip freeze --local[0m
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
##[endgroup]
argcomplete==3.2.1
cfgv==3.4.0
distlib==0.3.8
filelock==3.13.1
identify==2.5.33
nodeenv==1.8.0
packaging==23.2
pipx==1.3.3
platformdirs==4.1.0
pre-commit==3.6.0
tomli==2.0.1
userpath==1.9.1
virtualenv==20.25.0
##[group]Run actions/cache@v3
with:
  path: ~/.cache/pre-commit
  key: pre-commit-3||05c1fbbb63b353467651b511e6ac241ffd2d8e71749cfabfe5ee6bc8366d2d02
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
##[endgroup]
Cache Size: ~36 MB (37431926 B)
[command]/usr/bin/tar -xf /home/runner/work/_temp/8e85cf73-4d99-4c40-a6e8-25c81b58e73c/cache.tzst -P -C /home/runner/work/qtile/qtile --use-compress-program unzstd
Cache restored successfully
Cache restored from key: pre-commit-3||05c1fbbb63b353467651b511e6ac241ffd2d8e71749cfabfe5ee6bc8366d2d02
##[group]Run pre-commit run --show-diff-on-failure --color=always --all-files
[36;1mpre-commit run --show-diff-on-failure --color=always --all-files[0m
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
##[endgroup]
black....................................................................[42mPassed[m
isort....................................................................[42mPassed[m
flake8...................................................................[42mPassed[m
mypy.....................................................................[41mFailed[m
[2m- hook id: mypy[m
[2m- exit code: 1[m

libqtile/config.py:886: error: Statement is unreachable  [unreachable]
libqtile/config.py:890: error: Statement is unreachable  [unreachable]
libqtile/config.py:894: error: Statement is unreachable  [unreachable]
libqtile/config.py:911: error: Statement is unreachable  [unreachable]
libqtile/config.py:915: error: Statement is unreachable  [unreachable]
Found 5 errors in 1 file (checked 179 source files)

vulture..................................................................[42mPassed[m
##[error]Process completed with exit code 1.


Changed files:
libqtile/config.py

Fix diff:
diff --git a/libqtile/config.py b/libqtile/config.py
index 9801b3ba..6a6163e2 100644
--- a/libqtile/config.py
+++ b/libqtile/config.py
@@ -883,15 +883,15 @@ class Match:
 
         if title is not None:
             if isinstance(title, list):  # type: ignore
-                title = convert_deprecated_list(title, "title")
+                title = convert_deprecated_list(title, "title")  # type: ignore
             self._rules["title"] = title
         if wm_class is not None:
             if isinstance(wm_class, list):  # type: ignore
-                wm_class = convert_deprecated_list(wm_class, "wm_class")
+                wm_class = convert_deprecated_list(wm_class, "wm_class")  # type: ignore
             self._rules["wm_class"] = wm_class
         if wm_instance_class is not None:
             if isinstance(wm_instance_class, list):  # type: ignore
-                wm_instance_class = convert_deprecated_list(
+                wm_instance_class = convert_deprecated_list(  # type: ignore
                     wm_instance_class, "wm_instance_class"
                 )
             self._rules["wm_instance_class"] = wm_instance_class
@@ -908,11 +908,11 @@ class Match:
 
         if role is not None:
             if isinstance(role, list):  # type: ignore
-                role = convert_deprecated_list(role, "role")
+                role = convert_deprecated_list(role, "role")  # type: ignore
             self._rules["role"] = role
         if wm_type is not None:
             if isinstance(wm_type, list):  # type: ignore
-                wm_type = convert_deprecated_list(wm_type, "wm_type")
+                wm_type = convert_deprecated_list(wm_type, "wm_type")  # type: ignore
             self._rules["wm_type"] = wm_type
 
     @staticmethod