cppcheck 1.4.6__tar.gz → 1.4.8__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 (91) hide show
  1. {cppcheck-1.4.6 → cppcheck-1.4.8}/.copier-answers.yml +3 -3
  2. {cppcheck-1.4.6 → cppcheck-1.4.8}/.devcontainer/devcontainer.json +1 -1
  3. cppcheck-1.4.8/.github/workflows/cd.yml +79 -0
  4. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/workflows/ci.yml +23 -24
  5. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/workflows/codeql.yml +4 -5
  6. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/workflows/pages.yml +2 -3
  7. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/workflows/ports.yml +7 -6
  8. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/workflows/renovate.yml +4 -4
  9. cppcheck-1.4.8/.github/workflows/reuseable_cibuildwheel.yml +67 -0
  10. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/workflows/semantic-release.yml +2 -2
  11. {cppcheck-1.4.6 → cppcheck-1.4.8}/.pre-commit-config.yaml +11 -5
  12. {cppcheck-1.4.6 → cppcheck-1.4.8}/.renovaterc.json +32 -10
  13. {cppcheck-1.4.6 → cppcheck-1.4.8}/.vscode/launch.json +1 -1
  14. {cppcheck-1.4.6 → cppcheck-1.4.8}/.vscode/settings.json +9 -2
  15. cppcheck-1.4.8/CMakeLists.txt +20 -0
  16. {cppcheck-1.4.6 → cppcheck-1.4.8}/PKG-INFO +5 -5
  17. cppcheck-1.4.8/cmake/ProjectOptions.cmake +106 -0
  18. cppcheck-1.4.8/cmake/presets/base.json +107 -0
  19. cppcheck-1.4.8/cmake/presets/default.json +64 -0
  20. cppcheck-1.4.8/cmake/presets/generators/ninja.json +15 -0
  21. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-linux-gcc.json +0 -19
  22. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-linux-llvm.json +0 -19
  23. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-mingw-dynamic-windows-mingw.json +0 -19
  24. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-mingw-static-windows-mingw.json +0 -19
  25. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/bootstrap/vcpkg_bootstrap.cmake +4 -0
  26. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/bootstrap/vcpkg_configure.cmake +27 -0
  27. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/bootstrap/vcpkg_load_triplet.cmake +8 -5
  28. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/ports/cppcheck/portfile.cmake +1 -1
  29. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/ports/cppcheck/vcpkg.json +1 -1
  30. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/vcpkg.toolchain.cmake +1 -2
  31. {cppcheck-1.4.6 → cppcheck-1.4.8}/noxfile.py +12 -3
  32. {cppcheck-1.4.6 → cppcheck-1.4.8}/pyproject.toml +4 -2
  33. {cppcheck-1.4.6 → cppcheck-1.4.8}/src/cppcheck/_version.py +9 -4
  34. {cppcheck-1.4.6 → cppcheck-1.4.8}/tests/test_package.py +1 -1
  35. {cppcheck-1.4.6 → cppcheck-1.4.8}/vcpkg.json +9 -4
  36. cppcheck-1.4.6/.github/workflows/cd.yml +0 -144
  37. cppcheck-1.4.6/CMakeLists.txt +0 -38
  38. cppcheck-1.4.6/cmake/presets/base.json +0 -48
  39. cppcheck-1.4.6/cmake/presets/default.json +0 -47
  40. cppcheck-1.4.6/cmake/presets/generators/ninja.json +0 -41
  41. cppcheck-1.4.6/cmake/vcpkg/ports/pcre/export-cmake-targets.patch +0 -23
  42. cppcheck-1.4.6/cmake/vcpkg/ports/pcre/pcre-8.4.5_fix_check_function_exists_for_arm-androi_builds.patch +0 -32
  43. cppcheck-1.4.6/cmake/vcpkg/ports/pcre/pcre-8.45_fix_postfix_for_debug_Windows_builds.patch +0 -161
  44. cppcheck-1.4.6/cmake/vcpkg/ports/pcre/pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch +0 -18
  45. cppcheck-1.4.6/cmake/vcpkg/ports/pcre/portfile.cmake +0 -79
  46. cppcheck-1.4.6/cmake/vcpkg/ports/pcre/unofficial-pcre-config.cmake +0 -1
  47. cppcheck-1.4.6/cmake/vcpkg/ports/pcre/vcpkg.json +0 -18
  48. {cppcheck-1.4.6 → cppcheck-1.4.8}/.editorconfig +0 -0
  49. {cppcheck-1.4.6 → cppcheck-1.4.8}/.gitattributes +0 -0
  50. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/codecov.yml +0 -0
  51. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/codeql-config.yml +0 -0
  52. {cppcheck-1.4.6 → cppcheck-1.4.8}/.github/matchers/pylint.json +0 -0
  53. {cppcheck-1.4.6 → cppcheck-1.4.8}/.gitignore +0 -0
  54. {cppcheck-1.4.6 → cppcheck-1.4.8}/.markdownlint.yaml +0 -0
  55. {cppcheck-1.4.6 → cppcheck-1.4.8}/.releaserc.js +0 -0
  56. {cppcheck-1.4.6 → cppcheck-1.4.8}/CMakePresets.json +0 -0
  57. {cppcheck-1.4.6 → cppcheck-1.4.8}/LICENSE +0 -0
  58. {cppcheck-1.4.6 → cppcheck-1.4.8}/README.md +0 -0
  59. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/arch/x64.json +0 -0
  60. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/compilers/gcc.json +0 -0
  61. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/compilers/llvm.json +0 -0
  62. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/compilers/mingw.json +0 -0
  63. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/compilers/msvc.json +0 -0
  64. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/os/darwin.json +0 -0
  65. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/os/linux.json +0 -0
  66. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/os/windows.json +0 -0
  67. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/toolchains/vcpkg.json +0 -0
  68. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/triplets/x64-linux.json +0 -0
  69. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/triplets/x64-mingw-dynamic.json +0 -0
  70. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/triplets/x64-mingw-static.json +0 -0
  71. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/triplets/x64-osx.json +0 -0
  72. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/triplets/x64-windows.json +0 -0
  73. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-osx-gcc.json +0 -0
  74. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-osx-llvm.json +0 -0
  75. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-windows-llvm.json +0 -0
  76. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/presets/x64-windows-msvc.json +0 -0
  77. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/bootstrap/vcpkg-config.cmake +0 -0
  78. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/bootstrap/vcpkg_chainload_toolchain.cmake +0 -0
  79. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/bootstrap/vcpkg_export_mode.cmake +0 -0
  80. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/bootstrap/vcpkg_skip_install_on_reconfigure.cmake +0 -0
  81. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/ports/README.md +0 -0
  82. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/scripts/build_type.cmake +0 -0
  83. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/scripts/toolchains/README.md +0 -0
  84. {cppcheck-1.4.6 → cppcheck-1.4.8}/cmake/vcpkg/triplets/README.md +0 -0
  85. {cppcheck-1.4.6 → cppcheck-1.4.8}/docs/api/index.md +0 -0
  86. {cppcheck-1.4.6 → cppcheck-1.4.8}/docs/conf.py +0 -0
  87. {cppcheck-1.4.6 → cppcheck-1.4.8}/docs/index.md +0 -0
  88. {cppcheck-1.4.6 → cppcheck-1.4.8}/src/cppcheck/__init__.py +0 -0
  89. {cppcheck-1.4.6 → cppcheck-1.4.8}/src/cppcheck/__main__.py +0 -0
  90. {cppcheck-1.4.6 → cppcheck-1.4.8}/src/cppcheck/_version.pyi +0 -0
  91. {cppcheck-1.4.6 → cppcheck-1.4.8}/src/cppcheck/py.typed +0 -0
