Skip to content

chore(deps): update astral-sh/setup-uv action to v7#13

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/astral-sh-setup-uv-7.x
Open

chore(deps): update astral-sh/setup-uv action to v7#13
renovate[bot] wants to merge 1 commit intomainfrom
renovate/astral-sh-setup-uv-7.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 8, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change
astral-sh/setup-uv action major v5.4.2v7.3.1

Release Notes

astral-sh/setup-uv (astral-sh/setup-uv)

v7.3.1: 🌈 fall back to VERSION_CODENAME when VERSION_ID is not available

Compare Source

Changes

This release adds support for running in containers like debian:testing or debian:unstable

🐛 Bug fixes
🧰 Maintenance
⬆️ Dependency updates

v7.3.0: 🌈 New features and bug fixes for activate-environment

Compare Source

Changes

This release contains a few bug fixes and a new feature for the activate-environment functionality.

🐛 Bug fixes

🚀 Enhancements

🧰 Maintenance

📚 Documentation

⬆️ Dependency updates

v7.2.1: 🌈 update known checksums up to 0.9.28

Compare Source

Changes
🧰 Maintenance
📚 Documentation
⬆️ Dependency updates

v7.2.0: 🌈 add outputs python-version and python-cache-hit

Compare Source

Changes

Among some minor typo fixes and quality of life features for developers of actions the main feature of this release are new outputs:

  • python-version: The Python version that was set (same content as existing UV_PYTHON)
  • python-cache-hit: A boolean value to indicate the Python cache entry was found

While implementing this it became clear, that it is easier to handle the Python binaries in a separate cache entry. The added benefit for users is that the "normal" cache containing the dependencies can be used in all runs no matter if these cache the Python binaries or not.

[!NOTE]
This release will invalidate caches that contain the Python binaries. This happens a single time.

