cpp-linter 1.11.2__tar.gz → 1.11.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/analyze-workflows.yml +2 -2
  2. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/release.yml +5 -5
  3. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/tests.yml +10 -10
  4. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.pre-commit-config.yaml +4 -2
  5. {cpp_linter-1.11.2/cpp_linter.egg-info → cpp_linter-1.11.4}/PKG-INFO +2 -1
  6. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/_version.py +3 -3
  7. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/clang_tools/clang_format.py +1 -0
  8. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/clang_tools/clang_tidy.py +21 -12
  9. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/common_fs/__init__.py +2 -2
  10. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/rest_api/github_api.py +4 -1
  11. {cpp_linter-1.11.2 → cpp_linter-1.11.4/cpp_linter.egg-info}/PKG-INFO +2 -1
  12. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter.egg-info/SOURCES.txt +1 -0
  13. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cspell.config.yml +1 -0
  14. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/noxfile.py +1 -1
  15. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/pyproject.toml +1 -0
  16. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/expected-result_0.json +20 -20
  17. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/expected-result_1.json +20 -20
  18. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/expected-result_2.json +20 -20
  19. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/71091562db5b0e7853d08ffa2f110af49cc3bc0d/expected-result_0.json +1 -1
  20. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/71091562db5b0e7853d08ffa2f110af49cc3bc0d/expected-result_1.json +1 -1
  21. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/71091562db5b0e7853d08ffa2f110af49cc3bc0d/expected-result_2.json +1 -1
  22. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/libvips/libvips/fe82be345a5b654a76835a7aea5a804bd9ebff0a/expected-result_0.json +36950 -36950
  23. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/libvips/libvips/fe82be345a5b654a76835a7aea5a804bd9ebff0a/expected-result_1.json +36950 -36950
  24. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/libvips/libvips/fe82be345a5b654a76835a7aea5a804bd9ebff0a/expected-result_2.json +36950 -36950
  25. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/shenxianpeng/test-repo/662ad4cf90084063ea9c089b8de4aff0b8959d0e/expected-result_0.json +1 -1
  26. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/shenxianpeng/test-repo/662ad4cf90084063ea9c089b8de4aff0b8959d0e/expected-result_1.json +1 -1
  27. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/shenxianpeng/test-repo/662ad4cf90084063ea9c089b8de4aff0b8959d0e/expected-result_2.json +1 -1
  28. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/test_misc.py +17 -1
  29. cpp_linter-1.11.4/tests/test_parse_clang_tidy_stdout.py +55 -0
  30. cpp_linter-1.11.4/uv.lock +1881 -0
  31. cpp_linter-1.11.2/uv.lock +0 -1483
  32. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.gitattributes +0 -0
  33. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/FUNDING.yml +0 -0
  34. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/dependabot.yml +0 -0
  35. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/release-drafter.yml +0 -0
  36. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/codeql.yml +0 -0
  37. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/docs.yml +0 -0
  38. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/labeler.yml +0 -0
  39. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/pre-commit.yml +0 -0
  40. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/release-drafter.yml +0 -0
  41. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.github/workflows/stale.yml +0 -0
  42. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.gitignore +0 -0
  43. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/.readthedocs.yaml +0 -0
  44. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/CONTRIBUTING.rst +0 -0
  45. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/LICENSE +0 -0
  46. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/README.rst +0 -0
  47. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/codecov.yml +0 -0
  48. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/__init__.py +0 -0
  49. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/clang_tools/__init__.py +0 -0
  50. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/clang_tools/patcher.py +0 -0
  51. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/cli.py +0 -0
  52. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/common_fs/file_filter.py +0 -0
  53. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/git/__init__.py +0 -0
  54. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/git/git_str.py +0 -0
  55. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/loggers.py +0 -0
  56. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter/rest_api/__init__.py +0 -0
  57. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter.egg-info/dependency_links.txt +0 -0
  58. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter.egg-info/entry_points.txt +0 -0
  59. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter.egg-info/not-zip-safe +0 -0
  60. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter.egg-info/requires.txt +0 -0
  61. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/cpp_linter.egg-info/top_level.txt +0 -0
  62. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.clang_tools.clang_format.rst +0 -0
  63. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.clang_tools.clang_tidy.rst +0 -0
  64. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.clang_tools.patcher.rst +0 -0
  65. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.clang_tools.rst +0 -0
  66. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.cli.rst +0 -0
  67. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.common_fs.file_filter.rst +0 -0
  68. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.common_fs.rst +0 -0
  69. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.git.git_str.rst +0 -0
  70. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.git.rst +0 -0
  71. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.loggers.rst +0 -0
  72. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.rest_api.github_api.rst +0 -0
  73. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.rest_api.rst +0 -0
  74. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/API-Reference/cpp_linter.rst +0 -0
  75. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/_static/extra_css.css +0 -0
  76. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/_static/favicon.ico +0 -0
  77. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/_static/logo.png +0 -0
  78. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/building_docs.rst +0 -0
  79. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/conf.py +0 -0
  80. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/contributing.rst +0 -0
  81. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/index.rst +0 -0
  82. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/permissions.rst +0 -0
  83. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/docs/pr_review_caveats.rst +0 -0
  84. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/setup.cfg +0 -0
  85. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/setup.py +0 -0
  86. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/.clang-format +0 -0
  87. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/.clang-tidy +0 -0
  88. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/opl/opl.c +0 -0
  89. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/opl/opl_sdl.c +0 -0
  90. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/pcsound/pcsound.c +0 -0
  91. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/pcsound/pcsound_sdl.c +0 -0
  92. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/src/i_musicpack.c +0 -0
  93. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/src/i_sdlmusic.c +0 -0
  94. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/src/i_sdlsound.c +0 -0
  95. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/src/i_sound.c +0 -0
  96. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/cache/src/net_sdl.c +0 -0
  97. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/67715d6e2725322e6132e9ff99b9a2a3f3b10c83/patch.diff +0 -0
  98. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/71091562db5b0e7853d08ffa2f110af49cc3bc0d/cache/src/hexen/info.c +0 -0
  99. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/71091562db5b0e7853d08ffa2f110af49cc3bc0d/cache/src/hexen/p_enemy.c +0 -0
  100. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/71091562db5b0e7853d08ffa2f110af49cc3bc0d/cache/src/hexen/p_local.h +0 -0
  101. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/chocolate-doom/chocolate-doom/71091562db5b0e7853d08ffa2f110af49cc3bc0d/patch.diff +0 -0
  102. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/cpp-linter/cpp-linter/950ff0b690e1903797c303c5fc8d9f3b52f1d3c5/cache/tests/demo/demo.cpp +0 -0
  103. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/cpp-linter/cpp-linter/950ff0b690e1903797c303c5fc8d9f3b52f1d3c5/cache/tests/demo/demo.hpp +0 -0
  104. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/cpp-linter/cpp-linter/950ff0b690e1903797c303c5fc8d9f3b52f1d3c5/patch.diff +0 -0
  105. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/cpp-linter/cpp-linter/test_git_lib.patch +0 -0
  106. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/libvips/libvips/.clang-format +0 -0
  107. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/libvips/libvips/.clang-tidy +0 -0
  108. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/libvips/libvips/fe82be345a5b654a76835a7aea5a804bd9ebff0a/patch.diff +0 -0
  109. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/shenxianpeng/test-repo/.clang-format +0 -0
  110. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/shenxianpeng/test-repo/.clang-tidy +0 -0
  111. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/shenxianpeng/test-repo/662ad4cf90084063ea9c089b8de4aff0b8959d0e/cache/p_enemy.c +0 -0
  112. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/shenxianpeng/test-repo/662ad4cf90084063ea9c089b8de4aff0b8959d0e/patch.diff +0 -0
  113. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/test_database_path.py +0 -0
  114. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/capture_tools_output/test_tools_output.py +0 -0
  115. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/comments/pr_22.json +0 -0
  116. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/comments/pr_comments_pg1.json +0 -0
  117. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/comments/pr_comments_pg2.json +0 -0
  118. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/comments/push_8d68756375e0483c7ac2b4d6bbbece420dbbb495.json +0 -0
  119. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/comments/push_comments_8d68756375e0483c7ac2b4d6bbbece420dbbb495.json +0 -0
  120. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/comments/test_comments.py +0 -0
  121. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/demo/.clang-format +0 -0
  122. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/demo/.clang-tidy +0 -0
  123. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/demo/compile_flags.txt +0 -0
  124. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/demo/demo.cpp +0 -0
  125. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/demo/demo.hpp +0 -0
  126. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/ignored_paths/.gitmodules +0 -0
  127. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/ignored_paths/test_ignored_paths.py +0 -0
  128. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/list_changes/patch.diff +0 -0
  129. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/list_changes/pull_request_files_pg1.json +0 -0
  130. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/list_changes/pull_request_files_pg2.json +0 -0
  131. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/list_changes/push_files_pg1.json +0 -0
  132. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/list_changes/push_files_pg2.json +0 -0
  133. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/list_changes/test_get_file_changes.py +0 -0
  134. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/reviews/.clang-format +0 -0
  135. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/reviews/.clang-tidy +0 -0
  136. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/reviews/pr_27.diff +0 -0
  137. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/reviews/pr_27.json +0 -0
  138. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/reviews/pr_review_comments.json +0 -0
  139. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/reviews/pr_reviews.json +0 -0
  140. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/reviews/test_pr_review.py +0 -0
  141. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/test_cli_args.py +0 -0
  142. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/test_comment_length.py +0 -0
  143. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/test_git_str.py +0 -0
  144. {cpp_linter-1.11.2 → cpp_linter-1.11.4}/tests/test_rate_limits.py +0 -0
