name: "astral-sh/setup-uv"
description:
  "Set up your GitHub Actions workflow with a specific version of uv."
author: "astral-sh"
inputs:
  version:
    description: "The version of uv to install e.g., `0.5.0` Defaults to the version in pyproject.toml or 'latest'."
    default: ""
  pyproject-file:
    description: "Path to a pyproject.toml"
    default: ""
  uv-file:
    description: "Path to a uv.toml"
    default: ""
  python-version:
    description: "The version of Python to set UV_PYTHON to"
    required: false
  checksum:
    description: "The checksum of the uv version to install"
    required: false
  github-token:
    description:
      "Used to increase the rate limit when retrieving versions and downloading uv."
    required: false
    default: ${{ github.token }}
  enable-cache:
    description: "Enable uploading of the uv cache"
    default: "auto"
  cache-dependency-glob:
    description:
      "Glob pattern to match files relative to the repository root to control
      the cache."
    default: |
      **/uv.lock
      **/requirements*.txt
  cache-suffix:
    description: "Suffix for the cache key"
    required: false
  cache-local-path:
    description: "Local path to store the cache."
    default: ""
  prune-cache:
    description: "Prune cache before saving."
    default: "true"
  ignore-nothing-to-cache:
    description: "Ignore when nothing is found to cache."
    default: "false"
  ignore-empty-workdir:
    description: "Ignore when the working directory is empty."
    default: "false"
  tool-dir:
    description: "Custom path to set UV_TOOL_DIR to."
    required: false
  tool-bin-dir:
    description: "Custom path to set UV_TOOL_BIN_DIR to."
    required: false
outputs:
  uv-version:
    description: "The installed uv version. Useful when using latest."
  uv-path:
    description: "The path to the installed uv binary."
  uvx-path:
    description: "The path to the installed uvx binary."
  cache-hit:
    description: "A boolean value to indicate a cache entry was found"
runs:
  using: "node20"
  main: "dist/setup/index.js"
  post: "dist/save-cache/index.js"
  post-if: success()
branding:
  icon: "package"
  color: "black"