atomwalk12's picture
initial commit
0dd6c2f
name: "Setup Python Environment"
description: "Set up Python environment for the given Python version"
inputs:
python-version:
description: "Python version to use"
required: true
default: "3.12"
uv-version:
description: "uv version to use"
required: true
default: "0.6.14"
dependency-groups:
description: "Space-separated dependency groups to install (e.g. 'dev test')"
required: false
default: "dev"
runs:
using: "composite"
steps:
- uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v2
with:
version: ${{ inputs.uv-version }}
enable-cache: 'true'
cache-suffix: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
args=()
if [ -n "${{ inputs.dependency-groups }}" ]; then
for group in ${{ inputs.dependency-groups }}; do
args+=(--group "$group")
done
fi
uv sync --frozen "${args[@]}"
shell: bash