Spaces:
Running on Zero
Running on Zero
| 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 | |