Commit graph

7 commits

Author SHA1 Message Date
somaz
3faa3174e6
feat: support uv.lock as a version-file source (#918)
Adds `uv.lock` as a supported `version-file` source. When `uv` is locked
as a
dependency in `uv.lock`, the action now installs the exact pinned
version,
closing the gap reported in #682.

This is useful for deterministic CI: the same uv version is used until
the
lockfile is updated, which avoids "CI worked yesterday, fails today"
drift and
reduces supply-chain exposure from auto-installing the latest release.

The implementation mirrors the existing `version-file` parsers — a new
`uv.lock`
entry in the parser registry reads the `[[package]]` whose `name = "uv"`
and
returns its locked `version`. Scoped to explicit `version-file:
uv.lock`;
workspace auto-detection is left as a possible follow-up to avoid
precedence
ambiguity with `uv.toml` / `pyproject.toml`.

Validation (local, Node 23; dist build is esbuild-deterministic):
- `npm run all` → build clean, biome clean, package clean, jest 77/77
- New tests: 3 unit (`uv-lock-file.test.ts`) + 1 integration — exact pin
resolves
  through the full pipeline (`uv.lock` → `0.8.17`)
- dist rebuilt + committed (single bundle, no spurious churn)

related: #682
2026-06-19 07:08:57 +02:00
Kevin Stillhammer
cdfb2ee6dd
Refactor version resolving (#852)
Some checks failed
test / test-setup-cache-save-cache-false (push) Has been cancelled
test / test-setup-cache-restore-cache-false (push) Has been cancelled
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Has been cancelled
test / test-cache-local (map[expected-cache-dir:D:\a\_temp\setup-uv-cache os:windows-latest]) (push) Has been cancelled
test / test-cache-local-cache-disabled (push) Has been cancelled
test / test-cache-local-cache-disabled-but-explicit-path (push) Has been cancelled
test / test-no-python-version (push) Has been cancelled
test / test-custom-manifest-file (push) Has been cancelled
test / test-absolute-path (push) Has been cancelled
test / test-relative-path (push) Has been cancelled
test / test-cache-prune-force (push) Has been cancelled
test / test-cache-dir-from-file (push) Has been cancelled
test / test-cache-python-missing-managed-install-dir (push) Has been cancelled
test / test-cache-python-installs (push) Has been cancelled
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Has been cancelled
test / test-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (push) Has been cancelled
test / test-act (push) Has been cancelled
test / validate-typings (push) Has been cancelled
test / test-restore-cache (auto, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (auto, windows-latest) (push) Has been cancelled
test / test-restore-cache (false, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (false, windows-latest) (push) Has been cancelled
test / test-restore-cache (true, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (true, windows-latest) (push) Has been cancelled
test / test-restore-cache-requirements-txt (push) Has been cancelled
test / test-restore-cache-dependency-glob (push) Has been cancelled
test / test-restore-cache-save-cache-false (push) Has been cancelled
test / test-restore-cache-restore-cache-false (push) Has been cancelled
test / test-restore-python-installs (push) Has been cancelled
test / all-tests-passed (push) Has been cancelled
2026-04-11 11:38:41 +02:00
Kevin Stillhammer
fd8f376b22
Switch to ESM for source and test, use CommonJS for dist (#806)
Some checks failed
test / test-setup-cache-save-cache-false (push) Has been cancelled
test / test-setup-cache-restore-cache-false (push) Has been cancelled
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Has been cancelled
test / test-cache-local (map[expected-cache-dir:D:\a\_temp\setup-uv-cache os:windows-latest]) (push) Has been cancelled
test / test-cache-local-cache-disabled (push) Has been cancelled
test / test-cache-local-cache-disabled-but-explicit-path (push) Has been cancelled
test / test-no-python-version (push) Has been cancelled
test / test-custom-manifest-file (push) Has been cancelled
test / test-absolute-path (push) Has been cancelled
test / test-relative-path (push) Has been cancelled
test / test-cache-prune-force (push) Has been cancelled
test / test-cache-dir-from-file (push) Has been cancelled
test / test-cache-python-missing-managed-install-dir (push) Has been cancelled
test / test-cache-python-installs (push) Has been cancelled
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Has been cancelled
test / test-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (push) Has been cancelled
test / test-act (push) Has been cancelled
test / validate-typings (push) Has been cancelled
test / test-restore-cache (auto, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (auto, windows-latest) (push) Has been cancelled
test / test-restore-cache (false, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (false, windows-latest) (push) Has been cancelled
test / test-restore-cache (true, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (true, windows-latest) (push) Has been cancelled
test / test-restore-cache-requirements-txt (push) Has been cancelled
test / test-restore-cache-dependency-glob (push) Has been cancelled
test / test-restore-cache-save-cache-false (push) Has been cancelled
test / test-restore-cache-restore-cache-false (push) Has been cancelled
test / test-restore-python-installs (push) Has been cancelled
test / all-tests-passed (push) Has been cancelled
2026-03-14 17:43:49 +01:00
Kevin Stillhammer
adeb28643f
Add support for .tools-versions (#531)
Closes: #504
2025-08-21 11:15:28 +02:00
Kevin Stillhammer
4109b4033f
Bump biome to v2 (#515) 2025-08-12 20:12:10 +00:00
axm2
43f37368c9
Ignore backslashes and whitespace in requirements (#501)
setup-uv gets confused when there are backslashes in `requirements.txt`.
This changes the regex to ignore backslashes.

---------

Co-authored-by: axm2 <>
2025-07-26 13:19:52 +00:00
Kevin Stillhammer
7edac99f96
Ignore deps starting with uv when finding uv version (#492)
Fixes: #489
2025-07-18 06:10:43 +00:00