@@ -1,4 +1,5 @@
1
- _commit: v0.8.10
1
+ # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
+ _commit: v0.8.31
2
3
  _src_path: https://github.com/serious-scaffold/ss-pybind11
3
4
  author_email: msclock@126.com
4
5
  author_name: l.feng
@@ -17,10 +18,9 @@ module_name: cppcheck
17
18
  organization_name: msclock
18
19
  project_description: Package cppcheck as a python wheel.
19
20
  project_name: Cppcheck Wheel
21
+ repo_host: github.com
20
22
  repo_name: cppcheck-wheel
21
23
  repo_namespace: msclock
22
24
  repo_platform: github
23
25
  use_codecov: true
24
26
  use_codeql: true
25
- use_conan: false
26
- use_cpm: false
@@ -2,7 +2,7 @@
2
2
  // https://github.com/devcontainers/images/tree/main/src/base-ubuntu
3
3
  {
4
4
  "name": "cppcheck-wheel",
5
- "image": "mcr.microsoft.com/devcontainers/base:ubuntu-22.04",
5
+ "image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.04",
6
6
  "capAdd": [
7
7
  // Enable ptrace-based debugging for C++
8
8
  "SYS_PTRACE"
@@ -0,0 +1,79 @@
1
+ name: CD
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: 0 0 * * 5
7
+ release:
8
+ types:
9
+ - published
10
+
11
+ concurrency:
12
+ group: ${{ github.workflow }}-${{ github.ref }}
13
+ cancel-in-progress: true
14
+
15
+ env:
16
+ FORCE_COLOR: 3
17
+
18
+ jobs:
19
+ build_sdist:
20
+ name: Build SDist
21
+ runs-on: ubuntu-24.04
22
+ steps:
23
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
24
+ with:
25
+ fetch-depth: 0
26
+
27
+ - name: Build SDist
28
+ run: pipx run build --sdist
29
+
30
+ - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
31
+ with:
32
+ name: cibw-sdist
33
+ path: dist/*.tar.gz
34
+
35
+
36
+ build_wheels:
37
+ uses: ./.github/workflows/reuseable_cibuildwheel.yml
38
+ secrets: inherit
39
+ with:
40
+ auto: true
41
+ extra: true
42
+
43
+
44
+ check_dist:
45
+ name: Check dist
46
+ needs: [build_wheels, build_sdist]
47
+ runs-on: ubuntu-24.04
48
+ steps:
49
+ - uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4
50
+ with:
51
+ pattern: cibw-*
52
+ path: dist
53
+ merge-multiple: true
54
+
55
+ - run: pipx run twine check --strict dist/*
56
+
57
+
58
+ upload_all:
59
+ needs: [build_wheels, build_sdist, check_dist]
60
+ environment:
61
+ name: pypi
62
+ url: https://pypi.org/project/cppcheck-wheel
63
+ permissions:
64
+ id-token: write
65
+ runs-on: ubuntu-24.04
66
+ if: github.event_name == 'release' && github.event.action == 'published'
67
+
68
+ steps:
69
+ - uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4
70
+ with:
71
+ pattern: cibw-*
72
+ path: dist
73
+ merge-multiple: true
74
+
75
+ - uses: pypa/gh-action-pypi-publish@release/v1
76
+ env:
77
+ PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
78
+ with:
79
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -27,7 +27,7 @@ jobs:
27
27
  with:
28
28
  fetch-depth: 0
29
29
 
30
- - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
30
+ - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5
31
31
  with:
32
32
  python-version: 3.x
33
33
 
@@ -41,21 +41,18 @@ jobs:
41
41
  pipx run nox -s pylint
42
42
 
43
43
 
44
-
45
- checks:
46
- runs-on: ${{ matrix.runs-on }}
44
+ wheels:
47
45
  needs: [pre-commit]
48
- strategy:
49
- fail-fast: false
50
- matrix:
51
- python-version: ['3.8', '3.12']
52
- runs-on: [ubuntu-22.04, macos-14, windows-2022]
46
+ uses: ./.github/workflows/reuseable_cibuildwheel.yml
47
+ secrets: inherit
48
+ with:
49
+ auto: true
50
+ extra: false
53
51
 
54
- include:
55
- - python-version: pypy-3.10
56
- runs-on: ubuntu-22.04
57
52
 
58
- name: Check Python ${{ matrix.python-version }} on ${{ matrix.runs-on }}
53
+ codecov:
54
+ runs-on: ubuntu-24.04
55
+ needs: [pre-commit]
59
56
 
60
57
  steps:
61
58
  - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
@@ -63,18 +60,18 @@ jobs:
63
60
  fetch-depth: 0
64
61
 
65
62
  - name: Cache
66
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
63
+ uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
67
64
  with:
68
65
  path: |
69
66
  ~/vcpkg
70
67
  ~/.cache/pip
71
68
  ~/.cache/vcpkg
72
- key: ${{ matrix.python-version }}-${{ matrix.runs-on }}-${{ hashFiles('vcpkg.json') }}
73
- restore-keys: ${{ matrix.python-version }}-${{ matrix.runs-on }}-${{ hashFiles('vcpkg.json') }}
69
+ key: codecov-${{ hashFiles('vcpkg.json') }}
70
+ restore-keys: codecov-${{ hashFiles('vcpkg.json') }}
74
71
 
75
- - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
72
+ - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5
76
73
  with:
77
- python-version: ${{ matrix.python-version }}
74
+ python-version: 3.x
78
75
 
79
76
  - name: Install package
80
77
  run: python -m pip install .[test] -v
@@ -85,13 +82,14 @@ jobs:
85
82
  --durations=20
86
83
 
87
84
  - name: Upload coverage report
88
- uses: codecov/codecov-action@015f24e6818733317a2da2edd6290ab26238649a # v5.0.7
85
+ uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # v5.3.1
86
+ with:
87
+ token: ${{ secrets.CODECOV_TOKEN }}
89
88
 
90
89
 
91
90
  check-docs:
92
91
  runs-on: ubuntu-24.04
93
92
  needs: [pre-commit]
94
- timeout-minutes: 15
95
93
 
96
94
  steps:
97
95
  - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
@@ -99,7 +97,7 @@ jobs:
99
97
  fetch-depth: 0
100
98
 
101
99
  - name: Cache
102
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
100
+ uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
103
101
  with:
104
102
  path: |
105
103
  ~/vcpkg
@@ -108,7 +106,7 @@ jobs:
108
106
  key: docs-${{ hashFiles('vcpkg.json') }}
109
107
  restore-keys: docs-${{ hashFiles('vcpkg.json') }}
110
108
 
111
- - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
109
+ - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5
112
110
  with:
113
111
  python-version: 3.x
114
112
 
@@ -122,7 +120,8 @@ jobs:
122
120
  pass:
123
121
  if: always()
124
122
  needs:
125
- - checks
123
+ - wheels
124
+ - codecov
126
125
  - check-docs
127
126
  runs-on: ubuntu-24.04
128
127
  timeout-minutes: 2
@@ -136,5 +135,5 @@ jobs:
136
135
  jobs: ${{ toJSON(needs) }}
137
136
 
138
137
  - name: Approve pr if all jobs succeeded
139
- if: contains(github.event.pull_request.labels.*.name, 'auto-approval')
138
+ if: contains(github.event.pull_request.labels.*.name, 'auto-approval') && contains(github.actor, '[bot]')
140
139
  uses: hmarr/auto-approve-action@v4
@@ -31,7 +31,6 @@ jobs:
31
31
  analyze:
32
32
  name: Analyze
33
33
  runs-on: ubuntu-24.04
34
- timeout-minutes: 15
35
34
  permissions:
36
35
  actions: read
37
36
  contents: read
@@ -50,13 +49,13 @@ jobs:
50
49
  fetch-depth: 0
51
50
 
52
51
  - name: Initialize CodeQL
53
- uses: github/codeql-action/init@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
52
+ uses: github/codeql-action/init@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
54
53
  with:
55
54
  languages: ${{ matrix.language }}
56
55
  config-file: ./.github/codeql-config.yml
57
56
 
58
57
  - name: Cache
59
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
58
+ uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
60
59
  with:
61
60
  path: |
62
61
  ~/vcpkg
@@ -64,7 +63,7 @@ jobs:
64
63
  key: codeql-${{ hashFiles('vcpkg.json') }}
65
64
  restore-keys: codeql-${{ hashFiles('vcpkg.json') }}
66
65
 
67
- - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
66
+ - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5
68
67
  with:
69
68
  python-version: 3.x
70
69
 
@@ -72,4 +71,4 @@ jobs:
72
71
  run: python -m pip install .[test]
73
72
 
74
73
  - name: Perform CodeQL Analysis
75
- uses: github/codeql-action/analyze@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6
74
+ uses: github/codeql-action/analyze@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
@@ -28,7 +28,6 @@ jobs:
28
28
  permissions:
29
29
  contents: write
30
30
  id-token: write
31
- timeout-minutes: 15
32
31
 
33
32
  steps:
34
33
  - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
@@ -37,7 +36,7 @@ jobs:
37
36
  ref: ${{ github.head_ref }}
38
37
 
39
38
  - name: Cache
40
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
39
+ uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
41
40
  with:
42
41
  path: |
43
42
  ~/vcpkg
@@ -46,7 +45,7 @@ jobs:
46
45
  key: cd-pages-${{ hashFiles('vcpkg.json') }}
47
46
  restore-keys: cd-pages-${{ hashFiles('vcpkg.json') }}
48
47
 
49
- - uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
48
+ - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5
50
49
  with:
51
50
  python-version: 3.x
52
51
 
@@ -18,7 +18,7 @@ jobs:
18
18
  - name: Generate a bot token with BOT_APP_ID
19
19
  id: bot_token
20
20
  if: vars.BOT_APP_ID && env.BOT_PRIVATE_KEY != null
21
- uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1
21
+ uses: actions/create-github-app-token@21cfef2b496dd8ef5b904c159339626a10ad380e # v1
22
22
  env:
23
23
  BOT_PRIVATE_KEY: ${{ secrets.BOT_PRIVATE_KEY }}
24
24
  with:
@@ -37,7 +37,7 @@ jobs:
37
37
  vcpkg format-manifest --all $(find cmake/vcpkg/ports/ -name "vcpkg.json")
38
38
 
39
39
  - name: Commit format vcpkg.json
40
- uses: stefanzweifel/git-auto-commit-action@v5
40
+ uses: stefanzweifel/git-auto-commit-action@e348103e9026cc0eee72ae06630dbe30c8bf7a79 # v5
41
41
  if: success()
42
42
  with:
43
43
  commit_message: 'ci: format vcpkg configuration'
@@ -59,8 +59,9 @@ jobs:
59
59
  install_output=$(vcpkg install ${dir##cmake/vcpkg/ports/} --overlay-ports=cmake/vcpkg/ports --classic) || status=$?
60
60
  if [[ ! $status -eq 0 ]]; then
61
61
  echo " Update hash on $dir/portfile.cmake"
62
- expected=$(echo "$install_output" | grep -oP "(?<=Expected hash: ).{128}")
63
- actual=$(echo "$install_output" | grep -oP "(?<=Actual hash: ).{128}")
62
+ hashes=$(echo "$install_output" | grep -oP "(?<=: )[\d\w]{128}")
63
+ expected=$(echo $hashes | cut -d' ' -f1)
64
+ actual=$(echo $hashes | cut -d' ' -f2)
64
65
  sed -i "s@${expected}@${actual}@g" "$dir/portfile.cmake"
65
66
  echo " Expected hash: ${expected}"
66
67
  echo " Actual hash: ${actual}"
@@ -69,7 +70,7 @@ jobs:
69
70
 
70
71
  - name: Detect hash changes against local
71
72
  id: filter-hash
72
- uses: dorny/paths-filter@v3
73
+ uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
73
74
  with:
74
75
  list-files: shell
75
76
  base: HEAD
@@ -79,7 +80,7 @@ jobs:
79
80
 
80
81
  - name: Commit port hash
81
82
  if: steps.filter-hash.outputs.ports == 'true'
82
- uses: stefanzweifel/git-auto-commit-action@v5
83
+ uses: stefanzweifel/git-auto-commit-action@e348103e9026cc0eee72ae06630dbe30c8bf7a79 # v5
83
84
  with:
84
85
  file_pattern: cmake/vcpkg/ports/*
85
86
  commit_message: 'ci: update port hash'
@@ -2,8 +2,8 @@ name: Renovate
2
2
 
3
3
  on:
4
4
  schedule:
5
- # * is a special character in YAML so you have to quote this string
6
- - cron: '*/15 0-3 * * 1'
5
+ # Match renovate schedule:earlyMondays and schedule:automergeMonthly
6
+ - cron: '*/15 0-3 * * *'
7
7
  workflow_dispatch:
8
8
 
9
9
  jobs:
@@ -19,7 +19,7 @@ jobs:
19
19
  RENOVATE_PLATFORM: github
20
20
  RENOVATE_REPOSITORIES: '["${{ github.repository }}"]'
21
21
  RENOVATE_REPOSITORY_CACHE: enabled
22
- image: ghcr.io/renovatebot/renovate:39.43.0@sha256:eec02425b9b16428ad16f0a50ec207b346eff17193cec3c891ff00fb261964e0
22
+ image: ghcr.io/renovatebot/renovate:39.185.7@sha256:b8539ceb56a431eb34d76b2cf097555e11515ed7f1880fa201a8b2102d44df48
23
23
  options: --user root
24
24
  runs-on: ubuntu-24.04
25
25
  steps:
@@ -28,7 +28,7 @@ jobs:
28
28
  - name: Generate a token with GitHub App if App ID exists
29
29
  id: generate-token
30
30
  if: vars.BOT_APP_ID
31
- uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1
31
+ uses: actions/create-github-app-token@21cfef2b496dd8ef5b904c159339626a10ad380e # v1
32
32
  with:
33
33
  app-id: ${{ vars.BOT_APP_ID }}
34
34
  private-key: ${{ secrets.BOT_PRIVATE_KEY }}
@@ -0,0 +1,67 @@
1
+ name: cibuildwheel
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ auto:
7
+ description: Build wheels for auto archs
8
+ required: true
9
+ type: boolean
10
+ extra:
11
+ description: Build wheels for aarch64 armv7l ppc64le & s390x
12
+ required: true
13
+ type: boolean
14
+
15
+ jobs:
16
+ build_wheels:
17
+ name: On ${{ matrix.os }}, with ${{ matrix.arch }}, build ${{ matrix.build }} wheels
18
+ runs-on: ${{ matrix.os }}
19
+
20
+ strategy:
21
+ matrix:
22
+ os: [ubuntu-24.04] # renovate: github-runner
23
+ arch: [aarch64, ppc64le, s390x, armv7l, x86_64, i686]
24
+ build: [manylinux, musllinux]
25
+ qemu_arch: [aarch64 ppc64le s390x armv7l]
26
+ include:
27
+ - {os: windows-2019, arch: AMD64, build: win}
28
+ - {os: windows-2019, arch: x86, build: win}
29
+ - {os: windows-2022, arch: ARM64, build: win}
30
+ - {os: macos-13, arch: x86_64, build: macos}
31
+ - {os: macos-14, arch: arm64, build: macos}
32
+
33
+ steps:
34
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
35
+ if: >
36
+ inputs.auto && !contains(matrix.qemu_arch, matrix.arch) ||
37
+ inputs.extra && contains(matrix.qemu_arch, matrix.arch)
38
+ with:
39
+ fetch-depth: 0
40
+
41
+ - name: Set up msvc on Windows
42
+ if: runner.os == 'Windows' && inputs.auto && !contains(matrix.qemu_arch, matrix.arch)
43
+ uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1
44
+ with:
45
+ arch: ${{ matrix.arch }}
46
+
47
+ - name: Set up QEMU
48
+ uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
49
+ if: runner.os == 'Linux' && inputs.extra && contains(matrix.qemu_arch, matrix.arch)
50
+
51
+ - name: Build wheels
52
+ if: >
53
+ inputs.auto && !contains(matrix.qemu_arch, matrix.arch) ||
54
+ inputs.extra && contains(matrix.qemu_arch, matrix.arch)
55
+ uses: pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969 # v2.22.0
56
+ env:
57
+ CIBW_ARCHS: ${{ matrix.arch }}
58
+ CIBW_BUILD: cp39-${{ matrix.build }}*
59
+
60
+ - name: Upload wheels
61
+ if: >
62
+ inputs.auto && !contains(matrix.qemu_arch, matrix.arch) ||
63
+ inputs.extra && contains(matrix.qemu_arch, matrix.arch)
64
+ uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4
65
+ with:
66
+ name: cibw-${{ matrix.os }}-${{ matrix.build }}-${{ matrix.arch }}
67
+ path: wheelhouse/*.whl
@@ -24,7 +24,7 @@ jobs:
24
24
  - name: Generate a bot token with BOT_APP_ID
25
25
  id: bot_token
26
26
  if: vars.BOT_APP_ID && env.BOT_PRIVATE_KEY != null
27
- uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1
27
+ uses: actions/create-github-app-token@21cfef2b496dd8ef5b904c159339626a10ad380e # v1
28
28
  env:
29
29
  BOT_PRIVATE_KEY: ${{ secrets.BOT_PRIVATE_KEY }}
30
30
  with:
@@ -46,7 +46,7 @@ jobs:
46
46
  token: ${{ steps.bot_token.outputs.token || secrets.PAT || secrets.GITHUB_TOKEN }}
47
47
 
48
48
  - name: Setup Node.js
49
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4
49
+ uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4
50
50
  with:
51
51
  node-version: lts/*
52
52
 
@@ -48,7 +48,7 @@ repos:
48
48
 
49
49
  # Strong lint from ruff
50
50
  - repo: https://github.com/astral-sh/ruff-pre-commit
51
- rev: v0.8.1
51
+ rev: v0.9.9
52
52
  hooks:
53
53
  - id: ruff
54
54
  args: [--fix, --show-fixes]
@@ -56,7 +56,7 @@ repos:
56
56
 
57
57
  # Mypy Check
58
58
  - repo: https://github.com/pre-commit/mirrors-mypy
59
- rev: v1.13.0
59
+ rev: v1.15.0
60
60
  hooks:
61
61
  - id: mypy
62
62
  files: src|tests
@@ -108,7 +108,7 @@ repos:
108
108
 
109
109
  # Check jsonschema
110
110
  - repo: https://github.com/python-jsonschema/check-jsonschema
111
- rev: 0.30.0
111
+ rev: 0.31.1
112
112
  hooks:
113
113
  - id: check-dependabot
114
114
  - id: check-github-workflows
@@ -116,7 +116,7 @@ repos:
116
116
 
117
117
  # Check for spelling
118
118
  - repo: https://github.com/codespell-project/codespell
119
- rev: v2.3.0
119
+ rev: v2.4.1
120
120
  hooks:
121
121
  - id: codespell
122
122
  args:
@@ -130,9 +130,15 @@ repos:
130
130
  hooks:
131
131
  - id: shellcheck
132
132
 
133
+ # Check for markdown
134
+ - repo: https://github.com/igorshubovych/markdownlint-cli
135
+ rev: v0.44.0
136
+ hooks:
137
+ - id: markdownlint-fix
138
+
133
139
  # Check for renovate config
134
140
  - repo: https://github.com/renovatebot/pre-commit-hooks
135
- rev: 39.42.4
141
+ rev: 39.185.6
136
142
  hooks:
137
143
  - id: renovate-config-validator
138
144
  stages: [manual]
@@ -8,22 +8,30 @@
8
8
  "automergeType": "pr",
9
9
  "automergeStrategy": "merge-commit",
10
10
  "ignoreScripts": false,
11
- "platformAutomerge": true,
11
+ "platformAutomerge": false,
12
12
  "packageRules": [
13
13
  {
14
+ "automerge": true,
15
+ "addLabels": [
16
+ "auto-approval"
17
+ ],
18
+ "extends": [
19
+ "schedule:earlyMondays"
20
+ ],
21
+ "automergeSchedule": [
22
+ "* 0-3 1-7 * *"
23
+ ],
14
24
  "matchUpdateTypes": [
15
25
  "minor",
16
26
  "patch",
17
27
  "pin",
18
28
  "digest"
19
- ],
20
- "automerge": true
29
+ ]
21
30
  },
22
31
  {
23
32
  "description": "Group renovate docker tag and pre-commit-hooks tag",
24
33
  "groupName": "renovate group",
25
34
  "addLabels": [
26
- "auto-approval",
27
35
  "renovate"
28
36
  ],
29
37
  "matchDatasources": [
@@ -55,20 +63,34 @@
55
63
  "datasourceTemplate": "pypi",
56
64
  "fileMatch": [
57
65
  "^\\.github/workflows/.+\\.yml$",
58
- "^\\.renovaterc\\.json$",
59
- "^Makefile$"
66
+ "^\\.renovaterc\\.json$"
60
67
  ],
61
68
  "matchStrings": [
62
69
  "pipx? install.* (?<depName>.*?)==(?<currentValue>.*?)[\\s\";]"
63
70
  ]
64
71
  },
65
72
  {
66
- "description": "Update vcpkg.json builtin-baseline with git hash",
73
+ "customType": "regex",
74
+ "datasourceTemplate": "github-runners",
75
+ "depTypeTemplate": "github-runner",
76
+ "description": "Match GitHub runner defined in GitHub Actions matrix strategy",
77
+ "fileMatch": [
78
+ "^\\.github/workflows/.+\\.yml$"
79
+ ],
80
+ "matchStringsStrategy": "recursive",
81
+ "matchStrings": [
82
+ "[-:] (.*) # renovate: github-runner",
83
+ "(?<depName>ubuntu|windows|macos)-(?<currentValue>[\\d\\.\\-\\w]+)"
84
+ ],
85
+ "versioningTemplate": "docker"
86
+ },
87
+ {
88
+ "description": "Update microsoft vcpkg baseline",
67
89
  "customType": "regex",
68
90
  "currentValueTemplate": "master",
69
91
  "datasourceTemplate": "git-refs",
70
92
  "depNameTemplate": "https://github.com/microsoft/vcpkg",
71
- "depTypeTemplate": "vcpkg-builtin-baseline",
93
+ "depTypeTemplate": "vcpkg-baseline",
72
94
  "fileMatch": [
73
95
  "^vcpkg\\.json$"
74
96
  ],
@@ -77,11 +99,11 @@
77
99
  ]
78
100
  },
79
101
  {
80
- "description": "Update registration baseline with git hash",
102
+ "description": "Update custom registry baseline",
81
103
  "customType": "regex",
82
104
  "currentValueTemplate": "master",
83
105
  "datasourceTemplate": "git-refs",
84
- "depTypeTemplate": "registration-baseline",
106
+ "depTypeTemplate": "vcpkg-baseline",
85
107
  "fileMatch": [
86
108
  "^vcpkg\\.json$"
87
109
  ],
@@ -11,7 +11,7 @@
11
11
  "program": "${command:cmake.launchTargetPath}",
12
12
  "args": [],
13
13
  "stopAtEntry": false,
14
- "cwd": "${fileDirname}",
14
+ "cwd": "${command:cmake.launchTargetDirectory}",
15
15
  "environment": [],
16
16
  "externalConsole": false,
17
17
  "MIMode": "gdb",
@@ -1,9 +1,16 @@
1
1
  {
2
- "python.testing.pytestArgs": ["tests"],
2
+ "python.testing.pytestArgs": [
3
+ "tests",
4
+ "-ra",
5
+ "--showlocals",
6
+ "--strict-markers",
7
+ "--strict-config"
8
+ ],
3
9
  "python.testing.unittestEnabled": false,
4
10
  "python.testing.pytestEnabled": true,
11
+ "cmake.configureOnEdit": false,
12
+ "cmake.options.statusBarVisibility": "icon",
5
13
  "cmake.useCMakePresets": "always",
6
- "cmake.options.statusBarVisibility": "compact",
7
14
  "files.associations": {
8
15
  "iosfwd": "cpp",
9
16
  "type_traits": "cpp",
@@ -0,0 +1,20 @@
1
+ cmake_minimum_required(VERSION 3.25)
2
+ message(STATUS "CMAKE VERSION:${CMAKE_VERSION}")
3
+
4
+ project(
5
+ cppcheck
6
+ LANGUAGES CXX C
7
+ HOMEPAGE_URL "https://github.com/msclock/cppcheck-wheel"
8
+ DESCRIPTION "Package cppcheck as a python wheel.")
9
+
10
+ # Project default module
11
+ find_package(cmake-modules REQUIRED)
12
+ include(cmake-modules/ProjectDefault)
13
+
14
+ find_program(cppcheck NAMES "cppcheck" "cppcheck.exe")
15
+ cmake_path(GET cppcheck PARENT_PATH cppcheck_dir)
16
+ file(GLOB cppcheck_runtimes ${cppcheck_dir}/*)
17
+ install(PROGRAMS ${cppcheck_runtimes}
18
+ DESTINATION ${CMAKE_PROJECT_NAME}/Cppcheck)
19
+ install(DIRECTORY ${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/share/Cppcheck
20
+ DESTINATION ${CMAKE_PROJECT_NAME})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cppcheck
3
- Version: 1.4.6
3
+ Version: 1.4.8
4
4
  Summary: Package cppcheck as a python wheel.
5
5
  Author-Email: "l.feng" <msclock@126.com>
6
6
  License: Apache-2.0
@@ -21,24 +21,24 @@ Classifier: Programming Language :: Python :: 3.13
21
21
  Classifier: Topic :: Scientific/Engineering
22
22
  Classifier: Typing :: Typed
23
23
  Project-URL: Homepage, https://github.com/msclock/cppcheck-wheel
24
- Project-URL: Bug tracker, https://github.com/msclock/cppcheck-wheel/issues
24
+ Project-URL: Bug Tracker, https://github.com/msclock/cppcheck-wheel/issues
25
25
  Project-URL: Discussions, https://github.com/msclock/cppcheck-wheel/discussions
26
26
  Project-URL: Changelog, https://github.com/msclock/cppcheck-wheel/releases
27
27
  Requires-Python: >=3.7
28
28
  Requires-Dist: typing-extensions>=3.10.0; python_version < "3.9"
29
29
  Requires-Dist: importlib_metadata>=1.4
30
+ Provides-Extra: test
30
31
  Requires-Dist: pytest>=6; extra == "test"
31
32
  Requires-Dist: pytest-cov>=3; extra == "test"
33
+ Provides-Extra: dev
32
34
  Requires-Dist: pytest>=6; extra == "dev"
33
35
  Requires-Dist: pytest-cov>=3; extra == "dev"
36
+ Provides-Extra: docs
34
37
  Requires-Dist: sphinx>=7.0; extra == "docs"
35
38
  Requires-Dist: myst_parser>=0.13; extra == "docs"
36
39
  Requires-Dist: sphinx_copybutton; extra == "docs"
37
40
  Requires-Dist: sphinx_autodoc_typehints; extra == "docs"
38
41
  Requires-Dist: furo>=2023.08.17; extra == "docs"
39
- Provides-Extra: test
40
- Provides-Extra: dev
41
- Provides-Extra: docs
42
42
  Description-Content-Type: text/markdown
43
43
 
44
44
  # Cppcheck Wheel