Add pinned ruff and pyright checks, the existing-findings baseline, and a workflow that rejects new findings and requires fixed findings to be removed. Compare checker pins numerically and permit baseline growth only for the checker whose release version increased. Comments, unrelated dependency edits and downgrades retain the guard. Add 10 regression tests using Git trees and document the policy. Validation: 14 guard/documentation tests pass; pinned lint reports 414 existing findings, zero new findings and zero stale baseline entries. Co-authored-by: v0lumehi <aljic.zijad@gmail.com>
45 KiB
45 KiB
| 1 | # tool | file | rule | count | message (dm/tools/lint_python.py; shrink with --update, never edit by hand to add) |
|---|---|---|---|---|---|
| 2 | pyright | dm/gfx/tools/uepak.py | reportGeneralTypeIssues | 1 | Index 0 is out of range for type tuple[()] |
| 3 | pyright | dm/ios/tools/pack_ipa.py | reportCallIssue | 1 | Expected 4 positional arguments |
| 4 | pyright | dm/tools/patch_nso.py | reportWildcardImportFromLibrary | 1 | Wildcard import from a library not allowed |
| 5 | pyright | dm/tools/sdis.py | reportWildcardImportFromLibrary | 1 | Wildcard import from a library not allowed |
| 6 | ruff | dm/gfx/tools/dmsh_build.py | F841 | 1 | Local variable `sb_cb` is assigned to but never used |
| 7 | ruff | dm/gfx/tools/pso_offline.py | F401 | 1 | `shutil` imported but unused |
| 8 | ruff | dm/gfx/tools/shader_split.py | B006 | 1 | Do not use mutable data structures for argument defaults |
| 9 | ruff | dm/gfx/tools/shader_split.py | B023 | 1 | Function definition does not bind loop variable `c` |
| 10 | ruff | dm/gfx/tools/shader_split.py | B023 | 1 | Function definition does not bind loop variable `order` |
| 11 | ruff | dm/gfx/tools/shader_split.py | B023 | 1 | Function definition does not bind loop variable `tab` |
| 12 | ruff | dm/gfx/tools/shader_split.py | B023 | 3 | Function definition does not bind loop variable `r` |
| 13 | ruff | dm/gfx/tools/shader_split.py | B023 | 3 | Function definition does not bind loop variable `sec` |
| 14 | ruff | dm/gfx/tools/shader_split.py | B023 | 3 | Function definition does not bind loop variable `secs` |
| 15 | ruff | dm/gfx/tools/shader_split.py | F841 | 1 | Local variable `pre` is assigned to but never used |
| 16 | ruff | dm/gfx/tools/unityfs.py | B023 | 2 | Function definition does not bind loop variable `buf` |
| 17 | ruff | dm/tools/patch_nso.py | B023 | 1 | Function definition does not bind loop variable `at` |
| 18 | ruff | dm/tools/patch_nso.py | B023 | 2 | Function definition does not bind loop variable `n` |
| 19 | ruff | dm/tools/patch_nso.py | PIE808 | 1 | Unnecessary `start` argument in `range` |
| 20 | ruff | dm/tools/sdis.py | F841 | 1 | Local variable `lo` is assigned to but never used |
| 21 | ruff | dm/tools/tests/test_gpuprof.py | F401 | 1 | `os` imported but unused |
| 22 | ruff | dm/tools/tests/test_gpuprof.py | F401 | 1 | `sys` imported but unused |
| 23 | ruff | dm/tools/tests/test_image_atomic_bounds.py | B023 | 1 | Function definition does not bind loop variable `dependencies` |
| 24 | ruff | dm/tools/tests/test_nsp_incremental.py | B023 | 1 | Function definition does not bind loop variable `build` |
| 25 | ruff | dm/tools/tests/test_nsp_incremental.py | B023 | 1 | Function definition does not bind loop variable `own` |
| 26 | ruff | dm/tools/tests/test_nsp_incremental.py | B023 | 1 | Function definition does not bind loop variable `roots` |
| 27 | ruff | dm/tools/tests/test_nsp_incremental.py | B023 | 1 | Function definition does not bind loop variable `sh` |
| 28 | ruff | dm/tools/tests/test_nsp_nsz.py | F401 | 1 | `sys` imported but unused |
| 29 | ruff | dm/tools/tests/test_spin_waits.py | F401 | 1 | `sys` imported but unused |
| 30 | ruff | scripts/bench.py | B023 | 1 | Function definition does not bind loop variable `ok` |
| 31 | ruff | scripts/build_ipa_from_nsp.py | B020 | 1 | Loop control variable `note` overrides iterable it iterates |
| 32 | ruff | scripts/build_ipa_from_nsp.py | F401 | 1 | `zlib` imported but unused |