name: Setup Python
description: Setup Python

inputs:
  python-version:
    description: Python version
    required: false
    default: "3.12"
  env-group:
    description: Environment group
    required: false
    default: "pydantic-v2"

runs:
  using: "composite"
  steps:
    - uses: astral-sh/setup-uv@v7
      with:
        python-version: ${{ inputs.python-version }}
        cache-suffix: ${{ inputs.env-group }}

    - run: |
        uv sync --all-extras --locked --group ${{ inputs.env-group }}
      shell: bash
