2.3 KiB
Advanced Version Configuration
This document covers advanced options for configuring which version of uv to install.
Install the latest version
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v7
with:
version: "latest"
Install a specific version
- name: Install a specific version of uv
uses: astral-sh/setup-uv@v7
with:
version: "0.4.4"
Install a version by supplying a semver range or pep440 specifier
You can specify a semver range or pep440 specifier to install the latest version that satisfies the range.
- name: Install a semver range of uv
uses: astral-sh/setup-uv@v7
with:
version: ">=0.4.0"
- name: Pinning a minor version of uv
uses: astral-sh/setup-uv@v7
with:
version: "0.4.x"
- name: Install a pep440-specifier-satisfying version of uv
uses: astral-sh/setup-uv@v7
with:
version: ">=0.4.25,<0.5"
Resolution strategy
By default, when resolving version ranges, setup-uv will install the highest compatible version.
You can change this behavior using the resolution-strategy
input:
- name: Install the lowest compatible version of uv
uses: astral-sh/setup-uv@v7
with:
version: ">=0.4.0"
resolution-strategy: "lowest"
The supported resolution strategies are:
highest
(default): Install the latest version that satisfies the constraintslowest
: Install the oldest version that satisfies the constraints
This can be useful for testing compatibility with older versions of uv, similar to uv's own --resolution-strategy
option.
Install a version defined in a requirements or config file
You can use the version-file
input to specify a file that contains the version of uv to install.
This can either be a pyproject.toml
or uv.toml
file which defines a required-version
or
uv defined as a dependency in pyproject.toml
or requirements.txt
.
asdf .tool-versions
is also supported, but without the ref
syntax.
- name: Install uv based on the version defined in pyproject.toml
uses: astral-sh/setup-uv@v7
with:
version-file: "pyproject.toml"