@@ -12,11 +12,11 @@ jobs:
12
12
  analyze-ci:
13
13
  runs-on: ubuntu-latest
14
14
  steps:
15
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
15
+ - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
16
16
  with:
17
17
  persist-credentials: false
18
18
  - name: Set up Python
19
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
19
+ uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
20
20
  with:
21
21
  python-version: '3.x'
22
22
  - name: Run zizmor
@@ -20,19 +20,19 @@ jobs:
20
20
  build:
21
21
  runs-on: ubuntu-latest
22
22
  steps:
23
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
23
+ - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
24
24
  # use fetch --all for setuptools_scm to work
25
25
  with:
26
26
  fetch-depth: 0
27
27
  persist-credentials: false
28
28
  - name: Set up Python
29
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
29
+ uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
30
30
  with:
31
31
  python-version: '3.x'
32
32
  - name: Build distributions
33
33
  run: pipx run build -o dist
34
34
  - name: Upload builds as artifacts
35
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
35
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
36
36
  with:
37
37
  path: dist
38
38
  name: wheels
@@ -45,13 +45,13 @@ jobs:
45
45
  id-token: write
46
46
  steps:
47
47
  - name: Download distributions
48
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
48
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
49
49
  with:
50
50
  name: wheels
51
51
  path: dist
