Files
setup-uv/docs/customization.md
T
ae3b92d1bd
test / test-latest-version (>=0.8) (push) Failing after 43s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 49s
test / test-latest-version (latest) (push) Failing after 56s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 58s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 59s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 1m2s
test / test-uv-no-modify-path (push) Failing after 1m4s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 27s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 43s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 46s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 54s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 58s
test / test-default-version (ubuntu-latest) (push) Failing after 1m0s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 1m1s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 1m3s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 25s
test / test-version-file-version (map[expected-version:0.6.17 version-file:__tests__/fixtures/uv-in-requirements-txt-project/requirements.txt]) (push) Failing after 27s
test / test-version-file-version (map[expected-version:0.8.3 version-file:__tests__/fixtures/uv-in-requirements-hash-txt-project/requirements.txt]) (push) Failing after 27s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 29s
test / test-with-explicit-token (push) Failing after 29s
test / test-uvx (push) Failing after 31s
test / test-python-version (ubuntu-latest) (push) Failing after 31s
test / test-activate-environment (ubuntu-latest) (push) Failing after 34s
test / test-tool-versions-python-version (push) Failing after 22s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 29s
test / test-activate-environment-no-project (push) Failing after 35s
test / test-restore-cache-requirements-txt (push) Skipped
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 42s
test / test-setup-cache-dependency-glob (push) Failing after 30s
test / test-setup-cache-restore-cache-false (push) Failing after 30s
test / test-restore-cache-restore-cache-false (push) Skipped
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 32s
test / test-cache-local-cache-disabled (push) Failing after 33s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 33s
test / test-custom-manifest-file (push) Failing after 32s
test / test-cache-prune-force (push) Failing after 33s
test / test-absolute-path (push) Failing after 38s
test / test-relative-path (push) Failing after 40s
test / test-cache-python-missing-managed-install-dir (push) Failing after 32s
test / test-act (push) Failing after 28s
test / test-cache-dir-from-file (push) Failing after 38s
test / test-malformed-pyproject-file-fallback (push) Failing after 25s
test / test-tool-install (ubuntu-latest) (push) Failing after 31s
test / test-musl (push) Failing after 26s
test / test-debian-unstable (push) Failing after 31s
CodeQL / Analyze (TypeScript) (push) Failing after 2m11s
test / test-download-from-astral-mirror-false (push) Failing after 31s
test / test-no-python-version (push) Failing after 38s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 32s
test / test-restore-python-installs (push) Skipped
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 26s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 28s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 24s
test / test-setup-cache-requirements-txt (push) Failing after 23s
test / lint (push) Failing after 1m54s
test / test-restore-cache-dependency-glob (push) Skipped
test / test-setup-cache-save-cache-false (push) Failing after 30s
test / test-restore-cache-save-cache-false (push) Skipped
test / test-workflow-run (push) Failing after 29s
test / test-cache-python-installs (push) Failing after 36s
test / validate-typings (push) Successful in 33s
test / test-default-version (macos-14) (push) Canceled after 0s
test / test-default-version (macos-latest) (push) Canceled after 0s
test / test-default-version (windows-latest) (push) Canceled after 0s
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Canceled after 0s
test / test-tool-install (macos-14) (push) Canceled after 0s
test / test-tool-install (macos-latest) (push) Canceled after 0s
test / test-tool-install (windows-latest) (push) Canceled after 0s
test / test-python-version (macos-latest) (push) Canceled after 0s
test / test-activate-environment-custom-path (macos-latest) (push) Canceled after 0s
test / test-activate-environment-custom-path (windows-latest) (push) Canceled after 0s
test / test-cache-key-os-version (macos-15, macos-15) (push) Canceled after 0s
test / test-cache-key-os-version (ubuntu-24.04, ubuntu-24.04) (push) Canceled after 0s
test / test-cache-key-os-version (windows-2025, windows-2025) (push) Canceled after 0s
test / test-setup-cache (auto, windows-latest) (push) Canceled after 0s
test / test-setup-cache (false, windows-latest) (push) Canceled after 0s
test / test-restore-cache (auto, ubuntu-latest) (push) Canceled after 0s
test / test-restore-cache (auto, windows-latest) (push) Canceled after 0s
test / test-restore-cache (true, windows-latest) (push) Canceled after 0s
test / test-python-version (windows-latest) (push) Canceled after 0s
test / test-activate-environment (macos-latest) (push) Canceled after 0s
test / test-activate-environment (windows-latest) (push) Canceled after 0s
test / test-cache-key-os-version (macos-14, macos-14) (push) Canceled after 0s
test / test-cache-key-os-version (windows-2022, windows-2022) (push) Canceled after 0s
test / test-setup-cache (true, windows-latest) (push) Canceled after 0s
test / test-restore-cache (false, ubuntu-latest) (push) Canceled after 0s
test / test-restore-cache (false, windows-latest) (push) Canceled after 0s
test / test-restore-cache (true, ubuntu-latest) (push) Canceled after 0s
test / test-cache-local (map[expected-cache-dir:D:\a\_temp\setup-uv-cache os:windows-latest]) (push) Canceled after 0s
test / test-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (push) Canceled after 0s
test / all-tests-passed (push) Canceled after 0s
Release Drafter / ✏️ Draft release (push) Canceled after 0s
docs: update version references to v10.0.0 (#1014)
Update `uses: astral-sh/setup-uv@...` references in documentation to
`ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0`.

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-08-12 16:22:43 +02:00

2.4 KiB

Customization

This document covers advanced customization options including checksum validation, custom manifests, and problem matchers.

Validate checksum

You can specify a checksum to validate the downloaded executable. Checksums up to the default version are automatically verified by this action. The sha256 hashes can be found on the releases page of the uv repo.

- name: Install a specific version and validate the checksum
  uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
  with:
    version: "0.3.1"
    checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"

Manifest file

By default, setup-uv reads version metadata from astral-sh/versions.

The manifest-file input lets you override that source with your own URL, for example to test custom uv builds or alternate download locations.

Format

The manifest file must use the same format as astral-sh/versions: one JSON object per line, where each object represents a version and its artifacts. The versions must be sorted in descending order. For example:

{"version":"0.10.7","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]}
{"version":"0.10.6","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]}

setup-uv currently only supports default as the variant.

The archive_format field is currently ignored.

- name: Use a custom manifest file
  uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
  with:
    manifest-file: "https://example.com/my-custom-manifest.ndjson"

Note

When you use a custom manifest file and do not set the version input, setup-uv installs the latest version from that custom manifest.

Add problem matchers

This action automatically adds problem matchers for python errors.

You can disable this by setting the add-problem-matchers input to false.

- name: Install the latest version of uv without problem matchers
  uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
  with:
    add-problem-matchers: false