Skip to content

Releases: astral-sh/setup-uv

v6.4.3 🌈 fix relative paths starting with dots

23 Jul 17:44
e92bafb
Compare
Choose a tag to compare

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

23 Jul 13:33
2c7142f
Compare
Choose a tag to compare

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

  • interpret relative inputs as under working-directory @eifinger (#498)

🧰 Maintenance

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

18 Jul 06:11
7edac99
Compare
Choose a tag to compare

Changes

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

🐛 Bug fixes

  • Ignore deps starting with uv when finding uv version @eifinger (#492)

v6.4.0 🌈 Add input `version-file`

17 Jul 19:49
05273c1
Compare
Choose a tag to compare

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

  • Add FAQ on changed cache and cache upload behavior @eifinger (#477)

⬆️ Dependency updates

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

25 Jun 07:33
bd01e18
Compare
Choose a tag to compare

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

19 Jun 19:24
445689e
Compare
Choose a tag to compare

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"

18 Jun 21:10
a02a550
Compare
Choose a tag to compare

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

  • Look for version-manifest.json relative to action path @eifinger (#456)

v6.2.0 🌈 New input manifest-file

18 Jun 20:37
60cc2b4
Compare
Choose a tag to compare

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

  • Add input manifest-file @eifinger (#454)
  • Add warning about shadowed uv binaries to activate-environment @zanieb (#439)

🧰 Maintenance

v6.1.0 🌈

23 May 07:58
f0ec1fc
Compare
Choose a tag to compare

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

29 Apr 20:51
6b9c606
Compare
Choose a tag to compare

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