52
52
  - name: Set up Python
53
53
  if: ${{ !startsWith(github.ref, 'refs/tags/') }}
54
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
54
+ uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
55
55
  with:
56
56
  python-version: '3.x'
57
57
  - name: Check distributions
@@ -30,17 +30,17 @@ jobs:
30
30
  os: ['windows-latest', 'ubuntu-latest']
31
31
  version: ['21', '20', '19', '18', '17', '16', '15', '14', '13', '12', '11', '10', '9']
32
32
  env:
33
- MAX_PYTHON_VERSION: '3.13'
33
+ MAX_PYTHON_VERSION: '3.14'
34
34
  # only used when installing for a pre-released python version
35
35
  # LIBGIT2_VERSION: '1.9.0'
36
36
 
37
37
  runs-on: ${{ matrix.os }}
38
38
  steps:
39
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
39
+ - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
40
40
  with:
41
41
  persist-credentials: false
42
42
 
43
- - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
43
+ - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
44
44
  with:
45
45
  python-version: 3.x
46
46
 
@@ -60,7 +60,7 @@ jobs:
60
60
  # sudo cmake --install build
61
61
 
62
62
  - name: Install uv
63
- uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
63
+ uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
64
64
  with:
65
65
  enable-cache: true
66
66
  cache-dependency-glob: "uv.lock"
