Compare commits

...
20 Commits
Author SHA1 Message Date
20cfd1bf94 chore: update known checksums for 0.12.4 (#1017)
test / test-default-version (ubuntu-latest) (push) Failing after 1m6s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 1m11s
CodeQL / Analyze (TypeScript) (push) Failing after 2m0s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 1m0s
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 58s
test / test-malformed-pyproject-file-fallback (push) Failing after 50s
test / test-tool-versions-python-version (push) Failing after 51s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 52s
test / test-uvx (push) Failing after 51s
test / test-with-explicit-token (push) Failing after 53s
test / test-python-version (ubuntu-latest) (push) Failing after 53s
test / test-activate-environment (ubuntu-latest) (push) Failing after 54s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 53s
test / test-tool-install (ubuntu-latest) (push) Failing after 53s
test / test-musl (push) Failing after 16s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 1m2s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 1m3s
test / test-uv-no-modify-path (push) Failing after 1m18s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 1m18s
test / test-latest-version (>=0.8) (push) Failing after 1m19s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 1m20s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 54s
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 54s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 50s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 1m14s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 1m15s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 1m15s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 1m16s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 1m17s
test / test-latest-version (latest) (push) Failing after 1m21s
test / test-restore-cache-requirements-txt (push) Skipped
test / test-setup-cache-dependency-glob (push) Failing after 56s
test / test-setup-cache-save-cache-false (push) Failing after 57s
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 59s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 56s
test / test-custom-manifest-file (push) Failing after 58s
test / test-download-from-astral-mirror-false (push) Failing after 59s
test / test-relative-path (push) Failing after 55s
test / test-cache-python-installs (push) Failing after 43s
test / test-restore-python-installs (push) Skipped
test / test-activate-environment-no-project (push) Failing after 55s
test / test-debian-unstable (push) Failing after 33s
test / lint (push) Failing after 2m38s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 53s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 56s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 56s
test / test-restore-cache-dependency-glob (push) Skipped
test / test-setup-cache-restore-cache-false (push) Failing after 54s
test / test-restore-cache-restore-cache-false (push) Skipped
test / test-cache-local-cache-disabled (push) Failing after 54s
test / test-restore-cache-save-cache-false (push) Skipped
test / test-no-python-version (push) Failing after 1m1s
test / test-absolute-path (push) Failing after 54s
test / test-setup-cache-requirements-txt (push) Failing after 56s
test / test-cache-prune-force (push) Failing after 43s
test / test-workflow-run (push) Failing after 38s
test / test-cache-python-missing-managed-install-dir (push) Failing after 41s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 41s
test / test-cache-dir-from-file (push) Failing after 47s
test / test-act (push) Failing after 41s
test / validate-typings (push) Successful in 39s
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-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-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-14, macos-14) (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-2022, windows-2022) (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-setup-cache (true, 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 (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-restore-cache (true, windows-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
chore: update known checksums for 0.12.4

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-08-14 07:39:05 +02:00
d73a0cab66 Tolerate transient manifest timeouts (#1016)
test / test-latest-version (latest) (push) Failing after 56s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 59s
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 24s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 32s
test / test-with-explicit-token (push) Failing after 32s
test / test-uvx (push) Failing after 32s
test / test-tool-install (ubuntu-latest) (push) Failing after 33s
test / test-debian-unstable (push) Failing after 27s
test / test-activate-environment-no-project (push) Failing after 36s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 32s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 39s
test / test-setup-cache-dependency-glob (push) Failing after 26s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 39s
test / test-uv-no-modify-path (push) Failing after 43s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 39s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 55s
test / test-python-version (ubuntu-latest) (push) Failing after 34s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 33s
test / test-setup-cache-save-cache-false (push) Failing after 30s
test / test-setup-cache-restore-cache-false (push) Failing after 31s
test / test-restore-cache-restore-cache-false (push) Skipped
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 32s
test / test-no-python-version (push) Failing after 39s
test / test-cache-prune-force (push) Failing after 34s
test / test-absolute-path (push) Failing after 37s
test / test-cache-python-missing-managed-install-dir (push) Failing after 31s
test / test-cache-dir-from-file (push) Failing after 37s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 29s
test / test-latest-version (>=0.8) (push) Failing after 44s
test / test-default-version (ubuntu-latest) (push) Failing after 51s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 53s
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.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 54s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 54s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 58s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 27s
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 28s
test / test-tool-versions-python-version (push) Failing after 24s
test / test-malformed-pyproject-file-fallback (push) Failing after 26s
test / test-activate-environment (ubuntu-latest) (push) Failing after 32s
test / test-restore-cache-dependency-glob (push) Skipped
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 57s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 30s
test / test-musl (push) Failing after 27s
test / lint (push) Failing after 1m45s
test / test-setup-cache-requirements-txt (push) Failing after 25s
test / test-restore-cache-save-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 32s
test / test-download-from-astral-mirror-false (push) Failing after 33s
test / test-act (push) Failing after 27s
test / test-restore-python-installs (push) Skipped
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 26s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 24s
test / test-restore-cache-requirements-txt (push) Skipped
CodeQL / Analyze (TypeScript) (push) Failing after 2m9s
test / test-custom-manifest-file (push) Failing after 35s
test / test-workflow-run (push) Failing after 25s
test / test-relative-path (push) Failing after 41s
test / test-cache-python-installs (push) Failing after 34s
test / validate-typings (push) Successful in 39s
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-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-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-14, macos-14) (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-2022, windows-2022) (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 (true, windows-latest) (push) Canceled after 0s
test / test-setup-cache (true, 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 (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
Transient timeout fetching manifests have increased significantly
recently, especially with private runners.

```
Fetching manifest data from https://raw.githubusercontent.com/astral-sh/versions/main/v1/uv.ndjson ...
Error: The operation was aborted due to timeout
```

Retry transient manifest network failures up to three times with a
progressive backoff (not exponential), keeping the total wait bounded
while making setup resilient to short network blips.

Co-authored-by: Raymond <arguile-@users.noreply.github.com>
2026-08-13 18:34:10 +02:00
ae3b92d1bd docs: update version references to v10.0.0 (#1014)
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
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
Kevin StillhammerandGitHub ae62891fec chore(deps): roll up Dependabot updates (#1013)
test / test-activate-environment (ubuntu-latest) (push) Failing after 1m1s
test / test-musl (push) Failing after 29s
test / test-malformed-pyproject-file-fallback (push) Failing after 1m9s
test / test-debian-unstable (push) Failing after 34s
test / test-setup-cache-requirements-txt (push) Failing after 1m5s
test / test-restore-cache-save-cache-false (push) Skipped
test / test-setup-cache-restore-cache-false (push) Failing after 1m4s
test / test-cache-local-cache-disabled (push) Failing after 1m5s
test / test-download-from-astral-mirror-false (push) Failing after 1m5s
test / test-absolute-path (push) Failing after 1m8s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 37s
test / test-restore-python-installs (push) Skipped
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 2m13s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 2m16s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 2m20s
test / test-uv-no-modify-path (push) Failing after 2m20s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 2m20s
test / test-default-version (ubuntu-latest) (push) Failing after 2m22s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 2m23s
test / test-latest-version (latest) (push) Failing after 2m23s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 2m26s
CodeQL / Analyze (TypeScript) (push) Failing after 2m59s
test / test-python-version (ubuntu-latest) (push) Failing after 1m5s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 1m11s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 1m0s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 1m1s
test / test-restore-cache-dependency-glob (push) Skipped
test / test-restore-cache-requirements-txt (push) Skipped
test / test-setup-cache-save-cache-false (push) Failing after 1m4s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 2m23s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 2m27s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 2m28s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 2m30s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 49s
test / test-latest-version (>=0.8) (push) Failing after 2m24s
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 1m6s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 1m10s
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 1m6s
test / test-tool-install (ubuntu-latest) (push) Failing after 1m2s
test / test-uvx (push) Failing after 1m4s
test / test-with-explicit-token (push) Failing after 1m6s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 1m3s
test / test-tool-versions-python-version (push) Failing after 1m15s
test / lint (push) Failing after 3m37s
test / test-activate-environment-no-project (push) Failing after 1m11s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 33s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 1m4s
test / test-setup-cache-dependency-glob (push) Failing after 1m3s
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 1m5s
test / test-cache-prune-force (push) Failing after 45s
test / test-relative-path (push) Failing after 1m7s
test / test-act (push) Failing after 37s
test / validate-typings (push) Successful in 36s
test / test-cache-python-installs (push) Failing after 41s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 1m6s
test / test-custom-manifest-file (push) Failing after 1m6s
test / test-no-python-version (push) Failing after 1m10s
test / test-cache-dir-from-file (push) Failing after 32s
test / test-cache-python-missing-managed-install-dir (push) Failing after 33s
test / test-workflow-run (push) Failing after 34s
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-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-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-14, macos-14) (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-2022, windows-2022) (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-setup-cache (true, 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-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
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-restore-cache (true, windows-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
Release Drafter / ✏️ Draft release (push) Canceled after 0s
## Summary

Roll up the remaining dependency changes from:

- #1008 (`@actions/glob` 0.7.0)
- #1009 (`@types/node` 26.1.2)
- #1010 (`js-yaml` 5.2.3)
- #1011 (`@biomejs/biome` 2.5.7)
- #1012 (`@types/semver` 7.8.0)

The Biome schema URL and committed action bundles are updated
accordingly.

## Validation

- `npm run all`

Refs: pi-session 019ff5b2-b439-7431-9595-b965f7fe6119
2026-08-12 13:23:43 +02:00
Kevin StillhammerandGitHub f9cdb47d48 Reject paths in .tool-versions (#1007)
## Summary
- reject path-like uv versions from `.tool-versions`
- reject path-like Python versions from `.tool-versions`
- document the restriction and cover Unix and Windows paths in tests

## Testing
- `npm ci --ignore-scripts`
- `npm run all`

Refs: pi-session 019ff4bb-8b7c-7c4b-8bdf-7c188dfa2e3f
2026-08-12 13:18:20 +02:00
Kevin StillhammerandGitHub 4f6036f71c Require pull requests for Dependabot rollups (#1005)
test / test-with-explicit-token (push) Failing after 34s
test / test-setup-cache-requirements-txt (push) Failing after 26s
test / test-setup-cache-dependency-glob (push) Failing after 26s
test / test-restore-cache-requirements-txt (push) Skipped
test / test-restore-cache-dependency-glob (push) Skipped
test / test-setup-cache-restore-cache-false (push) Failing after 27s
test / test-restore-cache-restore-cache-false (push) Skipped
test / lint (push) Failing after 6m9s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 44s
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 26s
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 22s
test / test-malformed-pyproject-file-fallback (push) Failing after 27s
test / test-python-version (ubuntu-latest) (push) Failing after 34s
test / test-cache-local-cache-disabled (push) Failing after 28s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 29s
test / test-custom-manifest-file (push) Failing after 30s
test / test-download-from-astral-mirror-false (push) Failing after 28s
test / test-no-python-version (push) Failing after 34s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 44s
test / test-latest-version (latest) (push) Failing after 45s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 50s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 55s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 57s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 58s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 58s
test / test-uv-no-modify-path (push) Failing after 59s
test / test-default-version (ubuntu-latest) (push) Failing after 1m0s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 1m0s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 1m3s
test / test-tool-versions-python-version (push) Failing after 20s
test / test-uvx (push) Failing after 33s
test / test-tool-install (ubuntu-latest) (push) Failing after 35s
test / test-musl (push) Failing after 31s
test / test-setup-cache-save-cache-false (push) Failing after 27s
test / test-restore-cache-save-cache-false (push) Skipped
test / test-cache-prune-force (push) Failing after 26s
test / test-cache-python-missing-managed-install-dir (push) Failing after 28s
test / test-cache-dir-from-file (push) Failing after 32s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 29s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 33s
test / test-activate-environment (ubuntu-latest) (push) Failing after 36s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 38s
test / test-debian-unstable (push) Failing after 33s
test / test-activate-environment-no-project (push) Failing after 42s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 33s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 37s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 25s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 43s
test / test-absolute-path (push) Failing after 33s
test / test-act (push) Failing after 26s
test / test-relative-path (push) Failing after 39s
test / test-workflow-run (push) Failing after 27s
test / test-cache-python-installs (push) Failing after 34s
test / test-restore-python-installs (push) Skipped
test / validate-typings (push) Successful in 34s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 1m2s
test / test-latest-version (>=0.8) (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.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 24s
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 28s
CodeQL / Analyze (TypeScript) (push) Failing after 14m51s
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-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-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-14, macos-14) (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-2022, windows-2022) (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-setup-cache (true, 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 (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-restore-cache (true, windows-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
## Summary

- require the Dependabot rollup skill to commit and push validated
changes
- always create a pull request with the `dependencies` label
- report the created PR and label confirmation

## Testing

- `git diff --check`

Refs: pi-session 019ff0f1-1aee-7691-8a2c-7c708812f7b0
2026-08-11 15:18:43 +02:00
Kevin StillhammerandGitHub 8d6402c9b7 chore(deps): roll up Dependabot updates (#1004)
## Summary

Roll up the remaining dependency changes from Dependabot PRs #997, #998,
#999, #1000, #1001, #1002, and #1003:

- update `github/codeql-action` to 4.37.6
- update `zizmorcore/zizmor-action` to 0.6.2
- update `undici` to 8.10.0
- update `smol-toml` to 1.7.1
- update `@biomejs/biome` and its schema to 2.5.6
- regenerate the published bundles

PRs #905 and #907 were excluded because their requested Jest and pep440
versions are already present on `main`.

## Validation

- `npm run all`
- `actionlint .github/workflows/codeql-analysis.yml
.github/workflows/test.yml`
- `uvx zizmor .github/workflows/codeql-analysis.yml
.github/workflows/test.yml`
- `git diff --check`

Refs: pi-session 019ff0c9-8e00-72d3-99ad-d4383a4c57d4
2026-08-11 15:08:35 +02:00
Kevin StillhammerandGitHub 46f427bd47 Read Python version from .tool-versions (#996)
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 5m27s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 5m28s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 5m28s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 5m29s
test / test-uv-no-modify-path (push) Failing after 5m29s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 5m30s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 5m33s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 5m35s
test / test-latest-version (>=0.8) (push) Failing after 5m38s
test / test-default-version (ubuntu-latest) (push) Failing after 5m43s
test / test-latest-version (latest) (push) Failing after 5m42s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 5m44s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 5m45s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 5m45s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 9m29s
test / test-activate-environment-no-project (push) Failing after 9m12s
test / test-activate-environment (ubuntu-latest) (push) Failing after 9m14s
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 9m31s
test / test-python-version (ubuntu-latest) (push) Failing after 9m15s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 9m15s
test / test-tool-install (ubuntu-latest) (push) Failing after 9m21s
test / test-malformed-pyproject-file-fallback (push) Failing after 9m34s
test / test-with-explicit-token (push) Failing after 9m35s
test / test-tool-versions-python-version (push) Failing after 9m44s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 9m45s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 9m40s
test / test-setup-cache-dependency-glob (push) Failing after 52s
test / test-cache-local-cache-disabled (push) Failing after 43s
test / test-restore-cache-dependency-glob (push) Skipped
test / test-relative-path (push) Failing after 48s
test / test-cache-python-missing-managed-install-dir (push) Failing after 39s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 38s
test / test-workflow-run (push) Failing after 36s
test / test-cache-dir-from-file (push) Failing after 45s
test / test-uvx (push) Failing after 9m35s
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 9m47s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 29s
test / test-musl (push) Failing after 47s
test / test-debian-unstable (push) Failing after 54s
test / test-setup-cache-requirements-txt (push) Failing after 52s
test / test-restore-cache-requirements-txt (push) Skipped
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 46s
test / test-setup-cache-restore-cache-false (push) Failing after 47s
test / test-restore-cache-restore-cache-false (push) Skipped
test / test-setup-cache-save-cache-false (push) Failing after 51s
test / test-restore-cache-save-cache-false (push) Skipped
test / test-custom-manifest-file (push) Failing after 38s
test / test-cache-prune-force (push) Failing after 41s
test / test-act (push) Failing after 37s
test / test-restore-python-installs (push) Skipped
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 39s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 47s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 52s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 49s
test / test-no-python-version (push) Failing after 54s
test / test-download-from-astral-mirror-false (push) Failing after 39s
test / test-absolute-path (push) Failing after 38s
test / validate-typings (push) Successful in 38s
test / test-cache-python-installs (push) Failing after 43s
CodeQL / Analyze (TypeScript) (push) Failing after 1h6m30s
test / lint (push) Failing after 2h14m39s
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-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-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-14, macos-14) (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-2022, windows-2022) (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-setup-cache (true, 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 (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-restore-cache (true, windows-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
## Summary
- read the Python version from an explicitly selected `.tool-versions`
file
- preserve `python-version` and existing `UV_PYTHON` precedence
- add parser, input, and workflow coverage and update documentation and
bundled action artifacts

## Validation
- `npm run all`
- `actionlint .github/workflows/test.yml`
- `uvx zizmor .github/workflows/test.yml`

Closes #983

Refs: pi-session 019ff01a-544c-79f3-8f73-a00132af39f5
2026-08-11 14:26:03 +02:00
Kevin StillhammerandGitHub 8ed89c5114 ci: pin Alpine container image (#995)
## Summary

- pin the Alpine test container to the current multi-platform digest for
Alpine 3.24.1
- resolve zizmor's `unpinned-images` finding

## Validation

- `actionlint .github/workflows/test.yml`
- `uvx zizmor .github/workflows/test.yml`
- `docker buildx imagetools inspect
alpine@sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b`

Refs: pi-session 019ff01a-544c-79f3-8f73-a00132af39f5
2026-08-11 11:47:08 +02:00
Kevin StillhammerandGitHub 8473c7fea4 chore(deps): roll up Dependabot updates (#994)
## Summary

Roll up the remaining net changes from the open Dependabot updates:

- release-drafter/release-drafter 7.7.0 (#990)
- github/codeql-action 4.37.4 (#987, #988, #989)
- zizmorcore/zizmor-action 0.6.1 (#986)
- @actions/cache 6.2.0 (#975)
- @biomejs/biome 2.5.4 (#974)
- undici 8.7.0 (#973)

The Jest 30.4.2 (#905) and @renovatebot/pep440 5.0.0 (#907) updates are
already present on main and require no additional changes.

This also updates the Biome schema, applies the formatter changes from
Biome 2.5.4, and regenerates the published bundles.

## Testing

- `npm run all`
- `actionlint`
- `git diff --check`

Refs: pi-session 019ff01b-f917-73c1-950e-2966956f263c
2026-08-11 11:27:16 +02:00
Kevin StillhammerandGitHub 18d451d679 Add latest-known version selector (#993)
## Summary

- add `latest-known` as an explicit version selector
- resolve it locally to the newest version in the bundled checksum table
- preserve existing default and `latest` behavior
- document custom-manifest checksum semantics and update published
bundles

## Testing

- `npm ci --ignore-scripts`
- `npm run all` (99 tests passed)

Closes #919

Refs: pi-session 019fed0e-6019-7504-911b-bd9955cbbd49
2026-08-11 11:15:59 +02:00
Kevin StillhammerandGitHub f45168497b Disable automatic caching for sensitive events (#992)
test / test-act (push) Failing after 29s
test / test-uv-no-modify-path (push) Failing after 42s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 42s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 44s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 47s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 50s
test / test-latest-version (latest) (push) Failing after 55s
test / test-default-version (ubuntu-latest) (push) Failing after 57s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 1m0s
test / test-latest-version (>=0.8) (push) Failing after 1m0s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 1m2s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 23s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 28s
test / test-activate-environment (ubuntu-latest) (push) Failing after 31s
test / test-debian-unstable (push) Failing after 35s
test / test-activate-environment-no-project (push) Failing after 37s
test / test-restore-cache-dependency-glob (push) Skipped
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 56s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 56s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 57s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 59s
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 24s
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 25s
test / test-malformed-pyproject-file-fallback (push) Failing after 23s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 27s
test / test-with-explicit-token (push) Failing after 30s
test / test-python-version (ubuntu-latest) (push) Failing after 30s
test / test-uvx (push) Failing after 32s
test / test-tool-install (ubuntu-latest) (push) Failing after 34s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 32s
test / test-musl (push) Failing after 33s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 30s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 27s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 30s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 39s
test / test-cache-prune-force (push) Failing after 31s
CodeQL / Analyze (TypeScript) (push) Failing after 2m20s
test / test-setup-cache-requirements-txt (push) Failing after 31s
test / lint (push) Failing after 1m55s
test / test-restore-cache-requirements-txt (push) Skipped
test / test-setup-cache-dependency-glob (push) Failing after 29s
test / test-setup-cache-save-cache-false (push) Failing after 29s
test / test-restore-cache-save-cache-false (push) Skipped
test / test-setup-cache-restore-cache-false (push) Failing after 31s
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 32s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 32s
test / test-custom-manifest-file (push) Failing after 31s
test / test-download-from-astral-mirror-false (push) Failing after 31s
test / test-no-python-version (push) Failing after 35s
test / test-cache-dir-from-file (push) Failing after 34s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 29s
test / test-absolute-path (push) Failing after 36s
test / test-relative-path (push) Failing after 41s
test / test-cache-python-missing-managed-install-dir (push) Failing after 28s
test / test-workflow-run (push) Failing after 27s
test / test-cache-python-installs (push) Failing after 34s
test / test-restore-python-installs (push) Skipped
test / validate-typings (push) Successful in 37s
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-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-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-14, macos-14) (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-2022, windows-2022) (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-setup-cache (true, 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 (false, ubuntu-latest) (push) Canceled after 0s
test / test-restore-cache (false, windows-latest) (push) Canceled after 0s
test / test-restore-cache (true, 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 / 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 / all-tests-passed (push) Canceled after 0s
Release Drafter / ✏️ Draft release (push) Canceled after 0s
## Summary

- disable `enable-cache: auto` for `pull_request_target`,
`workflow_run`, and `release` events
- disable automatic caching for tag pushes while leaving branch pushes
unchanged
- preserve explicit `enable-cache: true` as an override
- run a `workflow_run` integration fixture with `act` in pull request CI
and verify caching is disabled
- document the behavior and update the published bundles

## Testing

- `npm run all`
- `actionlint .github/workflows/test.yml
__tests__/workflows/workflow-run.yml`
- `uvx zizmor __tests__/workflows/workflow-run.yml`

Closes #984

Refs: pi-session 019fec42-9b26-714e-a359-830ac4401ecd
2026-08-10 18:12:08 +02:00
b68407c192 chore: update known checksums for 0.12.3 (#991)
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 12s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 41s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 40s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 43s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 47s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 52s
test / test-latest-version (>=0.8) (push) Failing after 51s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 51s
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 51s
test / test-malformed-pyproject-file-fallback (push) Failing after 51s
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 52s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 52s
test / test-latest-version (latest) (push) Failing after 52s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 52s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 51s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 56s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 53s
test / test-with-explicit-token (push) Failing after 33s
test / test-uvx (push) Failing after 39s
test / test-tool-install (ubuntu-latest) (push) Failing after 36s
test / test-python-version (ubuntu-latest) (push) Failing after 49s
test / test-activate-environment (ubuntu-latest) (push) Failing after 47s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 51s
test / test-activate-environment-no-project (push) Failing after 58s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 55s
test / test-musl (push) Failing after 59s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 1m8s
test / test-setup-cache-restore-cache-false (push) Failing after 52s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 55s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 57s
test / test-setup-cache-dependency-glob (push) Failing after 56s
test / test-setup-cache-requirements-txt (push) Failing after 58s
test / test-setup-cache-save-cache-false (push) Failing after 57s
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 46s
test / test-debian-unstable (push) Failing after 1m11s
test / test-cache-local-cache-disabled (push) Failing after 45s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 42s
test / test-no-python-version (push) Failing after 43s
test / test-custom-manifest-file (push) Failing after 43s
test / test-download-from-astral-mirror-false (push) Failing after 40s
test / test-cache-prune-force (push) Failing after 47s
test / test-absolute-path (push) Failing after 52s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 45s
test / test-cache-python-missing-managed-install-dir (push) Failing after 48s
test / test-act (push) Failing after 42s
test / test-cache-dir-from-file (push) Failing after 51s
test / test-relative-path (push) Failing after 56s
test / test-cache-python-installs (push) Failing after 51s
test / validate-typings (push) Successful in 1m28s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 11m13s
test / test-uv-no-modify-path (push) Failing after 11m23s
test / test-default-version (ubuntu-latest) (push) Failing after 11m36s
test / lint (push) Failing after 11m45s
CodeQL / Analyze (TypeScript) (push) Failing after 13m20s
Release Drafter / ✏️ Draft release (push) Canceled after 0s
test / test-tool-install (windows-latest) (push) Canceled after 0s
test / test-tool-install (macos-14) (push) Canceled after 0s
test / test-default-version (macos-14) (push) Canceled after 0s
test / test-python-version (macos-latest) (push) Canceled after 0s
test / test-python-version (windows-latest) (push) Canceled after 0s
test / test-activate-environment (windows-latest) (push) Canceled after 0s
test / test-activate-environment-custom-path (macos-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 (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-2022, windows-2022) (push) Canceled after 0s
test / test-cache-key-os-version (windows-2025, windows-2025) (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 / test-restore-cache (false, windows-latest) (push) Canceled after 0s
test / test-restore-cache (auto, ubuntu-latest) (push) Canceled after 0s
test / test-restore-cache (true, ubuntu-latest) (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-tool-install (macos-latest) (push) Canceled after 0s
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Canceled after 0s
test / test-activate-environment (macos-latest) (push) Canceled after 0s
test / test-setup-cache (auto, windows-latest) (push) Canceled after 0s
test / test-activate-environment-custom-path (windows-latest) (push) Canceled after 0s
test / test-setup-cache (false, windows-latest) (push) Canceled after 0s
test / test-setup-cache (true, windows-latest) (push) Canceled after 0s
test / test-restore-cache (auto, windows-latest) (push) Canceled after 0s
test / test-restore-cache (false, ubuntu-latest) (push) Canceled after 0s
test / test-restore-cache (true, windows-latest) (push) Canceled after 0s
test / all-tests-passed (push) Canceled after 0s
test / test-restore-cache-requirements-txt (push) Skipped
test / test-restore-cache-dependency-glob (push) Skipped
test / test-restore-cache-save-cache-false (push) Skipped
test / test-restore-cache-restore-cache-false (push) Skipped
test / test-restore-python-installs (push) Skipped
chore: update known checksums for 0.12.3

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-08-09 10:26:32 +02:00
696e4e1bf2 chore: update known checksums for 0.12.2 (#985)
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 27s
test / test-uv-no-modify-path (push) Failing after 28s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 27s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 35s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 36s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 36s
test / test-latest-version (>=0.8) (push) Failing after 40s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 40s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 41s
test / test-default-version (ubuntu-latest) (push) Failing after 43s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 44s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 47s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 31s
test / lint (push) Failing after 1m39s
test / test-setup-cache-dependency-glob (push) Failing after 30s
test / test-restore-cache-dependency-glob (push) Has been skipped
test / test-setup-cache-restore-cache-false (push) Failing after 35s
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 34s
test / test-no-python-version (push) Failing after 41s
test / test-download-from-astral-mirror-false (push) Failing after 38s
test / test-cache-python-installs (push) Failing after 37s
test / test-latest-version (latest) (push) Failing after 44s
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.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 28s
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 28s
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 24s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 35s
test / test-uvx (push) Failing after 33s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 34s
test / test-setup-cache-requirements-txt (push) Failing after 30s
test / test-restore-cache-requirements-txt (push) Has been skipped
test / test-setup-cache-save-cache-false (push) Failing after 32s
test / test-restore-cache-save-cache-false (push) Has been skipped
test / test-restore-cache-restore-cache-false (push) Has been skipped
test / test-cache-local-cache-disabled (push) Failing after 35s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 37s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 46s
test / test-malformed-pyproject-file-fallback (push) Failing after 26s
test / test-with-explicit-token (push) Failing after 33s
test / test-tool-install (ubuntu-latest) (push) Failing after 34s
test / test-python-version (ubuntu-latest) (push) Failing after 34s
test / test-activate-environment (ubuntu-latest) (push) Failing after 34s
test / test-musl (push) Failing after 30s
test / test-debian-unstable (push) Failing after 37s
test / test-activate-environment-no-project (push) Failing after 40s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 32s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 29s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 41s
CodeQL / Analyze (TypeScript) (push) Failing after 1m53s
test / test-cache-prune-force (push) Failing after 38s
test / test-custom-manifest-file (push) Failing after 38s
test / test-absolute-path (push) Failing after 43s
test / test-cache-python-missing-managed-install-dir (push) Failing after 36s
test / test-cache-dir-from-file (push) Failing after 39s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 33s
test / test-act (push) Failing after 30s
test / test-relative-path (push) Failing after 47s
test / test-restore-python-installs (push) Has been skipped
test / validate-typings (push) Successful in 41s
test / test-tool-install (macos-14) (push) Has been cancelled
test / test-tool-install (macos-latest) (push) Has been cancelled
test / test-tool-install (windows-latest) (push) Has been cancelled
Release Drafter / ✏️ Draft release (push) Has been cancelled
test / test-default-version (macos-14) (push) Has been cancelled
test / test-default-version (macos-latest) (push) Has been cancelled
test / test-default-version (windows-latest) (push) Has been cancelled
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Has been cancelled
test / test-python-version (macos-latest) (push) Has been cancelled
test / test-python-version (windows-latest) (push) Has been cancelled
test / test-activate-environment (macos-latest) (push) Has been cancelled
test / test-activate-environment (windows-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (macos-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (windows-latest) (push) Has been cancelled
test / test-cache-key-os-version (macos-14, macos-14) (push) Has been cancelled
test / test-cache-key-os-version (macos-15, macos-15) (push) Has been cancelled
test / test-cache-key-os-version (ubuntu-24.04, ubuntu-24.04) (push) Has been cancelled
test / test-cache-key-os-version (windows-2022, windows-2022) (push) Has been cancelled
test / test-cache-key-os-version (windows-2025, windows-2025) (push) Has been cancelled
test / test-setup-cache (auto, windows-latest) (push) Has been cancelled
test / test-setup-cache (false, windows-latest) (push) Has been cancelled
test / test-setup-cache (true, windows-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-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (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 (true, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (true, windows-latest) (push) Has been cancelled
test / all-tests-passed (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
chore: update known checksums for 0.12.2

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-08-06 15:23:16 +02:00
dependabot[bot]andGitHub 7cd5f7fd2e chore(deps): bump zizmorcore/zizmor-action from 0.5.7 to 0.6.0 (#976)
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 1m2s
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 1m5s
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 1m0s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 42s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 42s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 44s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 49s
test / test-uv-no-modify-path (push) Failing after 53s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 53s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 53s
test / test-default-version (ubuntu-latest) (push) Failing after 55s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 57s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 57s
test / test-latest-version (>=0.8) (push) Failing after 58s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 59s
test / test-latest-version (latest) (push) Failing after 59s
test / test-debian-unstable (push) Failing after 52s
CodeQL / Analyze (TypeScript) (push) Failing after 1m56s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 1m2s
test / test-python-version (ubuntu-latest) (push) Failing after 59s
test / test-activate-environment-no-project (push) Failing after 1m3s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 25s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 53s
test / test-setup-cache-requirements-txt (push) Failing after 59s
test / test-restore-cache-dependency-glob (push) Has been skipped
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 57s
test / test-setup-cache-save-cache-false (push) Failing after 59s
test / test-restore-cache-save-cache-false (push) Has been skipped
test / test-setup-cache-restore-cache-false (push) Failing after 1m0s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 1m13s
test / validate-typings (push) Successful in 51s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 1m3s
test / test-with-explicit-token (push) Failing after 57s
test / test-tool-install (ubuntu-latest) (push) Failing after 57s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 58s
test / test-musl (push) Failing after 1m1s
test / test-setup-cache-dependency-glob (push) Failing after 56s
test / test-restore-cache-requirements-txt (push) Has been skipped
test / test-restore-cache-restore-cache-false (push) Has been skipped
test / test-cache-local-cache-disabled (push) Failing after 59s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 1m2s
test / test-no-python-version (push) Failing after 1m1s
test / test-relative-path (push) Failing after 49s
test / test-cache-dir-from-file (push) Failing after 22s
test / test-cache-python-missing-managed-install-dir (push) Failing after 26s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 1m0s
test / test-activate-environment (ubuntu-latest) (push) Failing after 59s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 24s
test / test-cache-prune-force (push) Failing after 19s
test / test-malformed-pyproject-file-fallback (push) Failing after 58s
test / test-uvx (push) Failing after 56s
test / test-custom-manifest-file (push) Failing after 57s
test / test-download-from-astral-mirror-false (push) Failing after 54s
test / test-absolute-path (push) Failing after 48s
test / lint (push) Failing after 7m50s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 29s
test / test-act (push) Failing after 30s
test / test-cache-python-installs (push) Failing after 37s
test / test-restore-python-installs (push) Has been skipped
test / test-restore-cache (false, windows-latest) (push) Has been cancelled
test / test-tool-install (windows-latest) (push) Has been cancelled
test / test-default-version (macos-14) (push) Has been cancelled
test / test-default-version (macos-latest) (push) Has been cancelled
test / test-default-version (windows-latest) (push) Has been cancelled
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Has been cancelled
test / test-tool-install (macos-14) (push) Has been cancelled
test / test-tool-install (macos-latest) (push) Has been cancelled
test / test-python-version (macos-latest) (push) Has been cancelled
test / test-python-version (windows-latest) (push) Has been cancelled
test / test-activate-environment (macos-latest) (push) Has been cancelled
test / test-activate-environment (windows-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (macos-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (windows-latest) (push) Has been cancelled
test / test-cache-key-os-version (macos-14, macos-14) (push) Has been cancelled
test / test-cache-key-os-version (macos-15, macos-15) (push) Has been cancelled
test / test-cache-key-os-version (ubuntu-24.04, ubuntu-24.04) (push) Has been cancelled
test / test-cache-key-os-version (windows-2022, windows-2022) (push) Has been cancelled
test / test-cache-key-os-version (windows-2025, windows-2025) (push) Has been cancelled
test / test-setup-cache (auto, windows-latest) (push) Has been cancelled
test / test-setup-cache (false, windows-latest) (push) Has been cancelled
test / test-setup-cache (true, windows-latest) (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 (true, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (true, windows-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-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (push) Has been cancelled
test / all-tests-passed (push) Has been cancelled
Release Drafter / ✏️ Draft release (push) Has been cancelled
Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 09:55:57 -04:00
dependabot[bot]andGitHub d64009a7c5 chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#980)
Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 09:55:41 -04:00
7e7e21ddc3 chore: update known checksums for 0.12.1 (#982)
test / test-uv-no-modify-path (push) Failing after 1m2s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 1m9s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 1m11s
test / test-latest-version (>=0.8) (push) Failing after 36s
test / test-activate-environment-custom-path (ubuntu-latest) (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 1m7s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 1m8s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 1m10s
test / test-default-version (ubuntu-latest) (push) Failing after 1m12s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 1m13s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 1m14s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 36s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 1m13s
test / test-latest-version (latest) (push) Failing after 21s
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 1m7s
test / test-setup-cache-dependency-glob (push) Failing after 46s
test / test-restore-cache-dependency-glob (push) Has been skipped
test / test-setup-cache-restore-cache-false (push) Failing after 48s
test / test-cache-local-cache-disabled (push) Failing after 46s
CodeQL / Analyze (TypeScript) (push) Failing after 3m22s
test / lint (push) Failing after 3m22s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 1m3s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 43s
test / test-cache-prune-force (push) Failing after 42s
test / test-cache-python-missing-managed-install-dir (push) Failing after 42s
test / test-cache-dir-from-file (push) Failing after 46s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 1m7s
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 1m8s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 1m12s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 1m12s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 1m9s
test / test-malformed-pyproject-file-fallback (push) Failing after 1m12s
test / test-tool-install (ubuntu-latest) (push) Failing after 1m10s
test / test-python-version (ubuntu-latest) (push) Failing after 1m8s
test / test-with-explicit-token (push) Failing after 1m12s
test / test-uvx (push) Failing after 1m13s
test / test-activate-environment (ubuntu-latest) (push) Failing after 27s
test / test-restore-cache-restore-cache-false (push) Has been skipped
test / test-debian-unstable (push) Failing after 1m1s
test / test-custom-manifest-file (push) Failing after 39s
test / test-download-from-astral-mirror-false (push) Failing after 37s
test / test-relative-path (push) Failing after 50s
test / test-act (push) Failing after 38s
test / test-activate-environment-no-project (push) Failing after 25s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 25s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 30s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 42s
test / test-setup-cache-requirements-txt (push) Failing after 42s
test / test-restore-cache-requirements-txt (push) Has been skipped
test / test-musl (push) Failing after 51s
test / test-setup-cache-save-cache-false (push) Failing after 47s
test / test-restore-cache-save-cache-false (push) Has been skipped
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 43s
test / test-no-python-version (push) Failing after 45s
test / test-absolute-path (push) Failing after 36s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 40s
test / test-cache-python-installs (push) Failing after 44s
test / test-restore-python-installs (push) Has been skipped
test / validate-typings (push) Successful in 1m11s
test / test-tool-install (windows-latest) (push) Has been cancelled
Release Drafter / ✏️ Draft release (push) Has been cancelled
test / test-default-version (macos-14) (push) Has been cancelled
test / test-default-version (macos-latest) (push) Has been cancelled
test / test-default-version (windows-latest) (push) Has been cancelled
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Has been cancelled
test / test-tool-install (macos-14) (push) Has been cancelled
test / test-tool-install (macos-latest) (push) Has been cancelled
test / test-python-version (macos-latest) (push) Has been cancelled
test / test-python-version (windows-latest) (push) Has been cancelled
test / test-activate-environment (macos-latest) (push) Has been cancelled
test / test-activate-environment (windows-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (macos-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (windows-latest) (push) Has been cancelled
test / test-cache-key-os-version (macos-14, macos-14) (push) Has been cancelled
test / test-cache-key-os-version (macos-15, macos-15) (push) Has been cancelled
test / test-cache-key-os-version (ubuntu-24.04, ubuntu-24.04) (push) Has been cancelled
test / test-cache-key-os-version (windows-2022, windows-2022) (push) Has been cancelled
test / test-cache-key-os-version (windows-2025, windows-2025) (push) Has been cancelled
test / test-setup-cache (auto, windows-latest) (push) Has been cancelled
test / test-setup-cache (false, windows-latest) (push) Has been cancelled
test / test-setup-cache (true, windows-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-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (push) Has been cancelled
test / test-restore-cache (false, windows-latest) (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 (true, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (true, windows-latest) (push) Has been cancelled
test / all-tests-passed (push) Has been cancelled
chore: update known checksums for 0.12.1

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-08-01 10:26:59 +02:00
094aa226ed chore: update known checksums for 0.12.0 (#981)
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 2m1s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 2m1s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 2m9s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 2m9s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 2m10s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 2m13s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 2m10s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 2m12s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 2m15s
test / test-uv-no-modify-path (push) Failing after 2m17s
test / test-latest-version (latest) (push) Failing after 2m16s
test / test-default-version (ubuntu-latest) (push) Failing after 2m15s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 2m19s
test / test-latest-version (>=0.8) (push) Failing after 2m18s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 52s
CodeQL / Analyze (TypeScript) (push) Failing after 3m3s
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 1m7s
test / test-malformed-pyproject-file-fallback (push) Failing after 1m7s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 1m19s
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 1m18s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 1m15s
test / test-with-explicit-token (push) Failing after 1m14s
test / test-uvx (push) Failing after 1m14s
test / test-debian-unstable (push) Failing after 1m8s
test / test-musl (push) Failing after 36s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 1m11s
test / test-tool-install (ubuntu-latest) (push) Failing after 1m15s
test / test-activate-environment (ubuntu-latest) (push) Failing after 1m11s
test / test-activate-environment-no-project (push) Failing after 1m19s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 27s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 48s
test / test-python-version (ubuntu-latest) (push) Failing after 1m13s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 36s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 49s
test / test-setup-cache-requirements-txt (push) Failing after 56s
test / test-restore-cache-requirements-txt (push) Has been skipped
test / test-setup-cache-save-cache-false (push) Failing after 58s
test / test-setup-cache-dependency-glob (push) Failing after 58s
test / test-setup-cache-restore-cache-false (push) Failing after 58s
test / test-restore-cache-dependency-glob (push) Has been skipped
test / test-restore-cache-save-cache-false (push) Has been skipped
test / test-restore-cache-restore-cache-false (push) Has been skipped
test / test-cache-local-cache-disabled (push) Failing after 58s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 1m0s
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 1m1s
test / lint (push) Failing after 4m32s
test / test-no-python-version (push) Failing after 1m5s
test / test-cache-prune-force (push) Failing after 49s
test / test-cache-dir-from-file (push) Failing after 50s
test / test-relative-path (push) Failing after 1m3s
test / test-restore-python-installs (push) Has been skipped
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 30s
test / test-absolute-path (push) Failing after 1m1s
test / test-cache-python-missing-managed-install-dir (push) Failing after 30s
test / test-act (push) Failing after 28s
test / test-cache-python-installs (push) Failing after 31s
test / test-custom-manifest-file (push) Failing after 1m0s
test / test-download-from-astral-mirror-false (push) Failing after 1m0s
test / validate-typings (push) Successful in 1m29s
test / test-tool-install (macos-14) (push) Has been cancelled
test / test-tool-install (macos-latest) (push) Has been cancelled
test / test-tool-install (windows-latest) (push) Has been cancelled
Release Drafter / ✏️ Draft release (push) Has been cancelled
test / test-default-version (macos-14) (push) Has been cancelled
test / test-default-version (macos-latest) (push) Has been cancelled
test / test-default-version (windows-latest) (push) Has been cancelled
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Has been cancelled
test / test-python-version (macos-latest) (push) Has been cancelled
test / test-python-version (windows-latest) (push) Has been cancelled
test / test-activate-environment (macos-latest) (push) Has been cancelled
test / test-activate-environment (windows-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (macos-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (windows-latest) (push) Has been cancelled
test / test-cache-key-os-version (macos-14, macos-14) (push) Has been cancelled
test / test-cache-key-os-version (macos-15, macos-15) (push) Has been cancelled
test / test-cache-key-os-version (ubuntu-24.04, ubuntu-24.04) (push) Has been cancelled
test / test-cache-key-os-version (windows-2022, windows-2022) (push) Has been cancelled
test / test-cache-key-os-version (windows-2025, windows-2025) (push) Has been cancelled
test / test-setup-cache (auto, windows-latest) (push) Has been cancelled
test / test-setup-cache (false, windows-latest) (push) Has been cancelled
test / test-setup-cache (true, windows-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-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (push) Has been cancelled
test / test-restore-cache (false, windows-latest) (push) Has been cancelled
test / test-restore-cache (false, ubuntu-latest) (push) Has been cancelled
test / test-restore-cache (true, windows-latest) (push) Has been cancelled
test / test-restore-cache (true, ubuntu-latest) (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 / all-tests-passed (push) Has been cancelled
chore: update known checksums for 0.12.0

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-07-29 09:17:43 +02:00
d269b9917d chore: update known checksums for 0.11.31/0.11.32 (#972)
test / lint (push) Failing after 2m25s
test / test-default-version (ubuntu-latest) (push) Failing after 51s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 50s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 55s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 1m0s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 54s
test / test-latest-version (latest) (push) Failing after 1m2s
test / test-latest-version (>=0.8) (push) Failing after 1m3s
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 1m4s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 1m4s
test / test-uv-no-modify-path (push) Failing after 1m5s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 1m6s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 1m8s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 1m6s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 1m8s
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.5.15 version-file:__tests__/fixtures/.tool-versions]) (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 30s
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 41s
test / test-malformed-pyproject-file-fallback (push) Failing after 45s
test / test-with-explicit-token (push) Failing after 43s
test / test-uvx (push) Failing after 44s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 46s
test / test-tool-install (ubuntu-latest) (push) Failing after 47s
test / test-python-version (ubuntu-latest) (push) Failing after 48s
test / test-activate-environment (ubuntu-latest) (push) Failing after 48s
test / test-musl (push) Failing after 39s
test / test-debian-unstable (push) Failing after 56s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 36s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 50s
test / test-setup-cache-dependency-glob (push) Failing after 43s
test / test-restore-cache-save-cache-false (push) Has been skipped
test / test-restore-cache-restore-cache-false (push) Has been skipped
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 50s
test / test-no-python-version (push) Failing after 56s
test / test-download-from-astral-mirror-false (push) Failing after 52s
test / test-act (push) Failing after 28s
test / test-cache-python-missing-managed-install-dir (push) Failing after 38s
test / test-cache-dir-from-file (push) Failing after 52s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 38s
test / test-relative-path (push) Failing after 58s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 49s
test / test-activate-environment-no-project (push) Failing after 52s
CodeQL / Analyze (TypeScript) (push) Failing after 2m6s
test / test-restore-cache-requirements-txt (push) Has been skipped
test / test-restore-cache-dependency-glob (push) Has been skipped
test / test-setup-cache-restore-cache-false (push) Failing after 48s
test / test-custom-manifest-file (push) Failing after 49s
test / validate-typings (push) Successful in 48s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 29s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 37s
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 51s
test / test-cache-local-cache-disabled (push) Failing after 51s
test / test-cache-prune-force (push) Failing after 48s
test / test-absolute-path (push) Failing after 54s
test / test-restore-python-installs (push) Has been skipped
test / test-setup-cache-requirements-txt (push) Failing after 38s
test / test-setup-cache-save-cache-false (push) Failing after 49s
test / test-cache-python-installs (push) Failing after 40s
Release Drafter / ✏️ Draft release (push) Has been cancelled
test / test-tool-install (windows-latest) (push) Has been cancelled
test / test-default-version (macos-14) (push) Has been cancelled
test / test-default-version (macos-latest) (push) Has been cancelled
test / test-default-version (windows-latest) (push) Has been cancelled
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Has been cancelled
test / test-tool-install (macos-14) (push) Has been cancelled
test / test-tool-install (macos-latest) (push) Has been cancelled
test / test-python-version (macos-latest) (push) Has been cancelled
test / test-python-version (windows-latest) (push) Has been cancelled
test / test-activate-environment (macos-latest) (push) Has been cancelled
test / test-activate-environment (windows-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (macos-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (windows-latest) (push) Has been cancelled
test / test-cache-key-os-version (macos-14, macos-14) (push) Has been cancelled
test / test-cache-key-os-version (macos-15, macos-15) (push) Has been cancelled
test / test-cache-key-os-version (ubuntu-24.04, ubuntu-24.04) (push) Has been cancelled
test / test-cache-key-os-version (windows-2022, windows-2022) (push) Has been cancelled
test / test-cache-key-os-version (windows-2025, windows-2025) (push) Has been cancelled
test / test-setup-cache (auto, windows-latest) (push) Has been cancelled
test / test-setup-cache (false, windows-latest) (push) Has been cancelled
test / test-setup-cache (true, windows-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-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (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 / all-tests-passed (push) Has been cancelled
chore: update known checksums for 0.11.32

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-07-24 08:30:02 +02:00
c6081965dd docs: update version references to v9.0.0 (#971)
test / test-specific-version (map[expected-version:0.1.45 resolution-strategy:highest version-input:>=0.1,<0.2]) (push) Failing after 43s
test / test-latest-version (>=0.8) (push) Failing after 43s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3.x]) (push) Failing after 44s
test / test-specific-version (map[expected-version:0.3.0 version-input:0.3.0]) (push) Failing after 45s
test / test-uv-no-modify-path (push) Failing after 46s
test / test-specific-version (map[expected-version:0.3.2 version-input:0.3.2]) (push) Failing after 48s
test / test-specific-version (map[expected-version:0.1.0 resolution-strategy:lowest version-input:>=0.1.0,<0.2]) (push) Failing after 45s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25,<0.5]) (push) Failing after 47s
test / test-default-version (ubuntu-latest) (push) Failing after 44s
test / test-specific-version (map[expected-version:0.4.25 resolution-strategy:lowest version-input:>=0.4.25]) (push) Failing after 50s
test / test-specific-version (map[expected-version:0.3.5 version-input:0.3]) (push) Failing after 52s
test / test-specific-version (map[expected-version:0.4.30 version-input:>=0.4.25,<0.5]) (push) Failing after 53s
test / test-latest-version (latest) (push) Failing after 53s
test / test-from-working-directory-version (map[expected-version:0.5.14 working-directory:__tests__/fixtures/pyproject-toml-project]) (push) Failing after 22s
test / test-from-working-directory-version (map[expected-version:0.5.15 working-directory:__tests__/fixtures/uv-toml-project]) (push) Failing after 21s
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 18s
test / test-version-file-version (map[expected-version:0.5.15 version-file:__tests__/fixtures/.tool-versions]) (push) Failing after 19s
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 35s
test / lint (push) Failing after 1m24s
test / test-malformed-pyproject-file-fallback (push) Failing after 37s
test / test-uvx (push) Failing after 36s
test / test-with-explicit-token (push) Failing after 38s
test / test-checksum (map[checksum:4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd os:ubuntu-latest]) (push) Failing after 39s
test / test-debian-unstable (push) Failing after 31s
test / test-tool-install (ubuntu-latest) (push) Failing after 40s
test / test-python-version (ubuntu-latest) (push) Failing after 38s
test / test-activate-environment-custom-path (ubuntu-latest) (push) Failing after 41s
test / test-musl (push) Failing after 32s
test / test-activate-environment (ubuntu-latest) (push) Failing after 41s
CodeQL / Analyze (TypeScript) (push) Failing after 1m44s
test / test-cache-key-os-version (ubuntu-22.04, ubuntu-22.04) (push) Failing after 40s
test / test-activate-environment-no-project (push) Failing after 41s
test / test-setup-cache (false, ubuntu-latest) (push) Failing after 26s
test / test-setup-cache (auto, ubuntu-latest) (push) Failing after 27s
test / test-setup-cache (true, ubuntu-latest) (push) Failing after 28s
test / test-setup-cache-requirements-txt (push) Failing after 36s
test / test-setup-cache-dependency-glob (push) Failing after 37s
test / test-restore-cache-requirements-txt (push) Has been skipped
test / test-restore-cache-dependency-glob (push) Has been skipped
test / test-restore-cache-save-cache-false (push) Has been skipped
test / test-setup-cache-restore-cache-false (push) Failing after 38s
test / test-setup-cache-save-cache-false (push) Failing after 37s
test / test-cache-local (map[expected-cache-dir:/home/runner/work/_temp/setup-uv-cache os:ubuntu-latest]) (push) Failing after 38s
test / test-restore-cache-restore-cache-false (push) Has been skipped
test / test-cache-local-cache-disabled (push) Failing after 41s
test / test-cache-local-cache-disabled-but-explicit-path (push) Failing after 40s
test / test-custom-manifest-file (push) Failing after 45s
test / test-no-python-version (push) Failing after 45s
test / test-download-from-astral-mirror-false (push) Failing after 40s
test / test-cache-prune-force (push) Failing after 40s
test / test-absolute-path (push) Failing after 45s
test / test-cache-python-missing-managed-install-dir (push) Failing after 34s
test / test-cache-dir-from-file (push) Failing after 42s
test / test-relative-path (push) Failing after 49s
test / test-python-install-dir (map[expected-python-dir:/home/runner/work/_temp/uv-python-dir os:ubuntu-latest]) (push) Failing after 29s
test / test-act (push) Failing after 29s
test / test-cache-python-installs (push) Failing after 34s
test / test-restore-python-installs (push) Has been skipped
test / validate-typings (push) Successful in 40s
Release Drafter / ✏️ Draft release (push) Has been cancelled
test / test-default-version (macos-14) (push) Has been cancelled
test / test-default-version (macos-latest) (push) Has been cancelled
test / test-default-version (windows-latest) (push) Has been cancelled
test / test-checksum (map[checksum:a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218 os:macos-latest]) (push) Has been cancelled
test / test-tool-install (macos-14) (push) Has been cancelled
test / test-tool-install (macos-latest) (push) Has been cancelled
test / test-tool-install (windows-latest) (push) Has been cancelled
test / test-python-version (macos-latest) (push) Has been cancelled
test / test-python-version (windows-latest) (push) Has been cancelled
test / test-activate-environment (macos-latest) (push) Has been cancelled
test / test-activate-environment (windows-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (macos-latest) (push) Has been cancelled
test / test-activate-environment-custom-path (windows-latest) (push) Has been cancelled
test / test-cache-key-os-version (macos-14, macos-14) (push) Has been cancelled
test / test-cache-key-os-version (macos-15, macos-15) (push) Has been cancelled
test / test-cache-key-os-version (ubuntu-24.04, ubuntu-24.04) (push) Has been cancelled
test / test-cache-key-os-version (windows-2022, windows-2022) (push) Has been cancelled
test / test-cache-key-os-version (windows-2025, windows-2025) (push) Has been cancelled
test / test-setup-cache (auto, windows-latest) (push) Has been cancelled
test / test-setup-cache (false, windows-latest) (push) Has been cancelled
test / test-setup-cache (true, windows-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-python-install-dir (map[expected-python-dir:D:\a\_temp\uv-python-dir os:windows-latest]) (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 / all-tests-passed (push) Has been cancelled
Update `uses: astral-sh/setup-uv@...` references in documentation to
`c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0`.

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-07-21 18:03:39 +02:00
34 changed files with 11475 additions and 3308 deletions
+6 -4
View File
@@ -1,6 +1,6 @@
---
name: dependabot-pr-rollup
description: Find open Dependabot PRs for the current GitHub repo, compare each PR head to its base branch, replay only the net dependency changes in a fresh worktree and branch, run npm validation, and optionally commit, push, and open a PR. Use when you want to batch or manually replicate active Dependabot updates.
description: Find open Dependabot PRs for the current GitHub repo, compare each PR head to its base branch, replay only the net dependency changes in a fresh worktree and branch, run npm validation, then commit, push, and open a pull request labeled dependencies. Use when you want to batch or manually replicate active Dependabot updates.
license: MIT
compatibility: Requires git, git worktree, gh CLI auth, npm, and a GitHub repo with an origin remote.
---
@@ -13,7 +13,7 @@ Use this skill when the user wants to:
- find all open Dependabot PRs in the current repo
- reproduce their net effect in one local branch
- validate the result with the repo's standard npm checks
- optionally commit, push, and open a PR
- commit and push the validated changes, then open a PR labeled `dependencies`
## Workflow
@@ -28,7 +28,8 @@ Use this skill when the user wants to:
- Use `npm install ... --ignore-scripts` for direct dependency changes so `package-lock.json` stays in sync.
- When updating `@biomejs/biome`, also update the Biome schema URL version in `biome.json` to match the installed Biome version.
7. Run `npm run all`.
8. If requested, commit the changed source, lockfile, and generated artifacts, then push and open a PR.
8. Commit the changed source, lockfile, and generated artifacts, then push the branch.
9. Always open a pull request for the rollup and add the `dependencies` label to it. Pass `--label dependencies` to `gh pr create`, or add the label immediately afterward with `gh pr edit --add-label dependencies`.
## Repo-specific notes
@@ -46,4 +47,5 @@ Always report:
- new worktree path
- files changed
- `npm run all` result
- if applicable, commit SHA and PR URL
- commit SHA and PR URL
- confirmation that the PR has the `dependencies` label
+4 -4
View File
@@ -41,13 +41,13 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
with:
languages: ${{ matrix.language }}
source-root: src
@@ -59,7 +59,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
uses: github/codeql-action/autobuild@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -73,4 +73,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
pull-requests: read
steps:
- name: 🚀 Run Release Drafter
uses: release-drafter/release-drafter@4d75298e00d9e34c483e5ff8c68d0ea1c1940c1e # v7.5.1
uses: release-drafter/release-drafter@34d80673e067bdc0c24568d3af899c216adcfaa9 # v7.7.0
with:
commitish: ${{ github.sha }}
env:
+93 -47
View File
@@ -21,13 +21,13 @@ jobs:
permissions:
security-events: write # for zizmor
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Actionlint
uses: eifinger/actionlint-action@1fc89649be682d16ec5cf65ea16e269eb88d3982 # v1.10.2
- name: Run zizmor
uses: zizmorcore/zizmor-action@192e21d79ab29983730a13d1382995c2307fbcaa # v0.5.7
uses: zizmorcore/zizmor-action@3dc1ecc9bcb9e94e9b2c709687979e1298497054 # v0.6.2
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: .nvmrc
@@ -51,7 +51,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install latest version
@@ -76,7 +76,7 @@ jobs:
test-uv-no-modify-path:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install with UV_NO_MODIFY_PATH set
@@ -125,7 +125,7 @@ jobs:
expected-version: "0.1.0"
resolution-strategy: "lowest"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install version ${{ matrix.input.version-input }} with strategy ${{ matrix.input.resolution-strategy || 'highest' }}
@@ -154,7 +154,7 @@ jobs:
matrix:
version-input: ["latest", ">=0.8"]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install version ${{ matrix.version-input }}
@@ -194,7 +194,7 @@ jobs:
- working-directory: "__tests__/fixtures/uv-toml-project"
expected-version: "0.5.15"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install version from ${{ matrix.input.working-directory }}
@@ -220,7 +220,7 @@ jobs:
- version-file: "__tests__/fixtures/.tool-versions"
expected-version: "0.5.15"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install version from ${{ matrix.input.version-file }}
@@ -234,10 +234,35 @@ jobs:
exit 1
fi
test-tool-versions-python-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install versions from .tool-versions
id: setup-uv
uses: ./
with:
version-file: "__tests__/fixtures/.tool-versions"
- name: Verify Python version from .tool-versions
run: |
if [ "$UV_PYTHON" != "3.13.1t" ]; then
echo "Wrong UV_PYTHON: $UV_PYTHON"
exit 1
fi
if [ "$PYTHON_VERSION" != "3.13.1t" ]; then
echo "Wrong python-version output: $PYTHON_VERSION"
exit 1
fi
shell: bash
env:
PYTHON_VERSION: ${{ steps.setup-uv.outputs.python-version }}
test-malformed-pyproject-file-fallback:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install using malformed pyproject.toml
@@ -257,7 +282,7 @@ jobs:
- os: macos-latest
checksum: "a70cbfbf3bb5c08b2f84963b4f12c94e08fbb2468ba418a3bfe1066fbe9e7218"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Checksum matches expected
@@ -271,7 +296,7 @@ jobs:
test-with-explicit-token:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install default version
@@ -284,7 +309,7 @@ jobs:
test-uvx:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install default version
@@ -297,7 +322,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install default version
@@ -311,7 +336,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install latest version
@@ -343,7 +368,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install latest version
@@ -382,7 +407,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install latest version
@@ -433,7 +458,7 @@ jobs:
test-activate-environment-no-project:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Create incompatible pyproject.toml
@@ -477,7 +502,7 @@ jobs:
runs-on: ubuntu-latest
container: debian:unstable
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install latest version
@@ -489,9 +514,9 @@ jobs:
test-musl:
runs-on: ubuntu-latest
container: alpine
container: alpine@sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b # 3.24.1
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install latest version
@@ -530,7 +555,7 @@ jobs:
- os: windows-2025
expected-os: "windows-2025"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup uv
@@ -556,7 +581,7 @@ jobs:
enable-cache: ["true", "false", "auto"]
os: ["ubuntu-latest", "windows-latest"]
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup with cache
@@ -575,7 +600,7 @@ jobs:
os: ["ubuntu-latest", "windows-latest"]
needs: test-setup-cache
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Restore with cache
@@ -609,7 +634,7 @@ jobs:
test-setup-cache-requirements-txt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup with cache
@@ -625,7 +650,7 @@ jobs:
runs-on: ubuntu-latest
needs: test-setup-cache-requirements-txt
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Restore with cache
@@ -649,7 +674,7 @@ jobs:
test-setup-cache-dependency-glob:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup with cache
@@ -666,7 +691,7 @@ jobs:
runs-on: ubuntu-latest
needs: test-setup-cache-dependency-glob
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Change pyproject.toml
@@ -694,7 +719,7 @@ jobs:
test-setup-cache-save-cache-false:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup with cache
@@ -710,7 +735,7 @@ jobs:
runs-on: ubuntu-latest
needs: test-setup-cache-save-cache-false
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Restore with cache
@@ -730,7 +755,7 @@ jobs:
test-setup-cache-restore-cache-false:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup with cache
@@ -745,7 +770,7 @@ jobs:
runs-on: ubuntu-latest
needs: test-setup-cache-restore-cache-false
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Restore with cache
@@ -773,7 +798,7 @@ jobs:
expected-cache-dir: "D:\\a\\_temp\\setup-uv-cache"
runs-on: ${{ matrix.inputs.os }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup with cache
@@ -791,7 +816,7 @@ jobs:
test-cache-local-cache-disabled:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup without cache
@@ -810,7 +835,7 @@ jobs:
test-cache-local-cache-disabled-but-explicit-path:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup without cache
@@ -830,7 +855,7 @@ jobs:
test-no-python-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Fake pyproject.toml at root
@@ -845,7 +870,7 @@ jobs:
test-custom-manifest-file:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install from custom manifest file
@@ -864,7 +889,7 @@ jobs:
test-download-from-astral-mirror-false:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install with download-from-astral-mirror disabled
@@ -878,7 +903,7 @@ jobs:
test-absolute-path:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Create requirements.txt
@@ -898,7 +923,7 @@ jobs:
test-relative-path:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: mkdir
@@ -922,7 +947,7 @@ jobs:
test-cache-prune-force:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup uv
@@ -939,7 +964,7 @@ jobs:
test-cache-dir-from-file:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Verify uv cache dir is not populated
@@ -966,7 +991,7 @@ jobs:
env:
UV_PYTHON_INSTALL_DIR: /tmp/missing-uv-python
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup uv with cache and python cache enabled
@@ -987,7 +1012,7 @@ jobs:
test-cache-python-installs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Verify Python install dir is not populated
@@ -1014,7 +1039,7 @@ jobs:
runs-on: ubuntu-latest
needs: test-cache-python-installs
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Verify Python install dir does not exist
@@ -1056,7 +1081,7 @@ jobs:
expected-python-dir: "D:\\a\\_temp\\uv-python-dir"
runs-on: ${{ matrix.inputs.os }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install latest version
@@ -1075,7 +1100,7 @@ jobs:
test-act:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install act
@@ -1087,10 +1112,29 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
test-workflow-run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Install act
run: gh extension install https://github.com/nektos/gh-act
env:
GH_TOKEN: ${{ github.token }}
- name: Verify workflow_run disables automatic caching with act
run: |
gh act workflow_run \
-W __tests__/workflows/workflow-run.yml \
-P ubuntu-latest=catthehacker/ubuntu:act-latest \
--env RUNNER_ENVIRONMENT=github-hosted
env:
GH_TOKEN: ${{ github.token }}
validate-typings:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Validate typings
@@ -1107,6 +1151,7 @@ jobs:
- test-from-working-directory-version
- test-malformed-pyproject-file-fallback
- test-version-file-version
- test-tool-versions-python-version
- test-checksum
- test-with-explicit-token
- test-uvx
@@ -1143,6 +1188,7 @@ jobs:
- test-restore-python-installs
- test-python-install-dir
- test-act
- test-workflow-run
- validate-typings
if: always()
steps:
+1 -1
View File
@@ -18,7 +18,7 @@ jobs:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: true
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: true
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
+32 -13
View File
@@ -26,7 +26,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
```yaml
- name: Install the latest version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
```
If you do not specify a version, this action will look for a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version)
@@ -42,18 +42,18 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
```yaml
- name: Install uv with all available options
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
# The version of uv to install (default: searches for version in config files, then latest)
# The version of uv to install, e.g., "0.5.0", "latest", or "latest-known" (default: searches for version in config files, then latest)
version: ""
# Path to a file containing the version of uv to install, e.g., uv.toml, pyproject.toml, .tool-versions, requirements.txt or uv.lock (default: searches uv.toml then pyproject.toml)
# Path to a file containing the version of uv to install, e.g., uv.toml, pyproject.toml, .tool-versions, requirements.txt or uv.lock. A selected .tool-versions file can also provide the Python version (default: searches uv.toml then pyproject.toml)
version-file: ""
# Resolution strategy when resolving version ranges: 'highest' or 'lowest'
resolution-strategy: "highest"
# The version of Python to set UV_PYTHON to
# The version of Python to set UV_PYTHON to (overrides the Python version from .tool-versions)
python-version: ""
# Use uv venv to activate a venv ready to be used by later steps
@@ -74,7 +74,7 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
# Used when downloading uv from GitHub releases
github-token: ${{ github.token }}
# Enable uploading of the uv cache: true, false, or auto (enabled on GitHub-hosted runners, disabled on self-hosted runners)
# Enable the GitHub Actions cache for uv: true, false, or auto (enabled on GitHub-hosted runners except for release, tag push, pull_request_target, and workflow_run events; disabled on self-hosted runners)
enable-cache: "auto"
# Glob pattern to match files relative to the repository root to control the cache
@@ -144,11 +144,30 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
You can use the input `python-version` to set the environment variable `UV_PYTHON` for the rest of your workflow
This will override any python version specifications in `pyproject.toml` and `.python-version`
This will override any python version specifications in `pyproject.toml`, `.python-version`, and
an explicitly selected `.tool-versions` file.
When `version-file` points to `.tool-versions`, its `python` entry is used if neither
`python-version` nor `UV_PYTHON` is set:
```text
uv 0.12.3
python 3.13
```
```yaml
- uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version-file: ".tool-versions"
```
Only a single Python version is supported. Filesystem paths are not supported for uv or Python.
Multiple Python fallback versions and the asdf `ref:`, `path:`, and `system` forms are ignored with
a warning.
```yaml
- name: Install the latest version of uv and set the python version to 3.13t
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
python-version: 3.13t
- run: uv pip install --python=3.13t pip
@@ -166,7 +185,7 @@ jobs:
steps:
- uses: actions/checkout@v5
- name: Install the latest version of uv and set the python version
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
python-version: ${{ matrix.python-version }}
- name: Test with python ${{ matrix.python-version }}
@@ -183,7 +202,7 @@ It also controls where [the venv gets created](#activate-environment), unless `v
```yaml
- name: Install uv based on the config files in the working-directory
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
working-directory: my/subproject/dir
```
@@ -225,7 +244,7 @@ For example:
- name: Checkout the repository
uses: actions/checkout@main
- name: Install the latest version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
- name: Test
@@ -237,7 +256,7 @@ To install a specific version of Python, use
```yaml
- name: Install the latest version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
- name: Install Python 3.12
@@ -256,7 +275,7 @@ output:
uses: actions/checkout@main
- name: Install the default version of uv
id: setup-uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
- name: Print the installed version
run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
```
+6 -6
View File
@@ -40,9 +40,9 @@ it.each<KnownVersionFixture>([
known: false,
version: "0.0.15",
},
])("isknownVersion should return $known for version $version", ({
version,
known,
}) => {
expect(isknownVersion(version)).toBe(known);
});
])(
"isknownVersion should return $known for version $version",
({ version, known }) => {
expect(isknownVersion(version)).toBe(known);
},
);
@@ -0,0 +1,20 @@
import { expect, it, jest } from "@jest/globals";
jest.unstable_mockModule(
"../../../src/download/checksum/known-checksums",
() => ({
KNOWN_CHECKSUMS: {
"aarch64-apple-darwin-1.9.0": "checksum",
"x86_64-unknown-linux-gnu-1.8.0": "checksum",
"x86_64-unknown-linux-gnu-1.10.0": "checksum",
},
}),
);
const { getLatestKnownVersion } = await import(
"../../../src/download/checksum/known-version"
);
it("returns the highest version with a built-in checksum", () => {
expect(getLatestKnownVersion()).toBe("1.10.0");
});
@@ -55,6 +55,12 @@ jest.unstable_mockModule("../../src/download/checksum/checksum", () => ({
validateChecksum: mockValidateChecksum,
}));
const mockGetLatestKnownVersion = jest.fn(() => "0.9.25");
jest.unstable_mockModule("../../src/download/checksum/known-version", () => ({
getLatestKnownVersion: mockGetLatestKnownVersion,
}));
const { downloadVersion, resolveVersion, rewriteToMirror } = await import(
"../../src/download/download-version"
);
@@ -72,6 +78,7 @@ describe("download-version", () => {
mockGetFirstMatchingVersion.mockReset();
mockGetArtifact.mockReset();
mockValidateChecksum.mockReset();
mockGetLatestKnownVersion.mockClear();
mockDownloadTool.mockResolvedValue("/tmp/downloaded");
mockExtractTar.mockResolvedValue("/tmp/extracted");
@@ -90,6 +97,16 @@ describe("download-version", () => {
expect(mockGetLatestVersion).toHaveBeenCalledWith(undefined);
});
it("resolves latest-known without reading the manifest", async () => {
const version = await resolveVersion("latest-known", undefined);
expect(version).toBe("0.9.25");
expect(mockGetLatestKnownVersion).toHaveBeenCalledTimes(1);
expect(mockGetLatestVersion).not.toHaveBeenCalled();
expect(mockGetAllVersions).not.toHaveBeenCalled();
expect(mockGetFirstMatchingVersion).not.toHaveBeenCalled();
});
it("stops at the first matching version in the default manifest", async () => {
mockGetFirstMatchingVersion.mockImplementation(
(predicate: (version: string) => boolean) =>
+41 -1
View File
@@ -1,4 +1,11 @@
import { beforeEach, describe, expect, it, jest } from "@jest/globals";
import {
afterEach,
beforeEach,
describe,
expect,
it,
jest,
} from "@jest/globals";
// biome-ignore lint/suspicious/noExplicitAny: Mock requires flexible typing in tests.
const mockFetch = jest.fn<any>();
@@ -13,6 +20,7 @@ jest.unstable_mockModule("../../src/utils/fetch", () => ({
}));
const {
MANIFEST_FETCH_ATTEMPTS,
clearManifestCache,
fetchManifest,
getAllVersions,
@@ -73,6 +81,10 @@ describe("manifest", () => {
mockFetch.mockReset();
});
afterEach(() => {
jest.useRealTimers();
});
describe("fetchManifest", () => {
it("fetches and parses manifest data", async () => {
mockFetch.mockResolvedValue(
@@ -86,6 +98,34 @@ describe("manifest", () => {
expect(versions[1]?.version).toBe("0.9.25");
});
it("retries network failures", async () => {
jest.useFakeTimers();
mockFetch
.mockRejectedValueOnce(new Error("request timed out"))
.mockResolvedValueOnce(
createMockResponse(true, 200, "OK", sampleManifestResponse),
);
const result = fetchManifest();
await jest.runAllTimersAsync();
await expect(result).resolves.toHaveLength(2);
expect(mockFetch).toHaveBeenCalledTimes(2);
});
it("stops after the configured number of network failures", async () => {
jest.useFakeTimers();
mockFetch.mockRejectedValue(new Error("request timed out"));
const result = expect(fetchManifest()).rejects.toThrow(
"request timed out",
);
await jest.runAllTimersAsync();
await result;
expect(mockFetch).toHaveBeenCalledTimes(MANIFEST_FETCH_ATTEMPTS);
});
it("throws on a failed fetch", async () => {
mockFetch.mockResolvedValue(
createMockResponse(false, 500, "Internal Server Error", ""),
+1
View File
@@ -1 +1,2 @@
uv 0.5.15
python 3.13.1t
+112
View File
@@ -12,10 +12,13 @@ import {
let mockInputs: Record<string, string> = {};
const tempDirs: string[] = [];
const ORIGINAL_GITHUB_EVENT_NAME = process.env.GITHUB_EVENT_NAME;
const ORIGINAL_GITHUB_REF = process.env.GITHUB_REF;
const ORIGINAL_HOME = process.env.HOME;
const ORIGINAL_RUNNER_ENVIRONMENT = process.env.RUNNER_ENVIRONMENT;
const ORIGINAL_RUNNER_TEMP = process.env.RUNNER_TEMP;
const ORIGINAL_UV_CACHE_DIR = process.env.UV_CACHE_DIR;
const ORIGINAL_UV_PYTHON = process.env.UV_PYTHON;
const ORIGINAL_UV_PYTHON_INSTALL_DIR = process.env.UV_PYTHON_INSTALL_DIR;
const mockDebug = jest.fn();
@@ -52,10 +55,13 @@ function createTempProject(files: Record<string, string> = {}): string {
function resetEnvironment(): void {
jest.clearAllMocks();
mockInputs = {};
delete process.env.GITHUB_EVENT_NAME;
delete process.env.GITHUB_REF;
process.env.HOME = "/home/testuser";
delete process.env.RUNNER_ENVIRONMENT;
delete process.env.RUNNER_TEMP;
delete process.env.UV_CACHE_DIR;
delete process.env.UV_PYTHON;
delete process.env.UV_PYTHON_INSTALL_DIR;
}
@@ -64,10 +70,13 @@ function restoreEnvironment(): void {
fs.rmSync(dir, { force: true, recursive: true });
}
process.env.GITHUB_EVENT_NAME = ORIGINAL_GITHUB_EVENT_NAME;
process.env.GITHUB_REF = ORIGINAL_GITHUB_REF;
process.env.HOME = ORIGINAL_HOME;
process.env.RUNNER_ENVIRONMENT = ORIGINAL_RUNNER_ENVIRONMENT;
process.env.RUNNER_TEMP = ORIGINAL_RUNNER_TEMP;
process.env.UV_CACHE_DIR = ORIGINAL_UV_CACHE_DIR;
process.env.UV_PYTHON = ORIGINAL_UV_PYTHON;
process.env.UV_PYTHON_INSTALL_DIR = ORIGINAL_UV_PYTHON_INSTALL_DIR;
}
@@ -94,6 +103,109 @@ describe("loadInputs", () => {
expect(inputs.resolutionStrategy).toBe("highest");
});
it("uses the Python version from an explicitly selected .tool-versions file", () => {
mockInputs["working-directory"] = createTempProject({
".tool-versions": "uv 0.12.3\npython 3.13.1t\n",
});
mockInputs["version-file"] = ".tool-versions";
const inputs = loadInputs();
expect(inputs.pythonVersion).toBe("3.13.1t");
});
it("prefers the python-version input over .tool-versions", () => {
mockInputs["working-directory"] = createTempProject({
".tool-versions": "uv 0.12.3\npython 3.13\n",
});
mockInputs["version-file"] = ".tool-versions";
mockInputs["python-version"] = "3.12";
const inputs = loadInputs();
expect(inputs.pythonVersion).toBe("3.12");
});
it("preserves UV_PYTHON instead of overriding it from .tool-versions", () => {
mockInputs["working-directory"] = createTempProject({
".tool-versions": "uv 0.12.3\npython 3.13\n",
});
mockInputs["version-file"] = ".tool-versions";
process.env.UV_PYTHON = "3.11";
const inputs = loadInputs();
expect(inputs.pythonVersion).toBe("");
expect(process.env.UV_PYTHON).toBe("3.11");
});
it("does not discover .tool-versions from the working directory", () => {
mockInputs["working-directory"] = createTempProject({
".tool-versions": "uv 0.12.3\npython 3.13\n",
});
const inputs = loadInputs();
expect(inputs.pythonVersion).toBe("");
});
it.each(["pull_request_target", "workflow_run", "release"])(
"disables automatic caching for the %s event",
(eventName) => {
mockInputs["working-directory"] = "/workspace";
mockInputs["enable-cache"] = "auto";
process.env.RUNNER_ENVIRONMENT = "github-hosted";
process.env.RUNNER_TEMP = "/runner-temp";
process.env.GITHUB_EVENT_NAME = eventName;
const inputs = loadInputs();
expect(inputs.enableCache).toBe(false);
expect(mockInfo).toHaveBeenCalledWith(
`Caching is disabled for the ${eventName} event`,
);
},
);
it("disables automatic caching for tag pushes", () => {
mockInputs["working-directory"] = "/workspace";
mockInputs["enable-cache"] = "auto";
process.env.RUNNER_ENVIRONMENT = "github-hosted";
process.env.RUNNER_TEMP = "/runner-temp";
process.env.GITHUB_EVENT_NAME = "push";
process.env.GITHUB_REF = "refs/tags/v1.0.0";
const inputs = loadInputs();
expect(inputs.enableCache).toBe(false);
expect(mockInfo).toHaveBeenCalledWith("Caching is disabled for tag pushes");
});
it("enables automatic caching for branch pushes", () => {
mockInputs["working-directory"] = "/workspace";
mockInputs["enable-cache"] = "auto";
process.env.RUNNER_ENVIRONMENT = "github-hosted";
process.env.RUNNER_TEMP = "/runner-temp";
process.env.GITHUB_EVENT_NAME = "push";
process.env.GITHUB_REF = "refs/heads/main";
const inputs = loadInputs();
expect(inputs.enableCache).toBe(true);
});
it("honors explicitly enabled caching for sensitive events", () => {
mockInputs["working-directory"] = "/workspace";
mockInputs["enable-cache"] = "true";
process.env.RUNNER_ENVIRONMENT = "github-hosted";
process.env.RUNNER_TEMP = "/runner-temp";
process.env.GITHUB_EVENT_NAME = "release";
const inputs = loadInputs();
expect(inputs.enableCache).toBe(true);
});
it("uses cache-dir from pyproject.toml when present", () => {
mockInputs["working-directory"] = createTempProject({
"pyproject.toml": `[project]
+7 -4
View File
@@ -15,15 +15,18 @@ test("ignores dependencies starting with uv", async () => {
test.each([
["without space before marker", "uv==0.11.20; sys_platform != 'emscripten'"],
["with space before marker", "uv==0.11.20 ; sys_platform != 'emscripten'"],
])("strips PEP 508 markers from pyproject dependency groups %s", (_, dependency) => {
const parsedVersion = getUvVersionFromPyprojectContent(`[dependency-groups]
])(
"strips PEP 508 markers from pyproject dependency groups %s",
(_, dependency) => {
const parsedVersion = getUvVersionFromPyprojectContent(`[dependency-groups]
test = [
"${dependency}",
]
`);
expect(parsedVersion).toBe("==0.11.20");
});
expect(parsedVersion).toBe("==0.11.20");
},
);
test("strips PEP 508 markers from requirements dependencies", () => {
const parsedVersion = getUvVersionFromRequirementsText(
+90 -2
View File
@@ -21,6 +21,11 @@ async function getVersionFromToolVersions(filePath: string) {
return getUvVersionFromToolVersions(filePath);
}
async function getPythonVersionFromToolVersions(filePath: string) {
const module = await import("../../src/version/tool-versions-file");
return module.getPythonVersionFromToolVersions(filePath);
}
describe("getUvVersionFromToolVersions", () => {
beforeEach(() => {
jest.resetModules();
@@ -61,8 +66,8 @@ describe("getUvVersionFromToolVersions", () => {
expect(result).toBe("0.3.0");
});
it("should skip commented lines", async () => {
const fileContent = "# uv 0.1.0\npython 3.11.0\nuv 0.2.0";
it("should skip comments", async () => {
const fileContent = "# uv 0.1.0\npython 3.11.0\nuv 0.2.0 # inline comment";
mockReadFileSync.mockReturnValue(fileContent);
const result = await getVersionFromToolVersions(".tool-versions");
@@ -108,6 +113,20 @@ describe("getUvVersionFromToolVersions", () => {
);
});
it.each(["/my/python/exploit", "my/exploited/uv", "C:\\exploited\\uv"])(
"should warn and return undefined for path %s",
async (version) => {
mockReadFileSync.mockReturnValue(`uv ${version}`);
const result = await getVersionFromToolVersions(".tool-versions");
expect(result).toBeUndefined();
expect(mockWarning).toHaveBeenCalledWith(
`The uv version ${version} in .tool-versions is not supported. Paths are not allowed.`,
);
},
);
it("should handle file path with .tool-versions extension", async () => {
const fileContent = "uv 0.1.0";
mockReadFileSync.mockReturnValue(fileContent);
@@ -121,3 +140,72 @@ describe("getUvVersionFromToolVersions", () => {
);
});
});
describe("getPythonVersionFromToolVersions", () => {
beforeEach(() => {
jest.resetModules();
jest.clearAllMocks();
});
it("should return version for a valid Python entry", async () => {
mockReadFileSync.mockReturnValue(
"nodejs 24.0.0\r\npython v3.13.1t # use free-threaded Python\r\nuv 0.12.3",
);
const result = await getPythonVersionFromToolVersions(".tool-versions");
expect(result).toBe("3.13.1t");
});
it("should return the first matching Python version", async () => {
mockReadFileSync.mockReturnValue("python 3.12\npython 3.13");
const result = await getPythonVersionFromToolVersions(".tool-versions");
expect(result).toBe("3.12");
});
it("should return undefined when no Python entry is found", async () => {
mockReadFileSync.mockReturnValue("uv 0.12.3\nnodejs 24.0.0");
const result = await getPythonVersionFromToolVersions(".tool-versions");
expect(result).toBeUndefined();
});
it("should warn and return undefined for multiple Python versions", async () => {
mockReadFileSync.mockReturnValue("python 3.13 3.12 system");
const result = await getPythonVersionFromToolVersions(".tool-versions");
expect(result).toBeUndefined();
expect(mockWarning).toHaveBeenCalledWith(
"Multiple Python versions in .tool-versions are not supported. The Python entry will be ignored.",
);
});
it.each([
"ref:main",
"path:~/src/python",
"system",
"/my/python/exploit",
"my/exploited/python",
"C:\\exploited\\python",
])("should warn and return undefined for %s", async (version) => {
mockReadFileSync.mockReturnValue(`python ${version}`);
const result = await getPythonVersionFromToolVersions(".tool-versions");
expect(result).toBeUndefined();
expect(mockWarning).toHaveBeenCalledWith(
`The Python version ${version} in .tool-versions is not supported. The Python entry will be ignored.`,
);
});
it("should return undefined for non-.tool-versions files", async () => {
const result = await getPythonVersionFromToolVersions(".python-version");
expect(result).toBeUndefined();
expect(mockReadFileSync).not.toHaveBeenCalled();
});
});
+42
View File
@@ -0,0 +1,42 @@
name: "test workflow_run caching"
on: # zizmor: ignore[dangerous-triggers] this workflow is a test fixture executed by act only
workflow_run:
workflows:
- test
types:
- completed
permissions:
contents: read
jobs:
test-cache-disabled:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: Setup uv with automatic caching
id: setup-uv
uses: ./
- name: Verify automatic caching is disabled
env:
CACHE_KEY: ${{ steps.setup-uv.outputs.cache-key }}
run: |
if [ "$GITHUB_EVENT_NAME" != "workflow_run" ]; then
echo "Expected workflow_run event, got: $GITHUB_EVENT_NAME"
exit 1
fi
if [ "$RUNNER_ENVIRONMENT" != "github-hosted" ]; then
echo "Expected a simulated GitHub-hosted runner, got: $RUNNER_ENVIRONMENT"
exit 1
fi
if [ -n "$CACHE_KEY" ]; then
echo "Cache key should not be set for a workflow_run event: $CACHE_KEY"
exit 1
fi
if [ -n "$UV_CACHE_DIR" ]; then
echo "UV_CACHE_DIR should not be set for a workflow_run event: $UV_CACHE_DIR"
exit 1
fi
+4 -4
View File
@@ -4,13 +4,13 @@ description:
author: "astral-sh"
inputs:
version:
description: "The version of uv to install e.g., `0.5.0` Defaults to the version in pyproject.toml or 'latest'."
description: "The version of uv to install, e.g., `0.5.0`, `latest`, or `latest-known`. Defaults to the version in pyproject.toml or `latest`."
default: ""
version-file:
description: "Path to a file containing the version of uv to install, e.g., uv.toml, pyproject.toml, .tool-versions, requirements.txt or uv.lock. Defaults to searching for uv.toml and if not found pyproject.toml."
description: "Path to a file containing the version of uv to install, e.g., uv.toml, pyproject.toml, .tool-versions, requirements.txt or uv.lock. A selected .tool-versions file can also provide the Python version. Defaults to searching for uv.toml and if not found pyproject.toml."
default: ""
python-version:
description: "The version of Python to set UV_PYTHON to"
description: "The version of Python to set UV_PYTHON to. Overrides the Python version from .tool-versions."
required: false
activate-environment:
description: "Use uv venv to activate a venv ready to be used by later steps. "
@@ -33,7 +33,7 @@ inputs:
required: false
default: ${{ github.token }}
enable-cache:
description: "Enable uploading of the uv cache"
description: "Enable the GitHub Actions cache for uv. 'auto' enables caching on GitHub-hosted runners except for release, tag push, pull_request_target, and workflow_run events."
default: "auto"
cache-dependency-glob:
description:
+1 -1
View File
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.5.1/schema.json",
"$schema": "https://biomejs.dev/schemas/2.5.7/schema.json",
"assist": {
"actions": {
"source": {
Generated Vendored
+2439 -467
View File
File diff suppressed because it is too large Load Diff
Generated Vendored
+5678 -2017
View File
File diff suppressed because it is too large Load Diff
+2163 -526
View File
File diff suppressed because it is too large Load Diff
+25 -9
View File
@@ -6,16 +6,29 @@ This document covers advanced options for configuring which version of uv to ins
```yaml
- name: Install the latest version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: "latest"
```
## Install the latest version with a checksum verified by this action
Use `latest-known` to install the newest uv version whose checksums were bundled with the version of setup-uv used by your workflow. Version resolution is performed locally without fetching the latest release, so updating setup-uv also updates the version selected by `latest-known`.
When `manifest-file` is set, `latest-known` still selects a version from setup-uv's bundled checksum table, but the artifact and checksum come from the custom manifest.
```yaml
- name: Install the latest version of uv known to setup-uv
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: "latest-known"
```
## Install a specific version
```yaml
- name: Install a specific version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: "0.4.4"
```
@@ -28,21 +41,21 @@ to install the latest version that satisfies the range.
```yaml
- name: Install a semver range of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: ">=0.4.0"
```
```yaml
- name: Pinning a minor version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: "0.4.x"
```
```yaml
- name: Install a pep440-specifier-satisfying version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: ">=0.4.25,<0.5"
```
@@ -54,7 +67,7 @@ You can change this behavior using the `resolution-strategy` input:
```yaml
- name: Install the lowest compatible version of uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: ">=0.4.0"
resolution-strategy: "lowest"
@@ -72,11 +85,14 @@ You can use the `version-file` input to specify a file that contains the version
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](https://asdf-vm.com/) `.tool-versions` is also supported, but without the `ref` syntax.
[asdf](https://asdf-vm.com/) `.tool-versions` is also supported for selecting uv. If neither
`python-version` nor `UV_PYTHON` is set, the `python` entry from the selected file is also exported
as `UV_PYTHON`. Only a single Python version is supported; multiple fallback versions and the asdf
`ref:`, `path:`, and `system` forms are ignored with a warning.
```yaml
- name: Install uv based on the version defined in pyproject.toml
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version-file: "pyproject.toml"
```
@@ -87,7 +103,7 @@ silently picking up a newer uv until the lockfile is updated.
```yaml
- name: Install uv based on the version locked in uv.lock
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version-file: "uv.lock"
```
+16 -13
View File
@@ -23,7 +23,7 @@ The computed cache key is available as the `cache-key` output:
```yaml
- name: Setup uv
id: setup-uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
- name: Print cache key
@@ -38,7 +38,10 @@ The computed cache key is available as the `cache-key` output:
If you enable caching, the [uv cache](https://docs.astral.sh/uv/concepts/cache/) will be uploaded to
the GitHub Actions cache. This can speed up runs that reuse the cache by several minutes.
Caching is enabled by default on GitHub-hosted runners.
With the default `enable-cache: auto`, caching is enabled on GitHub-hosted runners except for
`release`, tag push, `pull_request_target`, and `workflow_run` events. Caching is disabled for these
events to prevent insecure or release-sensitive jobs from restoring potentially poisoned caches.
Set `enable-cache: true` to explicitly enable caching for any event.
> [!TIP]
>
@@ -50,7 +53,7 @@ You can optionally define a custom cache key suffix.
```yaml
- name: Enable caching and define a custom cache key suffix
id: setup-uv
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
cache-suffix: "optional-suffix"
@@ -89,7 +92,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml
- name: Define a cache dependency glob
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"
@@ -97,7 +100,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml
- name: Define a list of cache dependency globs
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
cache-dependency-glob: |
@@ -107,7 +110,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml
- name: Define an absolute cache dependency glob
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
@@ -115,7 +118,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml
- name: Never invalidate the cache
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
cache-dependency-glob: ""
@@ -128,7 +131,7 @@ By default, the cache will be restored.
```yaml
- name: Don't restore an existing cache
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
restore-cache: false
@@ -142,7 +145,7 @@ By default, the cache will be saved.
```yaml
- name: Don't save the cache after the run
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
save-cache: false
@@ -168,7 +171,7 @@ It defaults to `setup-uv-cache` in the `TMP` dir, `D:\a\_temp\setup-uv-cache` on
```yaml
- name: Define a custom uv cache path
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
cache-local-path: "/path/to/cache"
```
@@ -185,7 +188,7 @@ If you want to prune the cache before saving it, enable cache pruning with the `
```yaml
- name: Prune the cache before saving it
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
prune-cache: true
@@ -204,7 +207,7 @@ To force managed Python installs, set `UV_PYTHON_PREFERENCE=only-managed`.
```yaml
- name: Cache Python installs
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
cache-python: true
@@ -222,7 +225,7 @@ If you want to ignore this, set the `ignore-nothing-to-cache` input to `true`.
```yaml
- name: Ignore nothing to cache
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
enable-cache: true
ignore-nothing-to-cache: true
+3 -3
View File
@@ -10,7 +10,7 @@ are automatically verified by this action. The sha256 hashes can be found on the
```yaml
- name: Install a specific version and validate the checksum
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
version: "0.3.1"
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
@@ -39,7 +39,7 @@ The `archive_format` field is currently ignored.
```yaml
- name: Use a custom manifest file
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
manifest-file: "https://example.com/my-custom-manifest.ndjson"
```
@@ -58,7 +58,7 @@ You can disable this by setting the `add-problem-matchers` input to `false`.
```yaml
- name: Install the latest version of uv without problem matchers
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
add-problem-matchers: false
```
+10 -9
View File
@@ -9,7 +9,7 @@ This allows directly using it in later steps:
```yaml
- name: Install the latest version of uv and activate the environment
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
activate-environment: true
- run: uv pip install pip
@@ -20,7 +20,7 @@ By default, the venv is created at `.venv` inside the `working-directory`.
You can customize the venv location with `venv-path`, for example to place it in the runner temp directory:
```yaml
- uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
- uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
activate-environment: true
venv-path: ${{ runner.temp }}/custom-venv
@@ -51,7 +51,7 @@ are not sufficient, you can provide a custom GitHub token with the necessary per
```yaml
- name: Install the latest version of uv with a custom GitHub token
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
```
@@ -69,7 +69,7 @@ input:
```yaml
- name: Install the latest version of uv with a custom tool dir
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
tool-dir: "/path/to/tool/dir"
```
@@ -88,7 +88,7 @@ If you want to change this behaviour (especially on self-hosted runners) you can
```yaml
- name: Install the latest version of uv with a custom tool bin dir
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
tool-bin-dir: "/path/to/tool-bin/dir"
```
@@ -105,7 +105,7 @@ This action supports expanding the `~` character to the user's home directory fo
```yaml
- name: Expand the tilde character
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
cache-local-path: "~/path/to/cache"
tool-dir: "~/path/to/tool/dir"
@@ -122,7 +122,7 @@ If you want to ignore this, set the `ignore-empty-workdir` input to `true`.
```yaml
- name: Ignore empty workdir
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
ignore-empty-workdir: true
```
@@ -131,7 +131,7 @@ If you want to ignore this, set the `ignore-empty-workdir` input to `true`.
This action sets several environment variables that influence uv's behavior and can be used by subsequent steps:
- `UV_PYTHON`: Set when `python-version` input is specified. Controls which Python version uv uses.
- `UV_PYTHON`: Set when `python-version` is specified or the selected `.tool-versions` file contains a supported `python` entry. Controls which Python version uv uses.
- `UV_CACHE_DIR`: Set when caching is enabled (unless already configured in uv config files). Controls where uv stores its cache.
- `UV_TOOL_DIR`: Set when `tool-dir` input is specified. Controls where uv installs tool environments.
- `UV_TOOL_BIN_DIR`: Set when `tool-bin-dir` input is specified. Controls where uv installs tool binaries.
@@ -142,10 +142,11 @@ This action sets several environment variables that influence uv's behavior and
- `UV_NO_MODIFY_PATH`: If set, prevents the action from modifying PATH. Cannot be used with `activate-environment`.
- `UV_CACHE_DIR`: If already set, the action will respect it instead of setting its own cache directory.
- `UV_PYTHON`: If already set and `python-version` is not specified, the action will respect it instead of using the `python` entry from `.tool-versions`.
```yaml
- name: Example using environment variables
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
uses: astral-sh/setup-uv@ae62891fec2bb8e7d6c99fc78c9fec3a63790f8d # v10.0.0
with:
python-version: "3.12"
tool-dir: "/custom/tool/dir"
+200 -122
View File
@@ -9,33 +9,33 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"@actions/cache": "^6.1.0",
"@actions/cache": "^6.2.0",
"@actions/core": "^3.0.0",
"@actions/exec": "^3.0.0",
"@actions/glob": "^0.6.1",
"@actions/glob": "^0.7.0",
"@actions/io": "^3.0.2",
"@actions/tool-cache": "^4.0.0",
"@renovatebot/pep440": "^5.0.0",
"smol-toml": "^1.7.0",
"undici": "^8.3.0"
"smol-toml": "^1.7.1",
"undici": "^8.10.0"
},
"devDependencies": {
"@biomejs/biome": "^2.5.1",
"@biomejs/biome": "^2.5.7",
"@types/js-yaml": "^4.0.9",
"@types/node": "^26.1.1",
"@types/semver": "^7.7.1",
"@types/node": "^26.1.2",
"@types/semver": "^7.8.0",
"@vercel/ncc": "^0.44.1",
"esbuild": "^0.28.1",
"jest": "^30.4.2",
"js-yaml": "^5.2.1",
"js-yaml": "^5.2.3",
"ts-jest": "^29.4.11",
"typescript": "^6.0.3"
}
},
"node_modules/@actions/cache": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.1.0.tgz",
"integrity": "sha512-LVqybSbzhBp2uAETOQ3HnVjXA4AcjavgMH+LCr+cjgO+PZfciv/1QAgoW+esXBaAhvDid+vXeV70GGJpAh4V5Q==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.2.0.tgz",
"integrity": "sha512-Nv0xWRmbxfDbAn/70flO/F6tj2Nv4XTYMAsQHiDFSojCDfso/Zni+fRKa14ToI9hnmOW/rQcY1WYb6wsM7Pgwg==",
"license": "MIT",
"dependencies": {
"@actions/core": "^3.0.1",
@@ -49,6 +49,16 @@
"semver": "^7.7.4"
}
},
"node_modules/@actions/cache/node_modules/@actions/glob": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.6.1.tgz",
"integrity": "sha512-K4+2Ac5ILcf2ySdJCha+Pop9NcKjxqCL4xL4zI50dgB2PbXgC0+AcP011xfH4Of6b4QEJJg8dyZYv7zl4byTsw==",
"license": "MIT",
"dependencies": {
"@actions/core": "^3.0.0",
"minimatch": "^3.0.4"
}
},
"node_modules/@actions/cache/node_modules/semver": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
@@ -81,13 +91,49 @@
}
},
"node_modules/@actions/glob": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.6.1.tgz",
"integrity": "sha512-K4+2Ac5ILcf2ySdJCha+Pop9NcKjxqCL4xL4zI50dgB2PbXgC0+AcP011xfH4Of6b4QEJJg8dyZYv7zl4byTsw==",
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.7.0.tgz",
"integrity": "sha512-+7s3wM+cXapDLmLL1NVWHawqcJOZzXZy2df/VhNn8DnZtS/x83iTCKaUn9F0llur4h3CII0AilvKKH4CMPL8Gw==",
"license": "MIT",
"dependencies": {
"@actions/core": "^3.0.0",
"minimatch": "^3.0.4"
"minimatch": "^10.2.5"
}
},
"node_modules/@actions/glob/node_modules/balanced-match": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
"license": "MIT",
"engines": {
"node": "18 || 20 || >=22"
}
},
"node_modules/@actions/glob/node_modules/brace-expansion": {
"version": "5.0.9",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
"integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^4.0.2"
},
"engines": {
"node": "20 || >=22"
}
},
"node_modules/@actions/glob/node_modules/minimatch": {
"version": "10.2.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz",
"integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==",
"license": "BlueOak-1.0.0",
"dependencies": {
"brace-expansion": "^5.0.8"
},
"engines": {
"node": "18 || 20 || >=22"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/@actions/http-client": {
@@ -863,9 +909,9 @@
"license": "MIT"
},
"node_modules/@biomejs/biome": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.1.tgz",
"integrity": "sha512-IXWLCxKmae+rI7LOHS1B3EbVisQ6GRAWbhN9msa6KjNCyFWrvKZWR4oUdinaNssrV852OrSHuSPa95h1GPJc7Q==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.7.tgz",
"integrity": "sha512-zr8K/DcY5tYsQOQwqMJ0AWElo6QgmgNI7idXgXLhevVszlt8RGVpesEJPqx3ThazLaOwjJ5Y8fz3BtH5fGZNsw==",
"dev": true,
"license": "MIT OR Apache-2.0",
"bin": {
@@ -879,20 +925,20 @@
"url": "https://opencollective.com/biome"
},
"optionalDependencies": {
"@biomejs/cli-darwin-arm64": "2.5.1",
"@biomejs/cli-darwin-x64": "2.5.1",
"@biomejs/cli-linux-arm64": "2.5.1",
"@biomejs/cli-linux-arm64-musl": "2.5.1",
"@biomejs/cli-linux-x64": "2.5.1",
"@biomejs/cli-linux-x64-musl": "2.5.1",
"@biomejs/cli-win32-arm64": "2.5.1",
"@biomejs/cli-win32-x64": "2.5.1"
"@biomejs/cli-darwin-arm64": "2.5.7",
"@biomejs/cli-darwin-x64": "2.5.7",
"@biomejs/cli-linux-arm64": "2.5.7",
"@biomejs/cli-linux-arm64-musl": "2.5.7",
"@biomejs/cli-linux-x64": "2.5.7",
"@biomejs/cli-linux-x64-musl": "2.5.7",
"@biomejs/cli-win32-arm64": "2.5.7",
"@biomejs/cli-win32-x64": "2.5.7"
}
},
"node_modules/@biomejs/cli-darwin-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.1.tgz",
"integrity": "sha512-npqDzvqv7vFaWRiNN1Te71siRgPaqS9MpqgYCdP/CrUbkJ7ApezaeaKjueKHRN/JH/6lRjJQAHi8acQDCAz22w==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.7.tgz",
"integrity": "sha512-vxo/Ls3/PYdQWyLhYYcgMOCzQypAjcY+iihS8M0wW03l16TCLW4zqZzGo75gm1VdCMj38hTVZ31KBWrZ4G9dJw==",
"cpu": [
"arm64"
],
@@ -907,9 +953,9 @@
}
},
"node_modules/@biomejs/cli-darwin-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.1.tgz",
"integrity": "sha512-RgwTqPAM8g2tn1j+b5oRjF/DbSBX8a4gwojtuG9XuhfK7GgomvZ9+T+tqjXiVbjLEeGJOoL6VEk8mvRTVeSybw==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.7.tgz",
"integrity": "sha512-Cd3Ga61amT/Yl/0x8elP5hhGYaFy4bw6WuysTgf7oo8TA5tJ5A1k+DkVoJ2BHbTVil51gTX9VPzArnrlLJ3Kyg==",
"cpu": [
"x64"
],
@@ -924,9 +970,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.1.tgz",
"integrity": "sha512-yhV35CzZh38VyMvTEXi3JTjxZBs++oCKK9KG8vB6VI5+uvQvZNR3BFWEKKzuOmx9DJJj7sQpZ4LQJcmbGTs3+Q==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.7.tgz",
"integrity": "sha512-rR2QE0yF2GYSuYuKIa7pKvODGJqnOH+2eDREAM8wV+mWKSkMQKdAp4zXEZfTaxY8PMoNONnpgSWcBCyLDPDOKg==",
"cpu": [
"arm64"
],
@@ -941,9 +987,9 @@
}
},
"node_modules/@biomejs/cli-linux-arm64-musl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.1.tgz",
"integrity": "sha512-WMcvMLgByyTqVxGlq918NBBYliq9FRR9GAQVETHb+VjGVqXCZFfHlZHC1FX4ibuYY/Hg6TJE3rHU0xVrdJXNRw==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.7.tgz",
"integrity": "sha512-xPI5yB6XlpDbNkS+bm1t42olw5c4l3UrlOmLg7KtLJvjvkNF/1V4tnUgfkylGIeb3u/T+BzMGYqgQhzjAoJzuQ==",
"cpu": [
"arm64"
],
@@ -958,9 +1004,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.1.tgz",
"integrity": "sha512-J/7uHSX7NfoYDI7HijAkd8lnQIOrRb2W7j3X+tw4R+N5ExvXGsyXFiGdQcfcxfOmNQmZVSQOCDk757fwpzqQcg==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.7.tgz",
"integrity": "sha512-FQgqJhscrqJUFptGaRSUJWlXAExwWcDwLuK49dvKfkQ1bB5SEEyFssnsxQY83Xm6jR0EbbX3+8+D5bfvYqUG2Q==",
"cpu": [
"x64"
],
@@ -975,9 +1021,9 @@
}
},
"node_modules/@biomejs/cli-linux-x64-musl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.1.tgz",
"integrity": "sha512-ANTowtlLmPYm5yeMckWY8Xzb9Ix+JJP3tgHR/n6xRj1VWyIzzWtfRfih9hv9VmClwadpBvZduISZIbBsIlYG3A==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.7.tgz",
"integrity": "sha512-rE5VZi+qtmPgQH+l7jVxYoZ18b/TiHEhulhMpjmCZH1PltSbjRcxNWywC3HZ9tYottG7ORkeTtoscBilKSBm0g==",
"cpu": [
"x64"
],
@@ -992,9 +1038,9 @@
}
},
"node_modules/@biomejs/cli-win32-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.1.tgz",
"integrity": "sha512-zgXnKNgWPC4iPF7Y1lR3STUeCUuZRpD6IiOrC7TZTlh0Lx6FiVUT05myuMQHQ9D+1cc7uyMldi4forE6lp0ivQ==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.7.tgz",
"integrity": "sha512-Oq4x0CCwP4jirrcTywXs5kOGZ4v5vuEP+gWrbtjApOA2CL9F3F9GlIdQIci8AKSCa/zURanMRpX/4wQ7Am6hHg==",
"cpu": [
"arm64"
],
@@ -1009,9 +1055,9 @@
}
},
"node_modules/@biomejs/cli-win32-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.1.tgz",
"integrity": "sha512-6uxpR9hvaglANkZemeSiN/FhYgkGasrEGn267eXIWvjrjJ2LhDlk251IhjVJq6MXzkV2/bcXwLwSroLyPtqRZg==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.7.tgz",
"integrity": "sha512-V+0wu/nrj2S+MhP4EQ0uHNolP0IALEsz45pg0WoKkHfDeh0+ItHwP/p7bX5RPoMOl9NkpHYWdYPhIcy2mACHvQ==",
"cpu": [
"x64"
],
@@ -2145,9 +2191,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "26.1.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz",
"integrity": "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==",
"version": "26.1.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.2.tgz",
"integrity": "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2155,9 +2201,9 @@
}
},
"node_modules/@types/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
"integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==",
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.8.0.tgz",
"integrity": "sha512-1mAINjtQCXXeLkJ9ehXkwOcBpqtLxiVtKhpUf83DdRNdQKV0iXZpaHYqRr7nj+wvxuJzoAmAwXI+sCNMv1CzLQ==",
"dev": true,
"license": "MIT"
},
@@ -4365,9 +4411,9 @@
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
"integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.3.tgz",
"integrity": "sha512-n+mUVyUX5bVv7G/G2zyIHOhdxfuU1dY2NOFzTQUWiMUbFss8b57NFlgCCaggU78wSw5KVS9cllzeLyzyR+n5nw==",
"dev": true,
"funding": [
{
@@ -4994,9 +5040,9 @@
}
},
"node_modules/smol-toml": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
"integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.1.tgz",
"integrity": "sha512-PPlsspAZ4jbMBu5DMFhfUGDQLu/vrL4SyBROVS37x8ynnVmFIs1VPBz1Co8Xks3TvpIaZXmU85y4DrQ+UyVFoQ==",
"license": "BSD-3-Clause",
"engines": {
"node": ">= 18"
@@ -5436,9 +5482,9 @@
}
},
"node_modules/undici": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.3.0.tgz",
"integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q==",
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.10.0.tgz",
"integrity": "sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==",
"license": "MIT",
"engines": {
"node": ">=22.19.0"
@@ -5789,9 +5835,9 @@
},
"dependencies": {
"@actions/cache": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.1.0.tgz",
"integrity": "sha512-LVqybSbzhBp2uAETOQ3HnVjXA4AcjavgMH+LCr+cjgO+PZfciv/1QAgoW+esXBaAhvDid+vXeV70GGJpAh4V5Q==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.2.0.tgz",
"integrity": "sha512-Nv0xWRmbxfDbAn/70flO/F6tj2Nv4XTYMAsQHiDFSojCDfso/Zni+fRKa14ToI9hnmOW/rQcY1WYb6wsM7Pgwg==",
"requires": {
"@actions/core": "^3.0.1",
"@actions/exec": "^3.0.0",
@@ -5804,6 +5850,15 @@
"semver": "^7.7.4"
},
"dependencies": {
"@actions/glob": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.6.1.tgz",
"integrity": "sha512-K4+2Ac5ILcf2ySdJCha+Pop9NcKjxqCL4xL4zI50dgB2PbXgC0+AcP011xfH4Of6b4QEJJg8dyZYv7zl4byTsw==",
"requires": {
"@actions/core": "^3.0.0",
"minimatch": "^3.0.4"
}
},
"semver": {
"version": "7.7.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
@@ -5829,12 +5884,35 @@
}
},
"@actions/glob": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.6.1.tgz",
"integrity": "sha512-K4+2Ac5ILcf2ySdJCha+Pop9NcKjxqCL4xL4zI50dgB2PbXgC0+AcP011xfH4Of6b4QEJJg8dyZYv7zl4byTsw==",
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.7.0.tgz",
"integrity": "sha512-+7s3wM+cXapDLmLL1NVWHawqcJOZzXZy2df/VhNn8DnZtS/x83iTCKaUn9F0llur4h3CII0AilvKKH4CMPL8Gw==",
"requires": {
"@actions/core": "^3.0.0",
"minimatch": "^3.0.4"
"minimatch": "^10.2.5"
},
"dependencies": {
"balanced-match": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="
},
"brace-expansion": {
"version": "5.0.9",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
"integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
"requires": {
"balanced-match": "^4.0.2"
}
},
"minimatch": {
"version": "10.2.6",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.6.tgz",
"integrity": "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==",
"requires": {
"brace-expansion": "^5.0.8"
}
}
}
},
"@actions/http-client": {
@@ -6377,74 +6455,74 @@
"dev": true
},
"@biomejs/biome": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.1.tgz",
"integrity": "sha512-IXWLCxKmae+rI7LOHS1B3EbVisQ6GRAWbhN9msa6KjNCyFWrvKZWR4oUdinaNssrV852OrSHuSPa95h1GPJc7Q==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.7.tgz",
"integrity": "sha512-zr8K/DcY5tYsQOQwqMJ0AWElo6QgmgNI7idXgXLhevVszlt8RGVpesEJPqx3ThazLaOwjJ5Y8fz3BtH5fGZNsw==",
"dev": true,
"requires": {
"@biomejs/cli-darwin-arm64": "2.5.1",
"@biomejs/cli-darwin-x64": "2.5.1",
"@biomejs/cli-linux-arm64": "2.5.1",
"@biomejs/cli-linux-arm64-musl": "2.5.1",
"@biomejs/cli-linux-x64": "2.5.1",
"@biomejs/cli-linux-x64-musl": "2.5.1",
"@biomejs/cli-win32-arm64": "2.5.1",
"@biomejs/cli-win32-x64": "2.5.1"
"@biomejs/cli-darwin-arm64": "2.5.7",
"@biomejs/cli-darwin-x64": "2.5.7",
"@biomejs/cli-linux-arm64": "2.5.7",
"@biomejs/cli-linux-arm64-musl": "2.5.7",
"@biomejs/cli-linux-x64": "2.5.7",
"@biomejs/cli-linux-x64-musl": "2.5.7",
"@biomejs/cli-win32-arm64": "2.5.7",
"@biomejs/cli-win32-x64": "2.5.7"
}
},
"@biomejs/cli-darwin-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.1.tgz",
"integrity": "sha512-npqDzvqv7vFaWRiNN1Te71siRgPaqS9MpqgYCdP/CrUbkJ7ApezaeaKjueKHRN/JH/6lRjJQAHi8acQDCAz22w==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.7.tgz",
"integrity": "sha512-vxo/Ls3/PYdQWyLhYYcgMOCzQypAjcY+iihS8M0wW03l16TCLW4zqZzGo75gm1VdCMj38hTVZ31KBWrZ4G9dJw==",
"dev": true,
"optional": true
},
"@biomejs/cli-darwin-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.1.tgz",
"integrity": "sha512-RgwTqPAM8g2tn1j+b5oRjF/DbSBX8a4gwojtuG9XuhfK7GgomvZ9+T+tqjXiVbjLEeGJOoL6VEk8mvRTVeSybw==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.7.tgz",
"integrity": "sha512-Cd3Ga61amT/Yl/0x8elP5hhGYaFy4bw6WuysTgf7oo8TA5tJ5A1k+DkVoJ2BHbTVil51gTX9VPzArnrlLJ3Kyg==",
"dev": true,
"optional": true
},
"@biomejs/cli-linux-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.1.tgz",
"integrity": "sha512-yhV35CzZh38VyMvTEXi3JTjxZBs++oCKK9KG8vB6VI5+uvQvZNR3BFWEKKzuOmx9DJJj7sQpZ4LQJcmbGTs3+Q==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.7.tgz",
"integrity": "sha512-rR2QE0yF2GYSuYuKIa7pKvODGJqnOH+2eDREAM8wV+mWKSkMQKdAp4zXEZfTaxY8PMoNONnpgSWcBCyLDPDOKg==",
"dev": true,
"optional": true
},
"@biomejs/cli-linux-arm64-musl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.1.tgz",
"integrity": "sha512-WMcvMLgByyTqVxGlq918NBBYliq9FRR9GAQVETHb+VjGVqXCZFfHlZHC1FX4ibuYY/Hg6TJE3rHU0xVrdJXNRw==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.7.tgz",
"integrity": "sha512-xPI5yB6XlpDbNkS+bm1t42olw5c4l3UrlOmLg7KtLJvjvkNF/1V4tnUgfkylGIeb3u/T+BzMGYqgQhzjAoJzuQ==",
"dev": true,
"optional": true
},
"@biomejs/cli-linux-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.1.tgz",
"integrity": "sha512-J/7uHSX7NfoYDI7HijAkd8lnQIOrRb2W7j3X+tw4R+N5ExvXGsyXFiGdQcfcxfOmNQmZVSQOCDk757fwpzqQcg==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.7.tgz",
"integrity": "sha512-FQgqJhscrqJUFptGaRSUJWlXAExwWcDwLuK49dvKfkQ1bB5SEEyFssnsxQY83Xm6jR0EbbX3+8+D5bfvYqUG2Q==",
"dev": true,
"optional": true
},
"@biomejs/cli-linux-x64-musl": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.1.tgz",
"integrity": "sha512-ANTowtlLmPYm5yeMckWY8Xzb9Ix+JJP3tgHR/n6xRj1VWyIzzWtfRfih9hv9VmClwadpBvZduISZIbBsIlYG3A==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.7.tgz",
"integrity": "sha512-rE5VZi+qtmPgQH+l7jVxYoZ18b/TiHEhulhMpjmCZH1PltSbjRcxNWywC3HZ9tYottG7ORkeTtoscBilKSBm0g==",
"dev": true,
"optional": true
},
"@biomejs/cli-win32-arm64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.1.tgz",
"integrity": "sha512-zgXnKNgWPC4iPF7Y1lR3STUeCUuZRpD6IiOrC7TZTlh0Lx6FiVUT05myuMQHQ9D+1cc7uyMldi4forE6lp0ivQ==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.7.tgz",
"integrity": "sha512-Oq4x0CCwP4jirrcTywXs5kOGZ4v5vuEP+gWrbtjApOA2CL9F3F9GlIdQIci8AKSCa/zURanMRpX/4wQ7Am6hHg==",
"dev": true,
"optional": true
},
"@biomejs/cli-win32-x64": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.1.tgz",
"integrity": "sha512-6uxpR9hvaglANkZemeSiN/FhYgkGasrEGn267eXIWvjrjJ2LhDlk251IhjVJq6MXzkV2/bcXwLwSroLyPtqRZg==",
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.7.tgz",
"integrity": "sha512-V+0wu/nrj2S+MhP4EQ0uHNolP0IALEsz45pg0WoKkHfDeh0+ItHwP/p7bX5RPoMOl9NkpHYWdYPhIcy2mACHvQ==",
"dev": true,
"optional": true
},
@@ -7153,18 +7231,18 @@
"dev": true
},
"@types/node": {
"version": "26.1.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz",
"integrity": "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==",
"version": "26.1.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.2.tgz",
"integrity": "sha512-Vu4a5UFA9rIIFJ7rB/Vaafh9lrCQszopTCx6KjFboXTGQbPNasehVR5TEiithSDGyd1DEiUByggTZsg8jukeIg==",
"dev": true,
"requires": {
"undici-types": "~8.3.0"
}
},
"@types/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz",
"integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==",
"version": "7.8.0",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.8.0.tgz",
"integrity": "sha512-1mAINjtQCXXeLkJ9ehXkwOcBpqtLxiVtKhpUf83DdRNdQKV0iXZpaHYqRr7nj+wvxuJzoAmAwXI+sCNMv1CzLQ==",
"dev": true
},
"@types/stack-utils": {
@@ -8627,9 +8705,9 @@
"dev": true
},
"js-yaml": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
"integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.3.tgz",
"integrity": "sha512-n+mUVyUX5bVv7G/G2zyIHOhdxfuU1dY2NOFzTQUWiMUbFss8b57NFlgCCaggU78wSw5KVS9cllzeLyzyR+n5nw==",
"dev": true,
"requires": {
"argparse": "^2.0.1"
@@ -9035,9 +9113,9 @@
"dev": true
},
"smol-toml": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
"integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ=="
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.1.tgz",
"integrity": "sha512-PPlsspAZ4jbMBu5DMFhfUGDQLu/vrL4SyBROVS37x8ynnVmFIs1VPBz1Co8Xks3TvpIaZXmU85y4DrQ+UyVFoQ=="
},
"source-map": {
"version": "0.6.1",
@@ -9303,9 +9381,9 @@
"optional": true
},
"undici": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.3.0.tgz",
"integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q=="
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.10.0.tgz",
"integrity": "sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ=="
},
"undici-types": {
"version": "8.3.0",
+8 -8
View File
@@ -28,25 +28,25 @@
"author": "@eifinger",
"license": "MIT",
"dependencies": {
"@actions/cache": "^6.1.0",
"@actions/cache": "^6.2.0",
"@actions/core": "^3.0.0",
"@actions/exec": "^3.0.0",
"@actions/glob": "^0.6.1",
"@actions/glob": "^0.7.0",
"@actions/io": "^3.0.2",
"@actions/tool-cache": "^4.0.0",
"@renovatebot/pep440": "^5.0.0",
"smol-toml": "^1.7.0",
"undici": "^8.3.0"
"smol-toml": "^1.7.1",
"undici": "^8.10.0"
},
"devDependencies": {
"@biomejs/biome": "^2.5.1",
"@biomejs/biome": "^2.5.7",
"@types/js-yaml": "^4.0.9",
"@types/node": "^26.1.1",
"@types/semver": "^7.7.1",
"@types/node": "^26.1.2",
"@types/semver": "^7.8.0",
"@vercel/ncc": "^0.44.1",
"esbuild": "^0.28.1",
"jest": "^30.4.2",
"js-yaml": "^5.2.1",
"js-yaml": "^5.2.3",
"ts-jest": "^29.4.11",
"typescript": "^6.0.3"
}
+288
View File
@@ -1,5 +1,293 @@
// AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"aarch64-apple-darwin-0.12.4":
"99a913b606194867b43086404412c1afe079547fee72ecfb6af7e7b0dd54b0c6",
"aarch64-pc-windows-msvc-0.12.4":
"3290abffee78c30e3113f5113e26684fd057287e89124a588dcdcdd6ceec0fea",
"aarch64-unknown-linux-gnu-0.12.4":
"49d881b3403187e1f1789720881e77e4251ad4259d86c4844862657d2a35d13f",
"aarch64-unknown-linux-musl-0.12.4":
"04ed16e895b08065720e3d06cde722f0d406b63d116247d5e7776525c41f4972",
"arm-unknown-linux-musleabihf-0.12.4":
"9657ea47619bae9097e92a942694c3bbead7bf37c5ccffa6a0f8b3f08a947dba",
"armv7-unknown-linux-gnueabihf-0.12.4":
"fd9d223afc79a4d116d48269ea8cdc00cdeb0637d028843910650abc037e7c4f",
"armv7-unknown-linux-musleabihf-0.12.4":
"c61f3c109fcb0c9cac2a3c232d50ccd70c422a5d4dae44dab007bdf5c1e64f0d",
"i686-pc-windows-msvc-0.12.4":
"06a4948b908ce93af14c140158e15b5247ae6c8f15db50f3e4c6335bfd08b3fd",
"i686-unknown-linux-gnu-0.12.4":
"bcf9e594c0867f9bfe91b7979cdac38a86bb9f7136ceba259e727af912127f23",
"i686-unknown-linux-musl-0.12.4":
"d4c95044a507046f1ce9efdd00fb6873432a7d582a29d22febad26d92551586a",
"powerpc64le-unknown-linux-gnu-0.12.4":
"6028a1744a7c07d789f21cf4c1574bb4bfe40f2980ac411af5bcbaeac32b0094",
"riscv64gc-unknown-linux-gnu-0.12.4":
"dca9b15d76b5547987fc6b08fc1ea14e49773d9434b52825c68397c53896a139",
"riscv64gc-unknown-linux-musl-0.12.4":
"cc481ddf7f9d09491b83defa9a221e1410f7a4b1ea160687e201815ba1d91a7a",
"s390x-unknown-linux-gnu-0.12.4":
"9c6eea6ed43d8753e7eb26489a73ac060012e1a2485992955dd82a3b10b47acb",
"x86_64-apple-darwin-0.12.4":
"e603f1eb634ca97a2a125539b983891f53235e901511ed10c32c08c86e253ecd",
"x86_64-pc-windows-msvc-0.12.4":
"4f3b7d63cd81fca0da5a655d973d20affca89ce6e5f9a29fd0183cc4204a7639",
"x86_64-unknown-linux-gnu-0.12.4":
"c8c60f47e6f88d18dbf6f33d7279fb1fbf7ae76631768152cf5578c3d65729b4",
"x86_64-unknown-linux-musl-0.12.4":
"7aef04898775585d636424e52053e5328f2b1779175d5cb47665ff9d7524e8e7",
"aarch64-apple-darwin-0.12.3":
"546f7f8a6c70ff13a3a9d2bc958db3427298cebf3e0cb756f9177133b7068843",
"aarch64-pc-windows-msvc-0.12.3":
"4343217d668727b8a8eb5cad92389a1d2eeead93c89940d1b955ba1bb15462eb",
"aarch64-unknown-linux-gnu-0.12.3":
"bb66cb52e7b1823aed1183630d8d8e5c958840d584a4c55ec10a4cfc168dcca2",
"aarch64-unknown-linux-musl-0.12.3":
"fa513fca1eb2913334c944fe9adbdd410274a1cbe8dd05d03699a9eb85311d4e",
"arm-unknown-linux-musleabihf-0.12.3":
"44c4c43969c0e58945c7954b033a99916355acef558decf6a9a0b090a6e0465b",
"armv7-unknown-linux-gnueabihf-0.12.3":
"f572e3b8496f2069e102fd02fb346d7b2fbe0cba6edf0013575cfe79322e4ad0",
"armv7-unknown-linux-musleabihf-0.12.3":
"771c35fc4de5ea1e115ddab3147439498f30572be38fa2ff5c2dabb2258faa90",
"i686-pc-windows-msvc-0.12.3":
"8b1e428b1f5acfd5ba6bf490a7205b4f9149a27a0d9cbd1487243fd8e3d8a80b",
"i686-unknown-linux-gnu-0.12.3":
"0205eb65e8b39419616acbdad139718b59ea2a17869dea49bf7a5e3cf5aae1eb",
"i686-unknown-linux-musl-0.12.3":
"981619b5cf63a1bbab8eaf011aaac9d511db6ec0ac2618d59e36b9ccd95e8f99",
"powerpc64le-unknown-linux-gnu-0.12.3":
"bff188fcf2d867c5595f8db6061a39e54752ab213eaefc14287f37e85afe9ead",
"riscv64gc-unknown-linux-gnu-0.12.3":
"84d0d7d1359c432545b5717b5d7ba97465d694e13bd80646e04769b54890037d",
"riscv64gc-unknown-linux-musl-0.12.3":
"1b3ee81808a381bb0a83deb697c9612a5a48c47b9d98f6043c924600f2bf1321",
"s390x-unknown-linux-gnu-0.12.3":
"c6d0d036c4250bd28554c78b411b711ff9367a7dd12f241a27f5b7d43f549ae3",
"x86_64-apple-darwin-0.12.3":
"4c9f52262a14da336e4a42ed24992d12d0c956acde87619e4611d321dffa602b",
"x86_64-pc-windows-msvc-0.12.3":
"b23350c79e8ad0192b8124af13a0f17e8d4e4549524785e1aef389ae5a06990e",
"x86_64-unknown-linux-gnu-0.12.3":
"600cf9a742aca00d292673b16b5acffaa7b8c269a364ad0c2e79498dcb1fe101",
"x86_64-unknown-linux-musl-0.12.3":
"0643b9fb8c9fb27458e709ce6ff939695013c41975ff7b02d3f3b138d8d4bdb3",
"aarch64-apple-darwin-0.12.2":
"fa909fea3bc06f460db79017030a221fdbc43ec4478f089cb554d8335c090817",
"aarch64-pc-windows-msvc-0.12.2":
"dccc2bb7724c015f2a82467dee5bf4b2353a3fcdbfdfb30e0f93cdf5db2dd1df",
"aarch64-unknown-linux-gnu-0.12.2":
"19b7f1f66895261fbaa07f8ea91da0f86337ad4e47efa594e87641c1718ffc52",
"aarch64-unknown-linux-musl-0.12.2":
"73b87f0d65d7dfcd39753a51ce65592360b02c29f8e1bc2c85cc4190fe914499",
"arm-unknown-linux-musleabihf-0.12.2":
"4e27dfadda93c82dd85c2de29b7fd6417ea74c430bfbc52833ea9580c8c16d04",
"armv7-unknown-linux-gnueabihf-0.12.2":
"0536e78e9796394fa135102c7500f24a291aaf9fbf129b70add472b6dcf42a4b",
"armv7-unknown-linux-musleabihf-0.12.2":
"5e10ffda5760511a16c0d5a9b2c28ebaed864dfa34e73fddcf0f600cf125cfee",
"i686-pc-windows-msvc-0.12.2":
"e2037092f25370ecbd8827b1d91650a9fbf002548ae647aea39073c6bbe45384",
"i686-unknown-linux-gnu-0.12.2":
"659b83b91a329a6bf5fbb412ea61262640b9bf15f07b6208334bd7a379c0dbf0",
"i686-unknown-linux-musl-0.12.2":
"b57cc4b2bd5e1cc20253222add0d377a5398c2bafc93611bd2a4438ac8e21f9c",
"powerpc64le-unknown-linux-gnu-0.12.2":
"0e135c0fddbd303297a847016ea3cb60fdacebed20bd87200a3537cfb67d4d46",
"riscv64gc-unknown-linux-gnu-0.12.2":
"cc348cecc84695394721e2fc1e0c4fd5b9a052d4eeeba57b194929c719d5681e",
"riscv64gc-unknown-linux-musl-0.12.2":
"a0e9a9d99e0f2cc39b645aecdabe27e308074b1d3dc2afdd507433528c97e701",
"s390x-unknown-linux-gnu-0.12.2":
"78797ad74c948950181b607be0989b1d5926a2096d81def4238192c95ff47aeb",
"x86_64-apple-darwin-0.12.2":
"a6e6506a9109801222d65d17461abf4ed13bdecc5d2b13af0495418a82972c6b",
"x86_64-pc-windows-msvc-0.12.2":
"01442d8ce5c7124151a73e697c836d252c6da853c18c73206d3cc4c2378a91d2",
"x86_64-unknown-linux-gnu-0.12.2":
"d66e96b5f1ca3b99806eee283a8125d33a0bd669e6e6d9bc4ab7ffda63c41bf4",
"x86_64-unknown-linux-musl-0.12.2":
"2dbe8209c9592f6d1009b8565f4bf29813427907bee2236023c013101ede343f",
"aarch64-apple-darwin-0.12.1":
"77d2906988e8074fd43f2f329ec452ebbf9b0c257ba1c66451c71de70a6baf42",
"aarch64-pc-windows-msvc-0.12.1":
"9bc7c18e616230fa2dc6fb24bc3afde18a95c2b5c9433de747e9502c66041568",
"aarch64-unknown-linux-gnu-0.12.1":
"769d373e146692c639b5fbaae33b331c297a32e03d30448772051902df52bbf4",
"aarch64-unknown-linux-musl-0.12.1":
"ce218dad9eb48a39dd86160bec6291fac7275f20a9cabcc4bc10dd2c757208f8",
"arm-unknown-linux-musleabihf-0.12.1":
"fba356be49629c5e0c0270fb3c55def0d83a7abe014ea857b13d14e0cbeabbbc",
"armv7-unknown-linux-gnueabihf-0.12.1":
"bfca453bdf4ea6ce149f9d5be0589fc2e17a22d434c66c2f374a802dabb13cb5",
"armv7-unknown-linux-musleabihf-0.12.1":
"0cb3e6ccfedce3cf3f5f95e3a5ddb32977f54025ea74f91993072ebcf91f9df2",
"i686-pc-windows-msvc-0.12.1":
"9b51c33d307a8ab9e9dfd88d4ae1491761f63de0bffa3cec96bec536491c9b97",
"i686-unknown-linux-gnu-0.12.1":
"4c6f5d77215cf40ddd388215dfdac46471d074aeba62163f3e7fab6892645f95",
"i686-unknown-linux-musl-0.12.1":
"be4d42582284456dae2ff4bf622c4169d1e6b8d1cd0e516658d6ba01f2a57dfa",
"powerpc64le-unknown-linux-gnu-0.12.1":
"9f3ebd5e5ce0f7a212a8d1326995612896cdcaa4ef571194d3b061a2d0d4d92e",
"riscv64gc-unknown-linux-gnu-0.12.1":
"dda637a8f2f11b73a3e8da35c7909772beb49799aea61bacb04c2e7d2455b939",
"riscv64gc-unknown-linux-musl-0.12.1":
"31806babab570f6cab8bfdaaaf6890360f1efa4e122372ad73193b70326b8f83",
"s390x-unknown-linux-gnu-0.12.1":
"58132e9675680eb952b9794206a7ee98b528c1e664e6f80f55fb4972ffb7f269",
"x86_64-apple-darwin-0.12.1":
"69d9f9a00337f25a50dcb13882052da08b8469bac11091c98c5694c3c6721467",
"x86_64-pc-windows-msvc-0.12.1":
"8fcb0cb46e1229065e344758980924e569bef5882ef45f46fada8fb24e06b74a",
"x86_64-unknown-linux-gnu-0.12.1":
"90b2f223fb69d19db49e117da601f64978593417988530aa733d456141b4bcbb",
"x86_64-unknown-linux-musl-0.12.1":
"47823f814693bab8623308341369190de30b5c621eec5b1ee20352eae8c7982c",
"aarch64-apple-darwin-0.12.0":
"2b9e582af54f84fa50c115427451a6c13e80f43b52f8282b8af5791077317bbf",
"aarch64-pc-windows-msvc-0.12.0":
"60c12dc34a8ff0269d7744a3a94506fa8f140618a82194b7bf7834fa789a765b",
"aarch64-unknown-linux-gnu-0.12.0":
"2c5d6e3092cc5223b10ff403880cc75121bf64e84644e7a0c69f643b0d89ac95",
"aarch64-unknown-linux-musl-0.12.0":
"936fbbf20188a2b1c66bce3dca3f4009a5c9cdf12bb2bbd084e71926f75d6a15",
"arm-unknown-linux-musleabihf-0.12.0":
"b5879d87fe1fd7a3c8fb27346339222acc5628000002024e7f4d114f1e67a55d",
"armv7-unknown-linux-gnueabihf-0.12.0":
"a84cc572bf83d82c9fb6ce6aaed37da98789420a84f6f754b80ba519d8683345",
"armv7-unknown-linux-musleabihf-0.12.0":
"d4a3383585057824e16fa7f0b24e9f0fecf4b37d29e6d4c7f26b76a5959116e3",
"i686-pc-windows-msvc-0.12.0":
"4b7f9319eeb79a8e6204952742ac5ef6a56a096dc9438f416bfa60a374d6e94d",
"i686-unknown-linux-gnu-0.12.0":
"9399d51a33779007692e84e0395a78af7adfd21f2cc10da16ea2c9b6ad7dc260",
"i686-unknown-linux-musl-0.12.0":
"7a1994b07077bd67ef76dab2107dfad576436951993969a93067f3217f7fa1fb",
"powerpc64le-unknown-linux-gnu-0.12.0":
"9a4a9b50a27111545b16821449f79fa646bad4b14f0811d6f70ad77f627983a2",
"riscv64gc-unknown-linux-gnu-0.12.0":
"a55f970e88e7acb73a21a9efe892caff40e1a7b928770a2b844fdd7d74d8070e",
"riscv64gc-unknown-linux-musl-0.12.0":
"01253909dec1d5cdd836f52ed70a2fc1a7017ec723a724b7315b55f2025728a1",
"s390x-unknown-linux-gnu-0.12.0":
"3737b6d3fe7100ade46df0aae3d59564e7bbbb2fcb926186209e103e942535ab",
"x86_64-apple-darwin-0.12.0":
"d41593beaefc54bab7d062af0ef6ca093bfb81d001d58ebbef39e44423f9c496",
"x86_64-pc-windows-msvc-0.12.0":
"68200e25de594df92387186bbfb9d9df606ec1d87efaa0ae0c7f690970e53db6",
"x86_64-unknown-linux-gnu-0.12.0":
"eaf842262aa1c418d8ecc5605f02ee1ebfd369124fa48548e85f9481a47831a9",
"x86_64-unknown-linux-musl-0.12.0":
"3340a9d8cffc4d801bc1a7459ebfaf5790c79400720d9b6963d806f058526684",
"aarch64-apple-darwin-0.11.33":
"d75e3d2bfc203d17388edaabd3aa37958edbcbfc36219e3ee0d31bb080b4baa2",
"aarch64-pc-windows-msvc-0.11.33":
"6eb261d3ad61b35e2a6cfd997b296b908ff74d6199717eca81c3c73e1df7fbc7",
"aarch64-unknown-linux-gnu-0.11.33":
"9ed88a9a42de3102f9704d021ab186fdf8a69a7ad9a1d3f3486ac6b1e55d6141",
"aarch64-unknown-linux-musl-0.11.33":
"e256e5cf23f8c2e7d4d83f029acd662cbe7275ff24268ce1d6d2ba9016855268",
"arm-unknown-linux-musleabihf-0.11.33":
"8c973de331a13f83a1b9bc358b6e7bfa5e5e1f015ff93545dc04839c868e20fe",
"armv7-unknown-linux-gnueabihf-0.11.33":
"5446f812e7f5512198adaf60d2c66672a41d9676e86686819222baef021bce5b",
"armv7-unknown-linux-musleabihf-0.11.33":
"9e0f6904f62997e34ee8795d615ba2974f31b0461674572d05859ba0b9402290",
"i686-pc-windows-msvc-0.11.33":
"10b09a49823dd561bb4ececee1eea2c29cb58982f7253865ec27d23fd131daa7",
"i686-unknown-linux-gnu-0.11.33":
"b5b82a4eedf863f855acba77bb51fc7c1f399b276fdbfdff63edf35bb2a2fdfb",
"i686-unknown-linux-musl-0.11.33":
"af050631909811e945a9a8b087cc071038bfe25cfa5ff0b7afd17fb468522f43",
"powerpc64le-unknown-linux-gnu-0.11.33":
"eee721adf229681b98cdd868d4991886bd91527ecbdb6fa778feb79f46d4be75",
"riscv64gc-unknown-linux-gnu-0.11.33":
"bbb1fc2e25beb8bf0ee4342e70bb0caacb74a7503a02e04cb009aff28a182cfd",
"riscv64gc-unknown-linux-musl-0.11.33":
"ff4d248fff98c1c6ea12088ae002c07b861278bfc2c41e31ac0ecc1795ddb2f0",
"s390x-unknown-linux-gnu-0.11.33":
"bbb4740bd2596d2da979ad721258761fa0d4c5bb6ed151356c2146c150edfd21",
"x86_64-apple-darwin-0.11.33":
"f1b919f740bd6be1d014ff58c4271b0779a32198adfb19ad9c5d1c4d9b2b4301",
"x86_64-pc-windows-msvc-0.11.33":
"c253ce868ad48d29327b661452ce184c9e333e6d6f5bc8d6fcfbf4dd52b83442",
"x86_64-unknown-linux-gnu-0.11.33":
"aa9fca823c03289fb6e3460b3dc864f3ea895cafaf9b99247701a67b17d1b018",
"x86_64-unknown-linux-musl-0.11.33":
"3e95b84d8a8b3390c91584d4fd0c4d326e951da2b8fb15a76719368af2795424",
"aarch64-apple-darwin-0.11.32":
"ed336d0ba49db8ef89b2b41fffa372ce63bd032f22a56f001c265891aec32829",
"aarch64-pc-windows-msvc-0.11.32":
"a7427ea0440bb826b6716d1837ff3d173b8e7d496cb09ee8f456b4e023a2fdcd",
"aarch64-unknown-linux-gnu-0.11.32":
"4d4fa08d95b06642e5800df6a22bd71455f23f988269e18da2847971d8c0bf31",
"aarch64-unknown-linux-musl-0.11.32":
"d70cdae687feb6aad9a09fe8d686df8c8efaf69a1007fa581379a2025adc10a5",
"arm-unknown-linux-musleabihf-0.11.32":
"43b1c42483d15e94747699b5f718e829144d2b1b117e1c1658742e73d05527a3",
"armv7-unknown-linux-gnueabihf-0.11.32":
"593e0f6b92cef908b23e3e3e0da2fd8ae24392afdb70eed05651869fea4a1b02",
"armv7-unknown-linux-musleabihf-0.11.32":
"cc169fc42b63970cb0cc10a1658c9833e79a5bfde8915ec5f6f5316d9e0cb95f",
"i686-pc-windows-msvc-0.11.32":
"e54e814a3963af3af607940f142169312d7550d44db8e2daa2bf6c524554ac3c",
"i686-unknown-linux-gnu-0.11.32":
"d4c53923c44dd060a42dbc6b88e349c86676d779b01603329d8c6b8f916e74cd",
"i686-unknown-linux-musl-0.11.32":
"7704bf0270e1ef8421608c585e8016411a625314125fce473e01446fdcb1fcf3",
"powerpc64le-unknown-linux-gnu-0.11.32":
"0afff437b499f5919045fd0095b52dec18d818771f9a6bd0be0ff027b427fb16",
"riscv64gc-unknown-linux-gnu-0.11.32":
"f10954d2263d407f6ffa6bfdd458d0fc0918f097f851ca3cf4907d4f7ebf2dae",
"riscv64gc-unknown-linux-musl-0.11.32":
"3c58fc5e82589a77b2409a6c308f1a55361c29130cb3ff239e850d413433f97f",
"s390x-unknown-linux-gnu-0.11.32":
"9922ba31cd582f4d762ac88a3cfdf339be599063c689c64c36916f04139ed43d",
"x86_64-apple-darwin-0.11.32":
"77f5ca26c0de20e992a3677a174fe1121ee25c36f9b1434a863f75bf077a05eb",
"x86_64-pc-windows-msvc-0.11.32":
"acfde570451cfdb8689fa159a138ee805ba4e241c466432750302c86254b0984",
"x86_64-unknown-linux-gnu-0.11.32":
"aab924fd522efd06f1c5f3b93a243864fc453132c94b2dc49f1371b528a4b967",
"x86_64-unknown-linux-musl-0.11.32":
"1fd052f196108d87e61fc3d98fe06b4ec758c9a1eb1466a6fd1a436fe45885f2",
"aarch64-apple-darwin-0.11.31":
"b2b93e82a6786f9c7cb89fd4ca0e859a147b292ae8f6f95784f9742f0efec39e",
"aarch64-pc-windows-msvc-0.11.31":
"060da44c6474680ce9ed31f866a496cb06979dbea86de8fe24e0f22c48ac992b",
"aarch64-unknown-linux-gnu-0.11.31":
"d74f23949fd07be4970f293d06ca99d87cd2a78a341c3d7b7fc0df7bc2d8a145",
"aarch64-unknown-linux-musl-0.11.31":
"49cb5ffce40cc9c85355caa8104f7b61c40a8daac7334f4bc841cad1a7bb359e",
"arm-unknown-linux-musleabihf-0.11.31":
"0f71f9f2b37d1f82dd225662b3ecb10c3ff114a5828819173015dbc86d2fa0dd",
"armv7-unknown-linux-gnueabihf-0.11.31":
"de23124095c4df154d3807495b59f1985d8d9460bd70d3de61fef2034756bd61",
"armv7-unknown-linux-musleabihf-0.11.31":
"9cb5373c1c2e6939077dcc60723a79dc348dd3c9942f2559d19696d16ac34990",
"i686-pc-windows-msvc-0.11.31":
"4b4d07862b81275ea1a507d5e80774b0f38502493f854cbb585a987c0155d627",
"i686-unknown-linux-gnu-0.11.31":
"85c71ad3f7c189e77bef0d94bcc3c1cbf8792695efe616dec86a389fbb1ee72b",
"i686-unknown-linux-musl-0.11.31":
"160a9e19934879492f5b92c8eb132b39ee19858a406c9f3224c05c7b7cd70e59",
"powerpc64le-unknown-linux-gnu-0.11.31":
"43e21695092a3c58aa3d364c139bbeab838baba662f0e9f37aa78e52305289e3",
"riscv64gc-unknown-linux-gnu-0.11.31":
"7fa2c496e1ca94c7bcfcc9361f7928c4126d63fc4588dee4c8a2465332b60636",
"riscv64gc-unknown-linux-musl-0.11.31":
"b300fe07dd1fb98e8608277d7b822ff637e25ee839674645f7ddcbc42199a39b",
"s390x-unknown-linux-gnu-0.11.31":
"42114face40b846720980dc3f6e2c1b4676d8bf56c8c551586b249be9137cb84",
"x86_64-apple-darwin-0.11.31":
"33ee6bd62b57fcd77a499deb54e4432dc1e1a2f3d34930ba987ad8b43f9c7bc7",
"x86_64-pc-windows-msvc-0.11.31":
"410c2fd3126ff621c9450a21cfc200002c7540dc48d130069a8f619cdb0a811b",
"x86_64-unknown-linux-gnu-0.11.31":
"8cc1cd82d434ec565376f98bd938d4b715b5791a80ff2d3aa78821cf85091b4b",
"x86_64-unknown-linux-musl-0.11.31":
"89048b7e30a6c459fa7e8f2e91cfdc413dc004dcbddc6c2af5e09df123e3246d",
"aarch64-apple-darwin-0.11.30":
"9bed3567d496d8dab84ecf7a1247551ac94ef1baaebb7b65df008dd93e9dc357",
"aarch64-pc-windows-msvc-0.11.30":
+23
View File
@@ -0,0 +1,23 @@
import * as semver from "semver";
import { KNOWN_CHECKSUMS } from "./known-checksums";
const VERSION_IN_CHECKSUM_KEY_PATTERN =
/-(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)$/;
export function getLatestKnownVersion(): string {
const versions = new Set<string>();
for (const key of Object.keys(KNOWN_CHECKSUMS)) {
const version = key.match(VERSION_IN_CHECKSUM_KEY_PATTERN)?.[1];
if (version !== undefined) {
versions.add(version);
}
}
const latestVersion = [...versions].sort(semver.rcompare)[0];
if (!latestVersion) {
throw new Error("Could not determine latest known version from checksums.");
}
return latestVersion;
}
+21 -2
View File
@@ -31,6 +31,7 @@ interface CachedManifest {
}
const cachedManifestData = new Map<string, CachedManifest>();
export const MANIFEST_FETCH_ATTEMPTS = 3;
export async function fetchManifest(
manifestUrl: string = VERSIONS_MANIFEST_URL,
@@ -166,8 +167,26 @@ export function clearManifestCache(manifestUrl?: string): void {
}
async function fetchManifestResponse(manifestUrl: string) {
log.info(`Fetching manifest data from ${manifestUrl} ...`);
const response = await fetch(manifestUrl, {});
let response: Awaited<ReturnType<typeof fetch>> | undefined;
for (let attempt = 1; attempt <= MANIFEST_FETCH_ATTEMPTS; attempt++) {
log.info(`Fetching manifest data from ${manifestUrl} ...`);
try {
response = await fetch(manifestUrl, {});
break;
} catch (error) {
if (attempt >= MANIFEST_FETCH_ATTEMPTS) {
throw error;
}
const delayMs = 1_000 * 2 ** (attempt - 1);
log.info(`Manifest fetch failed; retrying in ${delayMs}ms ...`);
await new Promise((resolve) => setTimeout(resolve, delayMs));
}
}
if (response === undefined) {
throw new Error("Manifest fetch attempts exhausted.");
}
if (!response.ok) {
throw new Error(
`Failed to fetch manifest data: ${response.status} ${response.statusText}`,
+2 -27
View File
@@ -1,6 +1,6 @@
import * as core from "@actions/core";
import * as semver from "semver";
import { KNOWN_CHECKSUMS } from "./download/checksum/known-checksums";
import { getLatestKnownVersion } from "./download/checksum/known-version";
import {
type ChecksumEntry,
updateChecksums,
@@ -12,9 +12,6 @@ import {
} from "./download/manifest";
import * as log from "./utils/logging";
const VERSION_IN_CHECKSUM_KEY_PATTERN =
/-(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)$/;
async function run(): Promise<void> {
const checksumFilePath = process.argv.slice(2)[0];
if (!checksumFilePath) {
@@ -24,7 +21,7 @@ async function run(): Promise<void> {
}
const latestVersion = await getLatestVersion();
const latestKnownVersion = getLatestKnownVersionFromChecksums();
const latestKnownVersion = getLatestKnownVersion();
if (semver.lte(latestVersion, latestKnownVersion)) {
log.info(
@@ -40,28 +37,6 @@ async function run(): Promise<void> {
core.setOutput("latest-version", latestVersion);
}
function getLatestKnownVersionFromChecksums(): string {
const versions = new Set<string>();
for (const key of Object.keys(KNOWN_CHECKSUMS)) {
const version = extractVersionFromChecksumKey(key);
if (version !== undefined) {
versions.add(version);
}
}
const latestVersion = [...versions].sort(semver.rcompare)[0];
if (!latestVersion) {
throw new Error("Could not determine latest known version from checksums.");
}
return latestVersion;
}
function extractVersionFromChecksumKey(key: string): string | undefined {
return key.match(VERSION_IN_CHECKSUM_KEY_PATTERN)?.[1];
}
function extractChecksumsFromManifest(
versions: ManifestVersion[],
): ChecksumEntry[] {
+46 -2
View File
@@ -1,5 +1,7 @@
import fs from "node:fs";
import path from "node:path";
import * as core from "@actions/core";
import { getPythonVersionFromToolVersions } from "../version/tool-versions-file";
import { getConfigValueFromTomlFile } from "./config-file";
import * as log from "./logging";
@@ -51,7 +53,7 @@ export function loadInputs(): SetupInputs {
const workingDirectory = core.getInput("working-directory");
const version = core.getInput("version");
const versionFile = getVersionFile(workingDirectory);
const pythonVersion = core.getInput("python-version");
const pythonVersion = getPythonVersion(versionFile);
const activateEnvironment = core.getBooleanInput("activate-environment");
const noProject = core.getBooleanInput("no-project");
const venvPath = getVenvPath(workingDirectory, activateEnvironment);
@@ -122,6 +124,28 @@ function getVersionFile(workingDirectory: string): string {
return versionFileInput;
}
function getPythonVersion(versionFile: string): string {
const pythonVersionInput = core.getInput("python-version");
if (pythonVersionInput !== "") {
return pythonVersionInput;
}
if (process.env.UV_PYTHON !== undefined && process.env.UV_PYTHON !== "") {
return "";
}
if (versionFile === "" || !fs.existsSync(versionFile)) {
return "";
}
try {
return getPythonVersionFromToolVersions(versionFile) ?? "";
} catch (err) {
log.warning(
`Error while parsing Python version from ${versionFile}: ${(err as Error).message}`,
);
return "";
}
}
function getVenvPath(
workingDirectory: string,
activateEnvironment: boolean,
@@ -140,7 +164,27 @@ function getVenvPath(
function getEnableCache(): boolean {
const enableCacheInput = core.getInput("enable-cache");
if (enableCacheInput === "auto") {
return process.env.RUNNER_ENVIRONMENT === "github-hosted";
if (process.env.RUNNER_ENVIRONMENT !== "github-hosted") {
return false;
}
const eventName = process.env.GITHUB_EVENT_NAME;
const isTagPush =
eventName === "push" && process.env.GITHUB_REF?.startsWith("refs/tags/");
if (isTagPush) {
log.info("Caching is disabled for tag pushes");
return false;
}
if (
eventName === "pull_request_target" ||
eventName === "workflow_run" ||
eventName === "release"
) {
log.info(`Caching is disabled for the ${eventName} event`);
return false;
}
return true;
}
return enableCacheInput === "true";
}
+5
View File
@@ -2,6 +2,7 @@ import * as core from "@actions/core";
import * as tc from "@actions/tool-cache";
import * as pep440 from "@renovatebot/pep440";
import * as semver from "semver";
import { getLatestKnownVersion } from "../download/checksum/known-version";
import {
getAllVersions,
getFirstMatchingVersion,
@@ -143,6 +144,10 @@ export async function resolveVersion(
): Promise<string> {
core.debug(`Resolving version: ${versionInput}`);
if (versionInput.trim() === "latest-known") {
return getLatestKnownVersion();
}
const context: ConcreteVersionResolutionContext = {
manifestUrl,
parsedSpecifier: parseVersionSpecifier(versionInput),
+69 -14
View File
@@ -4,28 +4,83 @@ import * as core from "@actions/core";
export function getUvVersionFromToolVersions(
filePath: string,
): string | undefined {
const versions = getToolVersions(filePath, "uv");
if (versions === undefined || versions.length !== 1) {
return undefined;
}
const version = stripVersionPrefix(versions[0]);
if (isPath(version)) {
core.warning(
`The uv version ${versions[0]} in .tool-versions is not supported. Paths are not allowed.`,
);
return undefined;
}
if (version.startsWith("ref")) {
core.warning(
"The ref syntax of .tool-versions is not supported. Please use a released version instead.",
);
return undefined;
}
return version;
}
export function getPythonVersionFromToolVersions(
filePath: string,
): string | undefined {
const versions = getToolVersions(filePath, "python");
if (versions === undefined || versions.length === 0) {
return undefined;
}
if (versions.length > 1) {
core.warning(
"Multiple Python versions in .tool-versions are not supported. The Python entry will be ignored.",
);
return undefined;
}
const version = stripVersionPrefix(versions[0]);
if (
version === "system" ||
version.startsWith("ref:") ||
version.startsWith("path:") ||
isPath(version)
) {
core.warning(
`The Python version ${versions[0]} in .tool-versions is not supported. The Python entry will be ignored.`,
);
return undefined;
}
return version;
}
function getToolVersions(
filePath: string,
toolName: string,
): string[] | undefined {
if (!filePath.endsWith(".tool-versions")) {
return undefined;
}
const fileContents = fs.readFileSync(filePath, "utf8");
const lines = fileContents.split("\n");
for (const line of lines) {
// Skip commented lines
if (line.trim().startsWith("#")) {
for (const line of fileContents.split("\n")) {
const content = line.split("#", 1)[0].trim();
if (content === "") {
continue;
}
const match = line.match(/^\s*uv\s*v?\s*(?<version>[^\s]+)\s*$/);
if (match) {
const matchedVersion = match.groups?.version.trim();
if (matchedVersion?.startsWith("ref")) {
core.warning(
"The ref syntax of .tool-versions is not supported. Please use a released version instead.",
);
return undefined;
}
return matchedVersion;
const [tool, ...versions] = content.split(/\s+/);
if (tool === toolName) {
return versions;
}
}
return undefined;
}
function stripVersionPrefix(version: string): string {
return version.startsWith("v") ? version.slice(1) : version;
}
function isPath(version: string): boolean {
return version.includes("/") || version.includes("\\");
}