Files
PeakRDL-BusDecoder/.github/actions/setup-uv-python/action.yml

30 lines
892 B
YAML

name: "Setup Python + uv + sync"
description: "Checkout, install uv, and uv sync (with optional groups, default Python 3.10)"
inputs:
python-version:
description: "Python version to use"
required: false
default: "3.10"
groups:
description: "Comma-separated uv groups to sync (e.g. 'dev,docs'). Leave blank for default deps only."
required: false
default: ""
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup UV
uses: astral-sh/setup-uv@v6
- name: Sync environment
shell: bash
run: |
GROUP_FLAGS=()
if [ -n "${{ inputs.groups }}" ]; then
IFS=',' read -ra G <<< "${{ inputs.groups }}"
for g in "${G[@]}"; do GROUP_FLAGS+=( "--group" "$(echo $g | xargs)" ); done
fi
uv sync "${GROUP_FLAGS[@]}" --python "${{ inputs.python-version }}"