@@ -112,7 +112,7 @@ jobs:
112
112
  run: uvx nox -s test-all -- -m "${PYTEST_ARGS}"
113
113
 
114
114
  - name: Upload coverage data
115
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
115
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
116
116
  with:
117
117
  name: coverage-data-${{ runner.os }}-${{ matrix.version }}
118
118
  path: .coverage*
@@ -122,23 +122,23 @@ jobs:
122
122
  needs: [test]
123
123
  runs-on: ubuntu-latest
124
124
  steps:
125
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
125
+ - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
126
126
  with:
127
127
  persist-credentials: false
128
128
 
129
129
  - name: Download all artifacts
130
- uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
130
+ uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
131
131
  with:
132
132
  pattern: coverage-data-*
133
133
  merge-multiple: true
134
134
 
135
135
  - name: Setup python
136
- uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
136
+ uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
137
137
  with:
138
138
  python-version: '3.x'
139
139
 
140
140
  - name: Install uv
141
- uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6.8.0
141
+ uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
142
142
  with:
143
143
  enable-cache: true
144
144
  cache-dependency-glob: "uv.lock"
@@ -147,7 +147,7 @@ jobs:
147
147
  run: uvx nox -s coverage
148
148
 
149
149
  - name: Upload comprehensive coverage HTML report
150
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
150
+ uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
151
151
  with:
152
152
  name: coverage-report
153
153
  path: htmlcov/
@@ -1,4 +1,6 @@
1
1
  ci:
2
+ autofix_commit_msg: 'chore(dev): auto fixes from pre-commit.ci hooks'
3
+ autoupdate_commit_msg: 'chore(dev): pre-commit hooks autoupdate'
2
4
  autoupdate_schedule: quarterly
3
5
 
4
6
  repos:
@@ -18,14 +20,14 @@ repos:
18
20
  args: ["--fix=lf"]
19
21
  - repo: https://github.com/astral-sh/ruff-pre-commit
20
22
  # Ruff version.
21
- rev: v0.12.11
23
+ rev: v0.13.3
22
24
  hooks:
23
25
  # Run the linter.
24
26
  - id: ruff-check
25
27
  # Run the formatter.
26
28
  - id: ruff-format
27
29
  - repo: https://github.com/pre-commit/mirrors-mypy
28
- rev: 'v1.17.1'
30
+ rev: 'v1.18.2'
29
31
  hooks:
30
32
  - id: mypy
31
33
  additional_dependencies:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cpp-linter
3
- Version: 1.11.2
3
+ Version: 1.11.4
4
4
  Summary: Run clang-format and clang-tidy on a batch of files.
5
5
  Author-email: Brendan Doherty <2bndy5@gmail.com>, Xianpeng Shen <xianpeng.shen@gmail.com>
6
6
  License-Expression: MIT
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
23
24
  Classifier: Topic :: Software Development :: Build Tools
24
25
  Requires-Python: >=3.9
25
26
  Description-Content-Type: text/x-rst
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.11.2'
32
- __version_tuple__ = version_tuple = (1, 11, 2)
31
+ __version__ = version = '1.11.4'
32
+ __version_tuple__ = version_tuple = (1, 11, 4)
33
33
 
34
- __commit_id__ = commit_id = 'g4d2df0510'
34
+ __commit_id__ = commit_id = 'ga846191b3'
@@ -187,6 +187,7 @@ def run_clang_format(
187
187
  file_obj.range_of_changed_lines(lines_changed_only, get_ranges=True),
188
188
  )
