Files
2026-08-21 11:54:54 +02:00

54 lines
1.8 KiB
YAML

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
name: "Setup uv"
description: "Install uv with optional Python environment activation and dependency caching"
inputs:
python-version:
description: "Python version for uv commands"
required: false
default: ""
activate-environment:
description: "Create and activate a .venv environment"
required: false
default: "false"
enable-cache:
description: "Cache uv downloads between workflow runs"
required: false
default: "false"
cache-dependency-glob:
description: "Dependency files used to invalidate the uv cache"
required: false
default: "**/uv.lock"
ignore-empty-workdir:
description: "Suppress the warning when the working directory is intentionally empty"
required: false
default: "false"
runs:
using: "composite"
steps:
- name: Install latest uv
id: latest
continue-on-error: true
uses: astral-sh/[email protected]
with:
version: latest
python-version: ${{ inputs.python-version }}
activate-environment: ${{ inputs.activate-environment }}
enable-cache: ${{ inputs.enable-cache }}
cache-dependency-glob: ${{ inputs.cache-dependency-glob }}
ignore-empty-workdir: ${{ inputs.ignore-empty-workdir }}
ignore-nothing-to-cache: true
- name: Install latest known uv
if: steps.latest.outcome == 'failure'
uses: astral-sh/[email protected]
with:
version: latest-known
python-version: ${{ inputs.python-version }}
activate-environment: ${{ inputs.activate-environment }}
enable-cache: ${{ inputs.enable-cache }}
cache-dependency-glob: ${{ inputs.cache-dependency-glob }}
ignore-empty-workdir: ${{ inputs.ignore-empty-workdir }}
ignore-nothing-to-cache: true