Skip to content

Commit 7aff709

Browse files
committed
use uv in action.yml
1 parent 659d314 commit 7aff709

File tree

1 file changed

+75
-76
lines changed

1 file changed

+75
-76
lines changed

action.yml

Lines changed: 75 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,6 @@ outputs:
229229
runs:
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

Comments
 (0)