189
189
  for span in ranges:
190
+ # line range (start and end) is inclusive
190
191
  cmds.append(f"--lines={span[0]}:{span[1]}")
191
192
  cmds.append(PurePath(file_obj.name).as_posix())
192
193
  logger.info('Running "%s"', " ".join(cmds))
@@ -92,7 +92,10 @@ class TidyNotification:
92
92
  check_name_parts = self.diagnostic.split("-", maxsplit=2)
93
93
  assert len(check_name_parts) > 2, "diagnostic name malformed"
94
94
  return link + "clang-analyzer/{}.html)".format(check_name_parts[2])
95
- return link + "{}/{}.html)".format(*self.diagnostic.split("-", maxsplit=1))
95
+ diag_split = self.diagnostic.split("-", maxsplit=1)
96
+ if len(diag_split) < 2 or not all(diag_split):
97
+ return self.diagnostic
98
+ return link + "{}/{}.html)".format(*diag_split)
96
99
 
97
100
  def __repr__(self) -> str:
98
101
  return (
@@ -248,7 +251,8 @@ def run_clang_tidy(
248
251
  extra_args = extra_args[0].split()
249
252
  for extra_arg in extra_args:
250
253
  arg = extra_arg.strip('"')
251
- cmds.append(f"--extra-arg={arg}")
254
+ if arg: # avoid adding empty arg values
255
+ cmds.append(f"--extra-arg={arg}")
252
256
  if tidy_review:
253
257
  # clang-tidy overwrites the file contents when applying fixes.
254
258
  # create a cache of original contents
@@ -289,16 +293,21 @@ def parse_tidy_output(
289
293
  note_match = re.match(NOTE_HEADER, line)
290
294
  fixed_match = re.match(FIXED_NOTE, line)
291
295
  if note_match is not None:
292
- notification = TidyNotification(
293
- cast(
294
- Tuple[str, Union[int, str], Union[int, str], str, str, str],
295
- note_match.groups(),
296
- ),
297
- database,
298
- )
299
- tidy_notes.append(notification)
300
- # begin capturing subsequent lines as part of notification details
301
- found_fix = False
296
+ # Sometimes clang-tidy uses square brackets to enclose additional context
297
+ # about the diagnostic rationale. For example: '[with auto = typename ...]'
298
+ # We need to ignore such cases as they do not start a diagnostic report.
299
+ diagnostic_name = note_match.group(6)
300
+ if " " not in diagnostic_name and "-" in diagnostic_name:
301
+ notification = TidyNotification(
302
+ cast(
303
+ Tuple[str, Union[int, str], Union[int, str], str, str, str],
304
+ note_match.groups(),
305
+ ),
306
+ database,
307
+ )
308
+ tidy_notes.append(notification)
309
+ # begin capturing subsequent lines as part of notification details
310
+ found_fix = False
302
311
  elif fixed_match is not None and notification is not None:
303
312
  notification.applied_fixes.add(int(fixed_match.group(1)))
304
313
  # suspend capturing subsequent lines as they are not needed
@@ -67,10 +67,10 @@ class FileObj:
67
67
  if not i:
68
68
  result.append([n])
69
69
  elif n - 1 != numbers[i - 1]:
70
- result[-1].append(numbers[i - 1] + 1)
70
+ result[-1].append(numbers[i - 1])
71
71
  result.append([n])
72
72
  if i == len(numbers) - 1:
73
- result[-1].append(n + 1)
73
+ result[-1].append(n)
74
74
  return result
75
75
 
76
76
  def range_of_changed_lines(
@@ -57,7 +57,10 @@ class GithubApiClient(RestApiClient):
57
57
  #: The HEAD commit's SHA
58
58
  self.sha = environ.get("GITHUB_SHA", "")
59
59
  #: A flag that describes if debug logs are enabled.
60
- self.debug_enabled = environ.get("ACTIONS_STEP_DEBUG", "") == "true"
60
+ self.debug_enabled = (
61
+ environ.get("ACTIONS_STEP_DEBUG", "") == "true"
62
+ or environ.get("ACTIONS_RUNNER_DEBUG", "") == "true"
63
+ )
61
64
 
62
65
  #: The pull request number for the event (if applicable).
63
66
  self.pull_request = -1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cpp-linter
3
- Version: 1.11.2
3
+ Version: 1.11.4
4
4
  Summary: Run clang-format and clang-tidy on a batch of files.
5
5
  Author-email: Brendan Doherty <2bndy5@gmail.com>, Xianpeng Shen <xianpeng.shen@gmail.com>
6
6
  License-Expression: MIT
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
23
24
  Classifier: Topic :: Software Development :: Build Tools
24
25
  Requires-Python: >=3.9
25
26
  Description-Content-Type: text/x-rst
@@ -70,6 +70,7 @@ tests/test_cli_args.py
70
70
  tests/test_comment_length.py
71
71
  tests/test_git_str.py
72
72
  tests/test_misc.py
73
+ tests/test_parse_clang_tidy_stdout.py
73
74
  tests/test_rate_limits.py
74
75
  tests/capture_tools_output/test_database_path.py
75
76
  tests/capture_tools_output/test_tools_output.py
@@ -14,6 +14,7 @@ words:
14
14
  - consts
15
15
  - cppcoreguidelines
16
16
  - cstdio
17
+ - declval
17
18
  - docutils
18
19
  - endgroup
19
20
  - Fixit
@@ -55,7 +55,7 @@ def test(session: nox.Session):
55
55
  run_tests(session)
56
56
 
57
57
 
58
- MAX_VERSION = environ.get("MAX_PYTHON_VERSION", "3.13")
58
+ MAX_VERSION = environ.get("MAX_PYTHON_VERSION", "3.14")
59
59
 
60
60
 
61
61
  @nox.session(
@@ -28,6 +28,7 @@ classifiers = [
28
28
  "Programming Language :: Python :: 3.11",
29
29
  "Programming Language :: Python :: 3.12",
30
30
  "Programming Language :: Python :: 3.13",
31
+ "Programming Language :: Python :: 3.14",
31
32
  "Topic :: Software Development :: Build Tools",
32
33
  ]
33
34
  dynamic = ["version"]
@@ -11,11 +11,11 @@
11
11
  "lines_added": [
12
12
  [
13
13
  53,
14
- 54
14
+ 53
15
15
  ],
16
16
  [
17
17
  55,
18
- 56
18
+ 55
19
19
  ]
20
20
  ]
21
21
  }
@@ -36,11 +36,11 @@
36
36
  "lines_added": [
37
37
  [
38
38
  36,
39
- 40
39
+ 39
40
40
  ],
41
41
  [
42
42
  518,
43
- 520
43
+ 519
44
44
  ]
45
45
  ]
46
46
  }
@@ -57,11 +57,11 @@
57
57
  "lines_added": [
58
58
  [
59
59
  59,
60
- 60
60
+ 59
61
61
  ],
62
62
  [
63
63
  61,
64
- 62
64
+ 61
65
65
  ]
66
66
  ]
67
67
  }
@@ -82,11 +82,11 @@
82
82
  "lines_added": [
83
83
  [
84
84
  27,
85
- 31
85
+ 30
86
86
  ],
87
87
  [
88
88
  255,
89
- 257
89
+ 256
90
90
  ]
91
91
  ]
92
92
  }
@@ -111,11 +111,11 @@
111
111
  "lines_added": [
112
112
  [
113
113
  47,
114
- 54
114
+ 53
115
115
  ],
116
116
  [
117
117
  1384,
118
- 1464
118
+ 1463
119
119
  ]
120
120
  ]
121
121
  }