🐛 Bug fixes
  • chore: remove stray space from UV_PYTHON_INSTALL_DIR message @​akx (#​720)
🚀 Enhancements
🧰 Maintenance
⬆️ Dependency updates

v7.1.6: 🌈 add OS version to cache key to prevent binary incompatibility

Compare Source

Changes

This release will invalidate your cache existing keys!

The os version e.g. ubuntu-22.04 is now part of the cache key. This prevents failing builds when a cache got populated with wheels built with different tools (e.g. glibc) than are present on the runner where the cache got restored.

🐛 Bug fixes
🧰 Maintenance
⬆️ Dependency updates

v7.1.5: 🌈 allow setting cache-local-path without enable-cache: true

Compare Source

Changes

#​612 fixed a faulty behavior where this action set UV_CACHE_DIR even though enable-cache was false. It also fixed the cases were the cache dir is already configured in a settings file like pyproject.toml or UV_CACHE_DIR was already set. Here the action shouldn't overwrite or set UV_CACHE_DIR.

These fixes introduced an unwanted behavior: You can still set cache-local-path but this action didn't do anything. This release fixes that.

You can now use cache-local-path to automatically set UV_CACHE_DIR even when enable-cache is false (or gets set to false by default e.g. on self-hosted runners)

- name: This is now possible
  uses: astral-sh/setup-uv@v7
  with:
    enable-cache: false
    cache-local-path: "/path/to/cache"
🐛 Bug fixes
🧰 Maintenance
⬆️ Dependency updates

v7.1.4: 🌈 Fix libuv closing bug on Windows

Compare Source

Changes

This release fixes the bug Assertion failed: !(handle->flags & UV_HANDLE_CLOSING) on Windows runners

🐛 Bug fixes
🧰 Maintenance

v7.1.3: 🌈 Support act

Compare Source

Changes

This bug fix release adds support for https://github.com/nektos/act
It was previously broken because of a too new undici version and TS transpilation target.

Compatibility with act is now automatically tested.

🐛 Bug fixes
🧰 Maintenance
📚 Documentation

v7.1.2: 🌈 Speed up extraction on Windows

Compare Source

Changes

@​lazka fixed a bug that caused extracting uv to take up to 30s. Thank you!

🐛 Bug fixes

🧰 Maintenance

⬆️ Dependency updates

v7.1.1: 🌈 Fix empty workdir detection and lowest resolution strategy

Compare Source

Changes

This release fixes a bug where the working-directory input was not used to detect an empty work dir. It also fixes the lowest resolution strategy resolving to latest when only a lower bound was specified.

Special thanks to @​tpgillam for the first contribution!

🐛 Bug fixes
🧰 Maintenance
📚 Documentation
⬆️ Dependency updates

v7.1.0: 🌈 Support all the use cases

Compare Source

Changes

Support all the use cases!!!
... well, that we know of.

This release adds support for some use cases that most users don't encounter but are useful for e.g. people running Gitea.

The input resolution-strategy lets you use the lowest possible version of uv from a version range. Useful if you want to test your tool with different versions of uv.

If you use activate-environment the path to the activated venv is now also exposed under the output venv.

Downloaded python installations can now also be uploaded to the GitHub Actions cache backend. Useful if you are running in act and have configured your own backend and don't want to download python again, and again over a slow internet connection.

Finally the path to installed python interpreters is now added to the PATH on Windows.

🚀 Enhancements

🧰 Maintenance

📚 Documentation

⬆️ Dependency updates

v7.0.0: 🌈 node24 and a lot of bugfixes

Compare Source

Changes

This release comes with a load of bug fixes and a speed up. Because of switching from node20 to node24 it is also a breaking change. If you are running on GitHub hosted runners this will just work, if you are using self-hosted runners make sure, that your runners are up to date. If you followed the normal installation instructions your self-hosted runner will keep itself updated.

This release also removes the deprecated input server-url which was used to download uv releases from a different server.
The manifest-file input supersedes that functionality by adding a flexible way to define available versions and where they should be downloaded from.

Fixes
  • The action now respects when the environment variable UV_CACHE_DIR is already set and does not overwrite it. It now also finds cache-dir settings in config files if you set them.
  • Some users encountered problems that cache pruning took forever because they had some uv processes running in the background. Starting with uv version 0.8.24 this action uses uv cache prune --ci --force to ignore the running processes
  • If you just want to install uv but not have it available in path, this action now respects UV_NO_MODIFY_PATH
  • Some other actions also set the env var UV_CACHE_DIR. This action can now deal with that but as this could lead to unwanted behavior in some edgecases a warning is now displayed.
Improvements

If you are using minimum version specifiers for the version of uv to install for example

[tool.uv]
required-version = ">=0.8.17"

This action now detects that and directly uses the latest version. Previously it would download all available releases from the uv repo
to determine the highest matching candidate for the version specifier, which took much more time.

If you are using other specifiers like 0.8.x this action still needs to download all available releases because the specifier defines an upper bound (not 0.9.0 or later) and "latest" would possibly not satisfy that.

🚨 Breaking changes

🐛 Bug fixes

🚀 Enhancements

🧰 Maintenance

⬆️ Dependency updates

v6.8.0: 🌈 Add **/*.py.lock to cache-dependency-glob

Compare Source

Changes

Thanks to @​parched the default cache-dependency-glob now also find all lock files generated by uv lock --script

🚀 Enhancements

🧰 Maintenance

📚 Documentation

⬆️ Dependency updates

v6.7.0: 🌈 New inputs restore-cache and save-cache

Compare Source

Changes

This release adds fine-grained control over the caching steps.

  • The input restore-cache (true by default) can be set to false to skip restoring the cache while still allowing to save the cache.
  • The input save-cache (true by default) can be set to false to skip saving the cache.

Skipping cache saving can be useful if you know, that you will never use this version of the cache again and don't want to waste storage space:

- name: Save cache only on main branch
  uses: astral-sh/setup-uv@v6
  with:
    enable-cache: true
    save-cache: ${{ github.ref == 'refs/heads/main' }}

🚀 Enhancements

🧰 Maintenance

⬆️ Dependency updates

v6.6.1: 🌈 Fix exclusions in cache-dependency-glob

Compare Source

Changes

Exclusions with a leading ! in the cache-dependency-glob did not work and got fixed with this release. Thank you @​KnisterPeter for raising this!

🐛 Bug fixes

🧰 Maintenance

v6.6.0: 🌈 Support for .tools-versions

Compare Source

Changes

This release adds support for asdf .tool-versions in the version-file input

🐛 Bug fixes

🚀 Enhancements

🧰 Maintenance

v6.5.0: 🌈 Better error messages, bug fixes and copilot agent settings

Compare Source

Changes

This release brings better error messages in case the GitHub API is impacted, fixes a few bugs and allows to disable problem matchers for better use in Copilot Agent workspaces.

🐛 Bug fixes

🚀 Enhancements

🧰 Maintenance

📚 Documentation

⬆️ Dependency updates

v6.4.3: 🌈 fix relative paths starting with dots

Compare Source

🐛 Bug fixes

v6.4.2: 🌈 Interpret relative inputs as under working-directory

Compare Source

Changes

This release will interpret relative paths in inputs as relative
to the value of working-directory (default is ${{ github.workspace }}) .
This means the following configuration

- uses: astral-sh/setup-uv@v6
   with:
     working-directory: /my/path
     cache-dependency-glob: uv.lock

will look for the cache-dependency-glob under /my/path/uv.lock

🐛 Bug fixes

🧰 Maintenance

v6.4.1: 🌈 Hotfix: Ignore deps starting with uv when finding uv version

Compare Source

Changes

Thank you @​phpmypython for raising a PR to fix this issue!

🐛 Bug fixes

v6.4.0: 🌈 Add input version-file

Compare Source

Changes

You can now 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.

- name: Install uv based on the version defined in requirements.txt
  uses: astral-sh/setup-uv@v6
  with:
    version-file: "requirements.txt"

🚀 Enhancements

🧰 Maintenance

📚 Documentation

⬆️ Dependency updates

v6.3.1: 🌈 Do not warn when version not in manifest-file

Compare Source

Changes

This is a hotfix to change the warning messages that a version could not be found in the local manifest-file to info level.

A setup-uv release contains a version-manifest.json file with infos in all available uv releases. When a new uv version is released this is not contained in this file until the file gets updated and a new setup-uv release is made.
We will overhaul this process in the future but for now the spamming of warnings is removed.

🐛 Bug fixes

🧰 Maintenance

v6.3.0: 🌈 Use latest version from manifest-file

Compare Source

Changes

If a manifest-file is supplied the default value of the version input (latest) will get the latest version available in the manifest. That might not be the actual latest version available in the official uv repo.

🚀 Enhancements

v6.2.1: 🌈 Fix "No such file or directory version-manifest.json"

Compare Source

Changes

Release v6.2.0 contained a bug that slipped through the automated test. The action tried to look for the default version-manifest.json in the root of the repostory using this action instead of relative to the action itself.

🐛 Bug fixes

v6.2.0: 🌈 New input manifest-file

Compare Source

Changes

This release adds a new input manifest-file.

The manifest-file input allows you to specify a JSON manifest that lists available uv versions,
architectures, and their download URLs. By default, this action uses the manifest file contained
in this repository, which is automatically updated with each release of uv.

The manifest file contains an array of objects, each describing a version,
architecture, platform, and the corresponding download URL.

You can supply a custom manifest file URL to define additional versions,
architectures, or different download URLs.
This is useful if you maintain your own uv builds or want to override the default sources.

For example:

[
  {
    "version": "0.7.12-alpha.1",
    "artifactName": "uv-x86_64-unknown-linux-gnu.tar.gz",
    "arch": "x86_64",
    "platform": "unknown-linux-gnu",
    "downloadUrl": "https://release.pyx.dev/0.7.12-alpha.1/uv-x86_64-unknown-linux-gnu.tar.gz"
  },
  ...
]
- name: Use a custom manifest file
  uses: astral-sh/setup-uv@v6
  with:
    manifest-file: "https://example.com/my-custom-manifest.json"

[!WARNING]
If you have previously used server-url to use your self hosted uv binaries use this new way instead.
server-url is deprecated and will be removed in a future release

🚀 Enhancements

🧰 Maintenance

v6.1.0: 🌈

Compare Source

Changes

This release adds the input server-url which defaults to https://github.com. You can set this to a custom url to control where this action downloads the uv release from. This is useful for users of gitea and comparable solutions.

@​sebadevo pointed out that we don't invalidate the cache when the prune-cache input is changed. This leads to unnessecarily big caches. The input is now used to compute the cache key, properly invalidating the cache when it is changed.

[!NOTE]
For most users this release will invalidate the cache once.
You will see the known warning no-github-actions-cache-found-for-key
This is expected and will only appear once.

🐛 Bug fixes
🚀 Enhancements
🧰 Maintenance
📚 Documentation
  • Add section to README explaining if packages are installed by setup-uv @​pirate (#​398)
⬆️ Dependency updates

v6.0.1: 🌈 Fix default cache dependency glob

Compare Source

Changes

The new default in v6 used illegal patterns and therefore didn't match requirements files. This is now fixed.

🐛 Bug fixes

🧰 Maintenance

⬆️ Dependency updates

v6.0.0: 🌈 activate-environment and working-directory

Compare Source

Changes

This version contains some breaking changes which have been gathering up for a while. Lets dive into them:

Activate environment

In previous versions using the input python-version automatically activated a venv at the repository root.
This led to some unwanted side-effects, was sometimes unexpected and not flexible enough.

The venv activation is now explicitly controlled with the new input activate-environment (false by default):

- name: Install the latest version of uv and activate the environment
  uses: astral-sh/setup-uv@v6
  with:
    activate-environment: true
- run: uv pip install pip

The venv gets created by the uv venv command so the python version is controlled by the python-version input or the files pyproject.toml, uv.toml, .python-version in the working-directory.

Working Directory

The new input working-directory controls where we look for pyproject.toml, uv.toml and .python-version files
which are used to determine the version of uv and python to install.

It can also be used to control where the venv gets created.

- name: Install uv based on the config files in the working-directory
  uses: astral-sh/setup-uv@v6
  with:
    working-directory: my/subproject/dir

[!CAUTION]

The inputs pyproject-file and uv-file have been removed.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch from 3e90374 to b46e62b Compare October 12, 2025 21:38
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch 2 times, most recently from 5d96af4 to 5ead3c7 Compare October 26, 2025 18:06
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch from 5ead3c7 to a8b638e Compare November 11, 2025 03:35
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch from a8b638e to 2de6785 Compare November 21, 2025 11:07
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch 2 times, most recently from 954c7cd to bf5057e Compare December 13, 2025 16:46
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch from bf5057e to 88acaa8 Compare January 6, 2026 18:27
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch from 88acaa8 to d675df3 Compare January 30, 2026 09:10
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch from d675df3 to 9c04bcf Compare February 6, 2026 17:38
@renovate renovate bot force-pushed the renovate/astral-sh-setup-uv-7.x branch from 9c04bcf to ef92bbb Compare February 27, 2026 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants