@@ -229,14 +229,6 @@ outputs:
229229runs :
230230 using : " composite"
231231 steps :
232- - name : Install python
233- uses : actions/setup-python@v5
234- id : setup-python
235- with :
236- # use python version shipped with latest Ubuntu LTS
237- python-version : ' 3.10'
238- update-environment : false
239-
240232 - name : Install Linux clang dependencies
241233 if : runner.os == 'Linux'
242234 shell : bash
@@ -261,82 +253,89 @@ runs:
261253 ln -s "$(brew --prefix llvm@${{ inputs.version }})/bin/clang-format" "/usr/local/bin/clang-format-${{ inputs.version }}"
262254 ln -s "$(brew --prefix llvm@${{ inputs.version }})/bin/clang-tidy" "/usr/local/bin/clang-tidy-${{ inputs.version }}"
263255
264- - name : Setup python venv (Unix)
256+ - name : Setup cpp-linter dependencies (Unix)
265257 if : runner.os == 'Linux' || runner.os == 'macOS'
266258 shell : bash
259+ env :
260+ UV_NO_MODIFY_PATH : 1
261+ UV_PROJECT_ENVIRONMENT : ${{ github.action_path }}
262+ UV_INSTALL_DIR : ${{ github.action_path }}/bin
267263 run : |
268- ${{ steps.setup-python.outputs.python-path }} -m venv "$GITHUB_ACTION_PATH/venv"
269- source "$GITHUB_ACTION_PATH/venv/bin/activate"
270- pip install -r "$GITHUB_ACTION_PATH/requirements.txt"
271- clang-tools -i ${{ inputs.version }} -b
264+ curl -LsSf https://astral.sh/uv/install.sh | sh
265+ ${{ env.UV_INSTALL_DIR }}/uv sync --config-file "${{ env.GITHUB_ACTION_PATH }}" --group action
266+ ${{ env.UV_INSTALL_DIR }}/uv run clang-tools -i ${{ inputs.version }} -b
272267
273- - name : Run cpp-linter (Unix)
274- id : cpp-linter-unix
275- if : runner.os == 'Linux' || runner.os == 'macOS'
276- shell : bash
277- run : |
278- source "$GITHUB_ACTION_PATH/venv/bin/activate"
279-
280- cpp-linter \
281- --style="${{ inputs.style }}" \
282- --extensions=${{ inputs.extensions }} \
283- --tidy-checks="${{ inputs.tidy-checks }}" \
284- --repo-root=${{ inputs.repo-root }} \
285- --version=${{ inputs.version }} \
286- --verbosity=${{ inputs.verbosity }} \
287- --lines-changed-only=${{ inputs.lines-changed-only }} \
288- --files-changed-only=${{ inputs.files-changed-only }} \
289- --thread-comments=${{ inputs.thread-comments }} \
290- --no-lgtm=${{ inputs.no-lgtm }} \
291- --step-summary=${{ inputs.step-summary }} \
292- --ignore="${{ inputs.ignore }}" \
293- --ignore-tidy="${{ inputs.ignore-tidy }}" \
294- --ignore-format="${{ inputs.ignore-format }}" \
295- --database=${{ inputs.database }} \
296- --file-annotations=${{ inputs.file-annotations }} \
297- --extra-arg="${{ inputs.extra-args }}" \
298- --tidy-review="${{ inputs.tidy-review }}" \
299- --format-review="${{ inputs.format-review }}" \
300- --passive-reviews="${{ inputs.passive-reviews }}" \
301- --jobs=${{ inputs.jobs }}
302-
303- - name : Setup python venv (Windows)
268+ - name : Setup cpp-linter dependencies (Windows)
304269 if : runner.os == 'Windows'
305270 shell : pwsh
271+ env :
272+ UV_NO_MODIFY_PATH : 1
273+ UV_INSTALL_DIR : ${{ github.action_path }}/bin
274+ UV_PROJECT_ENVIRONMENT : ${{ github.action_path }}
306275 run : |
307- ${{ steps.setup-python.outputs.python-path }} -m venv "$env:GITHUB_ACTION_PATH/venv"
308- Invoke-Expression -Command "$env:GITHUB_ACTION_PATH/venv/Scripts/Activate.ps1"
309- pip install -r "$env:GITHUB_ACTION_PATH/requirements.txt"
310- clang-tools -i ${{ inputs.version }} -b
276+ powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/0.8.9/install.ps1 | iex"
277+ ${{ env.UV_INSTALL_DIR }}/uv sync --config-file "${{ env.GITHUB_ACTION_PATH }}" --group action
278+ ${{ env.UV_INSTALL_DIR }}/uv run clang-tools -i ${{ inputs.version }} -b
279+
280+ - name : Run cpp-linter (Unix)
281+ if : runner.os == 'Linux' || runner.os == 'macOS'
282+ id : cpp-linter-unix
283+ shell : bash
284+ env :
285+ UV_PROJECT_ENVIRONMENT : ${{ github.action_path }}
286+ UV_INSTALL_DIR : ${{ github.action_path }}/bin
287+ run : >-
288+ ${{ env.UV_INSTALL_DIR }}/uv run
289+ cpp-linter
290+ --style="${{ inputs.style }}"
291+ --extensions=${{ inputs.extensions }}
292+ --tidy-checks="${{ inputs.tidy-checks }}"
293+ --repo-root=${{ inputs.repo-root }}
294+ --version=${{ inputs.version }}
295+ --verbosity=${{ inputs.verbosity }}
296+ --lines-changed-only=${{ inputs.lines-changed-only }}
297+ --files-changed-only=${{ inputs.files-changed-only }}
298+ --thread-comments=${{ inputs.thread-comments }}
299+ --no-lgtm=${{ inputs.no-lgtm }}
300+ --step-summary=${{ inputs.step-summary }}
301+ --ignore="${{ inputs.ignore }}"
302+ --ignore-tidy="${{ inputs.ignore-tidy }}"
303+ --ignore-format="${{ inputs.ignore-format }}"
304+ --database=${{ inputs.database }}
305+ --file-annotations=${{ inputs.file-annotations }}
306+ --extra-arg="${{ inputs.extra-args }}"
307+ --tidy-review="${{ inputs.tidy-review }}"
308+ --format-review="${{ inputs.format-review }}"
309+ --passive-reviews="${{ inputs.passive-reviews }}"
310+ --jobs=${{ inputs.jobs }}
311311
312312 - name : Run cpp-linter (Windows)
313313 id : cpp-linter-windows
314- if : runner.os == 'Windows'
315314 shell : pwsh
316- run : |
317- Invoke-Expression -Command "$env:GITHUB_ACTION_PATH/venv/Scripts/Activate.ps1"
318-
319- $app = 'cpp-linter' +
320- ' --style=" ${{ inputs.style }}"' +
321- ' --extensions=${{ inputs.extensions }}' +
322- ' --tidy-checks ="${{ inputs.tidy-checks }}"' +
323- ' --repo-root =${{ inputs.repo-root }}' +
324- ' --version= ${{ inputs.version }}' +
325- ' --verbosity =${{ inputs.verbosity }}' +
326- ' --lines-changed-only =${{ inputs.lines-changed-only }}' +
327- ' --files-changed-only =${{ inputs.files-changed-only }}' +
328- ' --thread-comments =${{ inputs.thread-comments }}' +
329- ' --no-lgtm =${{ inputs.no-lgtm }}' +
330- ' --step-summary =${{ inputs.step-summary }}' +
331- ' --ignore=" ${{ inputs.ignore }}"' +
332- ' --ignore-tidy=" ${{ inputs.ignore-tidy }}"' +
333- ' --ignore-format ="${{ inputs.ignore-format }}"' +
334- ' --database= ${{ inputs.database }}' +
335- ' --file-annotations= ${{ inputs.file-annotations }}' +
336- ' --extra-arg=" ${{ inputs.extra-args }}"' +
337- ' --tidy-review=" ${{ inputs.tidy-review }}"' +
338- ' --format-review ="${{ inputs.format-review }}"' +
339- ' --passive-reviews ="${{ inputs.passive-reviews }}"' +
340- ' --jobs= ${{ inputs.jobs }}'
341-
342- Invoke-Expression -Command $app
315+ env :
316+ UV_PROJECT_ENVIRONMENT : ${{ github.action_path }}
317+ UV_INSTALL_DIR : ${{ github.action_path }}/bin
318+ run : >-
319+ ${{ env.UV_INSTALL_DIR }}/uv run
320+ cpp-linter
321+ --style ="${{ inputs.style }}"
322+ --extensions =${{ inputs.extensions }}
323+ --tidy-checks=" ${{ inputs.tidy-checks }}"
324+ --repo-root =${{ inputs.repo-root }}
325+ --version =${{ inputs.version }}
326+ --verbosity =${{ inputs.verbosity }}
327+ --lines-changed-only =${{ inputs.lines-changed-only }}
328+ --files-changed-only =${{ inputs.files-changed-only }}
329+ --thread-comments =${{ inputs.thread-comments }}
330+ --no-lgtm= ${{ inputs.no-lgtm }}
331+ --step-summary= ${{ inputs.step-summary }}
332+ --ignore="${{ inputs.ignore }}"
333+ --ignore-tidy=" ${{ inputs.ignore-tidy }}"
334+ --ignore-format=" ${{ inputs.ignore-format }}"
335+ --database= ${{ inputs.database }}
336+ --file-annotations= ${{ inputs.file-annotations }}
337+ --extra-arg ="${{ inputs.extra-args }}"
338+ --tidy-review ="${{ inputs.tidy-review }}"
339+ --format-review=" ${{ inputs.format-review }}"
340+ --passive-reviews="${{ inputs.passive-reviews }}"
341+ --jobs=${{ inputs.jobs }}
0 commit comments