@@ -140,11 +140,11 @@
140
140
  "lines_added": [
141
141
  [
142
142
  128,
143
- 147
143
+ 146
144
144
  ],
145
145
  [
146
146
  597,
147
- 599
147
+ 598
148
148
  ]
149
149
  ]
150
150
  }
@@ -169,11 +169,11 @@
169
169
  "lines_added": [
170
170
  [
171
171
  44,
172
- 59
172
+ 58
173
173
  ],
174
174
  [
175
175
  1144,
176
- 1146
176
+ 1145
177
177
  ]
178
178
  ]
179
179
  }
@@ -194,19 +194,19 @@
194
194
  "lines_added": [
195
195
  [
196
196
  102,
197
- 103
197
+ 102
198
198
  ],
199
199
  [
200
200
  104,
201
- 105
201
+ 104
202
202
  ],
203
203
  [
204
204
  113,
205
- 114
205
+ 113
206
206
  ],
207
207
  [
208
208
  115,
209
- 116
209
+ 115
210
210
  ]
211
211
  ]
212
212
  }
@@ -227,11 +227,11 @@
227
227
  "lines_added": [
228
228
  [
229
229
  36,
230
- 40
230
+ 39
231
231
  ],
232
232
  [
233
233
  383,
234
- 442
234
+ 441
235
235
  ]
236
236
  ]
237
237
  }
@@ -11,11 +11,11 @@
11
11
  "lines_added": [
12
12
  [
13
13
  53,
14
- 54
14
+ 53
15
15
  ],
16
16
  [
17
17
  55,
18
- 56
18
+ 55
19
19
  ]
20
20
  ]
21
21
  }
@@ -36,11 +36,11 @@
36
36
  "lines_added": [
37
37
  [
38
38
  36,
39
- 40
39
+ 39
40
40
  ],
41
41
  [
42
42
  518,
43
- 520
43
+ 519
44
44
  ]
45
45
  ]
46
46
  }
@@ -57,11 +57,11 @@
57
57
  "lines_added": [
58
58
  [
59
59
  59,
60
- 60
60
+ 59
61
61
  ],
62
62
  [
63
63
  61,
64
- 62
64
+ 61
65
65
  ]
66
66
  ]
67
67
  }
@@ -82,11 +82,11 @@
82
82
  "lines_added": [
83
83
  [
84
84
  27,
85
- 31
85
+ 30
86
86
  ],
87
87
  [
88
88
  255,
89
- 257
89
+ 256
90
90
  ]
91
91
  ]
92
92
  }
@@ -111,11 +111,11 @@
111
111
  "lines_added": [
112
112
  [
113
113
  47,
114
- 54
114
+ 53
115
115
  ],
116
116
  [
117
117
  1384,
118
- 1464
118
+ 1463
119
119
  ]
120
120
  ]
121
121
  }
@@ -140,11 +140,11 @@
140
140
  "lines_added": [
141
141
  [
142
142
  128,
143
- 147
143
+ 146
144
144
  ],
145
145
  [
146
146
  597,
147
- 599
147
+ 598
148
148
  ]
149
149
  ]
150
150
  }
@@ -169,11 +169,11 @@
169
169
  "lines_added": [
170
170
  [
171
171
  44,
172
- 59
172
+ 58
173
173
  ],
174
174
  [
175
175
  1144,
176
- 1146
176
+ 1145
177
177
  ]
178
178
  ]
179
179
  }
@@ -194,19 +194,19 @@
194
194
  "lines_added": [
195
195
  [
196
196
  102,
197
- 103
197
+ 102
198
198
  ],
199
199
  [
200
200
  104,
201
- 105
201
+ 104
202
202
  ],
203
203
  [
204
204
  113,
205
- 114
205
+ 113
206
206
  ],
207
207
  [
208
208
  115,
209
- 116
209
+ 115
210
210
  ]
211
211
  ]
212
212
  }
@@ -227,11 +227,11 @@
227
227
  "lines_added": [
228
228
  [
229
229
  36,
230
- 40
230
+ 39
231
231
  ],
232
232
  [
233
233
  383,
234
- 442
234
+ 441
235
235
  ]
236
236
  ]
237
237
  }