Compare commits

..

8 Commits

Author SHA1 Message Date
dependabot[bot]
d51e4923d7 chore(deps): bump release-drafter/release-drafter from 7.3.1 to 7.4.0
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 7.3.1 to 7.4.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](693d20e7c1...ed4bc48ec9)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-version: 7.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-23 10:52:40 +00:00
github-actions[bot]
e53da17296 chore: update known checksums for 0.11.23 (#922)
chore: update known checksums for 0.11.23

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-06-23 08:54:47 +02:00
github-actions[bot]
a9b33f0240 chore: update known checksums for 0.11.22 (#921)
chore: update known checksums for 0.11.22

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-06-19 08:02:13 +02:00
somaz
3faa3174e6 feat: support uv.lock as a version-file source (#918)
Adds `uv.lock` as a supported `version-file` source. When `uv` is locked
as a
dependency in `uv.lock`, the action now installs the exact pinned
version,
closing the gap reported in #682.

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

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

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

related: #682
2026-06-19 07:08:57 +02:00
github-actions[bot]
ca5ddd015e chore: update known checksums for 0.11.21 (#917)
chore: update known checksums for 0.11.21

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-06-12 07:54:16 +02:00
github-actions[bot]
e2f6a928de chore: update known checksums for 0.11.20 (#915)
chore: update known checksums for 0.11.20

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-06-11 08:28:31 +02:00
Hans Gaiser
ed73b5df24 fix: use BUILD_ID as backup for determining os version (#912)
On Arch Linux based runners, the setup fails with because
`/etc/os-release` does not contain `VERSION_ID` or `VERSION_CODENAME`.
It does contain a `BUILD_ID` which is set to `rolling`:

```sh
$ cat /etc/os-release
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
```

This PR makes `getLinuxOSNameVersion` return `arch-rolling`.

There is no update from arch that would change the returned value, so
the same cache will always be used. Is this an issue? I'm not sure. At
least it's better than crashing because `os-release` does not contain
the expected values :).
2026-06-09 13:12:37 +02:00
github-actions[bot]
21d5da3bc3 chore: update known checksums for 0.11.19 (#909)
chore: update known checksums for 0.11.19

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-06-04 07:53:58 +02:00
13 changed files with 494 additions and 13 deletions

View File

@@ -19,7 +19,7 @@ jobs:
pull-requests: read
steps:
- name: 🚀 Run Release Drafter
uses: release-drafter/release-drafter@693d20e7c1ce1a81d3a41962f85914253b518449 # v7.3.1
uses: release-drafter/release-drafter@ed4bc48ec97379be2258e7b7ac2624a3e26ab809 # v7.4.0
with:
commitish: ${{ github.sha }}
env:

View File

@@ -47,7 +47,7 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
# The version of uv to install (default: searches for version in config files, then latest)
version: ""
# Path to a file containing the version of uv to install (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 (default: searches uv.toml then pyproject.toml)
version-file: ""
# Resolution strategy when resolving version ranges: 'highest' or 'lowest'

View File

@@ -0,0 +1,36 @@
import { describe, expect, it } from "@jest/globals";
import { getUvVersionFromUvLockContent } from "../../src/version/uv-lock-file";
const UV_LOCK = `version = 1
requires-python = ">=3.12"
[[package]]
name = "anyio"
version = "4.6.0"
source = { registry = "https://pypi.org/simple" }
[[package]]
name = "uv"
version = "0.8.17"
source = { registry = "https://pypi.org/simple" }
`;
describe("getUvVersionFromUvLockContent", () => {
it("returns the exact uv version locked in uv.lock", () => {
expect(getUvVersionFromUvLockContent(UV_LOCK)).toBe("0.8.17");
});
it("returns undefined when uv is not a locked package", () => {
const content = `version = 1
[[package]]
name = "anyio"
version = "4.6.0"
`;
expect(getUvVersionFromUvLockContent(content)).toBeUndefined();
});
it("returns undefined when there are no packages", () => {
expect(getUvVersionFromUvLockContent("version = 1\n")).toBeUndefined();
});
});

View File

@@ -63,6 +63,24 @@ describe("resolveVersionRequest", () => {
});
});
it("uses the exact uv version locked in uv.lock when it is passed via version-file", () => {
const workingDirectory = createTempProject({
"uv.lock": `version = 1\n\n[[package]]\nname = "uv"\nversion = "0.8.17"\nsource = { registry = "https://pypi.org/simple" }\n`,
});
const request = resolveVersionRequest({
versionFile: path.join(workingDirectory, "uv.lock"),
workingDirectory,
});
expect(request).toEqual({
format: "uv.lock",
source: "version-file",
sourcePath: path.join(workingDirectory, "uv.lock"),
specifier: "0.8.17",
});
});
it("uses requirements.txt when it is passed via version-file", () => {
const workingDirectory = createTempProject({
"requirements.txt": "uv==0.6.17\nuvicorn==0.35.0\n",

View File

@@ -7,7 +7,7 @@ inputs:
description: "The version of uv to install e.g., `0.5.0` Defaults to the version in pyproject.toml or 'latest'."
default: ""
version-file:
description: "Path to a file containing the version of uv to install. 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. 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"

129
dist/setup/index.cjs generated vendored
View File

@@ -56204,7 +56204,7 @@ var require_semver5 = __commonJS({
});
// src/setup-uv.ts
var import_node_fs7 = __toESM(require("node:fs"), 1);
var import_node_fs8 = __toESM(require("node:fs"), 1);
var path16 = __toESM(require("node:path"), 1);
// node_modules/@actions/core/lib/command.js
@@ -91160,12 +91160,16 @@ function getLinuxOSNameVersion() {
const id = parseOsReleaseValue(content, "ID");
const versionId2 = parseOsReleaseValue(content, "VERSION_ID");
const versionCodename = parseOsReleaseValue(content, "VERSION_CODENAME");
const buildId = parseOsReleaseValue(content, "BUILD_ID");
if (id && versionId2) {
return `${id}-${versionId2}`;
}
if (id && versionCodename) {
return `${id}-${versionCodename}`;
}
if (id && buildId) {
return `${id}-${buildId}`;
}
} catch {
}
}
@@ -91285,7 +91289,7 @@ function handleMatchResult(matchedKey, primaryKey, stateKey, outputKey) {
}
// src/download/download-version.ts
var import_node_fs6 = require("node:fs");
var import_node_fs7 = require("node:fs");
var path14 = __toESM(require("node:path"), 1);
// node_modules/@actions/tool-cache/lib/tool-cache.js
@@ -91737,6 +91741,96 @@ var fs10 = __toESM(require("node:fs"), 1);
// src/download/checksum/known-checksums.ts
var KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.11.23": "71ef9de85db820749b3b12b7585624ee279e9c5afcbc6f8236bc3d628c4305b0",
"aarch64-pc-windows-msvc-0.11.23": "c24ef88c44c5e6be3daa7357c0cd8419a88de74c5d01f4ff403e06b765249788",
"aarch64-unknown-linux-gnu-0.11.23": "1873a77350f6621279ae1a0d2227f2bd8b67131598f14a7eb0ba2215d3da2c98",
"aarch64-unknown-linux-musl-0.11.23": "80efb615b78c1e5721e5858135cd3499609b26741220332c843bd58936053bc6",
"arm-unknown-linux-musleabihf-0.11.23": "2467703669be1cf02f31f4347a11c9b10a763e794424eb1073b9fc2565ba45fc",
"armv7-unknown-linux-gnueabihf-0.11.23": "d10df2ebaa729a51d15395720c3f5e76497ae6414beb82043bb2e53f9a86314a",
"armv7-unknown-linux-musleabihf-0.11.23": "417e901f5873a62af344e25e08fb96d75be3a02628e59da4529b73c3693bd31b",
"i686-pc-windows-msvc-0.11.23": "6756a552713bd1b9bd1e8d15402db21600c4fbdeae94c70721e0387b6bbad410",
"i686-unknown-linux-gnu-0.11.23": "87c661f2ccb116dd306b69423fa51f9d7d921ba9bcb1eb8e000853dfbc4b069d",
"i686-unknown-linux-musl-0.11.23": "dac33b2ca44fc162f074bb3b08ef9018e70df930ea82e4c7906e48704b0cfd12",
"powerpc64le-unknown-linux-gnu-0.11.23": "1c87278219389da56f49670ac3f9ae72cda4c38c6a1305290961586ce1b98c3b",
"riscv64gc-unknown-linux-gnu-0.11.23": "38c3b11a79dd6729ff2f35d1882a40c8919e47f385ed51703bed8e1c1ab9afea",
"riscv64gc-unknown-linux-musl-0.11.23": "2bf05826fe1b29adc8031132581400e1ccca0c0051fcbbfe93bddefb80f8dbeb",
"s390x-unknown-linux-gnu-0.11.23": "1a13fd6ab96af55456e6f4ca3f173475e0edf9c9f887bf6e0bc545bc2d931fad",
"x86_64-apple-darwin-0.11.23": "7a88155033cc469bba5bd5a24212e355eb92e3e2a276320b669ec576296c1e25",
"x86_64-pc-windows-msvc-0.11.23": "02ad29f07e674d68726ba3bb1ff25b335d83515756e2b1a194bb56c3cc30e07c",
"x86_64-unknown-linux-gnu-0.11.23": "e12c4cda2fe8c305510a78380a88f2c32a27e90cdcd123cefd2873388f0ebb5f",
"x86_64-unknown-linux-musl-0.11.23": "6be47081100ff1ce0ac7e85ba2ac12e32f2ffa6f946d78bf7f24ee9ce3a46181",
"aarch64-apple-darwin-0.11.22": "97a45e2ff8d5ea262623eed57ec2d9c468a42d74496d5c3c3eef11340235bd7f",
"aarch64-pc-windows-msvc-0.11.22": "30fa01e0fc7c78bdaf6f369ebac401f22f0f865d650f0732a26f1df3e2c6971e",
"aarch64-unknown-linux-gnu-0.11.22": "54b22e9f5570f3643cdf85a33bbc8e9feb3fc6e836a7c660c05378434ef44fe2",
"aarch64-unknown-linux-musl-0.11.22": "bc28063fe57e76a2d632d804cae9c602f8aded1d99f41025d7fefeb66b10befd",
"arm-unknown-linux-musleabihf-0.11.22": "950284c836a2f2aff79d64e703b68ea6bc6ee3a5c5f49399a7889cdd5069d78a",
"armv7-unknown-linux-gnueabihf-0.11.22": "7ff74f488d401f66a0314f65b6970edb011885e09f154e31a307e6d620daad0d",
"armv7-unknown-linux-musleabihf-0.11.22": "10d3f2a47d8c8c99d6aaafb1ec9c98aaf0b2a8ece43af01141693596b8a5cf35",
"i686-pc-windows-msvc-0.11.22": "08388dc9258b211236136327c775f74c127a2321c4f66d7dfcd4ae5cc76748fd",
"i686-unknown-linux-gnu-0.11.22": "522c0d3e0799914cb821661b947d73cd0ee44f6f8ecdadd60bdf11bbf0efef5a",
"i686-unknown-linux-musl-0.11.22": "47e78c168133cb3dd860090de5e832292e9f6d4e3110edd5028f90500a9d791d",
"powerpc64le-unknown-linux-gnu-0.11.22": "519602d26c50891254e19eb269c35da44a330e0499107bceb7926b7b061ed455",
"riscv64gc-unknown-linux-gnu-0.11.22": "291a5506ff058ba68357298752b83b5b230212b0a15845b568029d00cc1d4e8b",
"riscv64gc-unknown-linux-musl-0.11.22": "dd03fa6c9e6ba49195ba78c401bd838496d77d25c17594b7ff0e8e151c13edb9",
"s390x-unknown-linux-gnu-0.11.22": "d5149a1bdd21dc8a86ad91d8657a4cd4eb0761a433ef0ce76117720e41ec950e",
"x86_64-apple-darwin-0.11.22": "9490033dc405b4afc8fa5f9ecd5cc1793e80c727a8c42c32ad456778720d39f2",
"x86_64-pc-windows-msvc-0.11.22": "b56939bac92d29996d351647f7c6f15b31cc69cf952d06d136de3e1e62eb64d1",
"x86_64-unknown-linux-gnu-0.11.22": "30075b14624a62021198319f22e08f1651a97d4026a8c84dab6abcbfaba0d81c",
"x86_64-unknown-linux-musl-0.11.22": "b80bd6952ee11b920b5ab2a35dbccddc364f579e5f2e028d115848cdaa72963e",
"aarch64-apple-darwin-0.11.21": "1f921d491ba5ffeea774eb04d6681ecee379101341cbb1500394993b541bf3f4",
"aarch64-pc-windows-msvc-0.11.21": "74e443f8004022dde57a1bd0d10c097830f9ea8feb4ec927db52cd5d805c2f48",
"aarch64-unknown-linux-gnu-0.11.21": "88e800834007cc5efd4675f166eb2a51e7e3ad19876d85fa8805a6fb5c922397",
"aarch64-unknown-linux-musl-0.11.21": "e71badaed2a2c3a404a0a00974b51c7ed5f5bc7be947916846005b739c68a5a2",
"arm-unknown-linux-musleabihf-0.11.21": "7cd6637deebacfa0224e53afb4dd7da4f464ba0ecc128f6f543897c157e39a0f",
"armv7-unknown-linux-gnueabihf-0.11.21": "929440f991ccd8097e01be1ec831f673ac7bbf508e94819b4270f2873f69e658",
"armv7-unknown-linux-musleabihf-0.11.21": "20f4b653a17adb09cdfa7f911d46a1f254b918a2b49bef1266c735ab4c6fced0",
"i686-pc-windows-msvc-0.11.21": "77d7979222c6bd621bdb862c9cb138be41dce1e3cea239b1e87eb82dfac2dbd5",
"i686-unknown-linux-gnu-0.11.21": "07125219898b1c8e71bc612d91b190927c6b192a7bce5dd029b1c9070e9b7049",
"i686-unknown-linux-musl-0.11.21": "865eff26cef62b7862854e176d57d9e0164daeec595723132a81aa3611238798",
"powerpc64le-unknown-linux-gnu-0.11.21": "0e97021d831f9670c8261f9270ecf94b83f1a90ff5312389e37a77676deaec87",
"riscv64gc-unknown-linux-gnu-0.11.21": "63013d7afe8fd552b273a7a5ca1f1425c0c82b12d73454d24237876bc26006e9",
"riscv64gc-unknown-linux-musl-0.11.21": "b869fe80435715b2b414443af28de96ed5d7f8c6759e12ba141abca221ebc0cd",
"s390x-unknown-linux-gnu-0.11.21": "743694a86a05eaf15d292c3d757388c4b2a11b4a7eb67f000077b4d6c467347e",
"x86_64-apple-darwin-0.11.21": "f3c8e5708a84b920c18b691214d54d2b0da6b984789caae95d47c95120cb7765",
"x86_64-pc-windows-msvc-0.11.21": "ace861f360c6de2babedc1607d0f454b6b09a820dbc8182dc15af927e4df9589",
"x86_64-unknown-linux-gnu-0.11.21": "8c88519b0ef0af9801fcdee419bbb12116bd9e6b18e162ae093c932d8b264050",
"x86_64-unknown-linux-musl-0.11.21": "9dadff5b9e7b1d2d011e41852a1cbca713d9d5d88194f2eb6bd240fa4fb0a719",
"aarch64-apple-darwin-0.11.20": "0a2b6a757d5693671a7ce0002554ae869604e1e69acb10313ac14d08374be01a",
"aarch64-pc-windows-msvc-0.11.20": "5248e1a5f980a77f153c4c452511ec6376abb8772b0979c450775f3a268fc61e",
"aarch64-unknown-linux-gnu-0.11.20": "c8b5b7f9c804b640da0bb66cddddf0a00ce971f64d8076622d70bd141bc80857",
"aarch64-unknown-linux-musl-0.11.20": "79931fc8e82dddff6eb9cab32aa8492e35bc22767322dd68cad36012411ae6d5",
"arm-unknown-linux-musleabihf-0.11.20": "4113bf774c0626d82374fcb4de1dbe117f38e68cfd4cf7360e44259ca62a6d48",
"armv7-unknown-linux-gnueabihf-0.11.20": "b8004b8be37d13ae8c05e8d55028d9ea3ea387fa61a96eeda7812e1a413fd9f8",
"armv7-unknown-linux-musleabihf-0.11.20": "1a6ab0ebac84282838ec96dadb245b1d4404ea8a40e375822cc5a2f1f3997d72",
"i686-pc-windows-msvc-0.11.20": "00c3f694414bf3821922dc9766cec373bcceb16ae3d98ff1fd0774b97bbc55fb",
"i686-unknown-linux-gnu-0.11.20": "08d3e199788ca3ce331da13cc4df15449bd44844a1262597bacea15bb1e42a0d",
"i686-unknown-linux-musl-0.11.20": "0556b545dcba5402c6120575e66e046f3165df4be6baed6992ba7ebc000054e6",
"powerpc64le-unknown-linux-gnu-0.11.20": "555c15dfb8e95e9edb5d4c4f442f9a77fe7f007804da164450cac1eddb41bcde",
"riscv64gc-unknown-linux-gnu-0.11.20": "f78a42002f4c7702688493f7513a081939ca3d52b41dcc7b9224bb660f0c4c28",
"riscv64gc-unknown-linux-musl-0.11.20": "7433aed57cf15cf0657d0ce7c655f95eb00e54e49a0dc408d0170467260843d9",
"s390x-unknown-linux-gnu-0.11.20": "208af0d9d0099f86ed093b68b05703451b884f6db351f9555fda905d3538e53d",
"x86_64-apple-darwin-0.11.20": "bef01a86faab997f6022b45cfa29bfc5b090f2f72cd4a91d2ecefe641efdabe7",
"x86_64-pc-windows-msvc-0.11.20": "4c281f1b6b9ccb14d9567ebde9a218a7cabfb35e5ffe8c1d4ef5e2821a655474",
"x86_64-unknown-linux-gnu-0.11.20": "5de211d9278af365497d387e25316907b3b4a9f25b4476dd6dbf238d6f85cff3",
"x86_64-unknown-linux-musl-0.11.20": "a7545a1360d29baa696753af2f41849047b332bcb90e8ea75ad0568e7f865e35",
"aarch64-apple-darwin-0.11.19": "d8f59c38e8c4168ee468d423cd63184be12fa6995a4283d41ee1a14d003c9453",
"aarch64-pc-windows-msvc-0.11.19": "5592a990a9d9901fd0d23992d872f2ec3ca91b7bbd3d5f0bb5e6f42b851493d8",
"aarch64-unknown-linux-gnu-0.11.19": "83b13ab184a45b7d9a3b0e4b10eaebd50ad41e66cb16dcce8e60aa7be13ae399",
"aarch64-unknown-linux-musl-0.11.19": "767629b64cdf078c32e42819db28d5ca868b8dc7e3a879967fadc3e4f7f66be3",
"arm-unknown-linux-musleabihf-0.11.19": "638bb5aac6419e062149b4600c0030e2203dfbb8bf6b0db740755bb19f458abf",
"armv7-unknown-linux-gnueabihf-0.11.19": "56c307d18acadb1bee2b76bde39cedcf0d29f93102c52f39f8c0c8a42dffe96e",
"armv7-unknown-linux-musleabihf-0.11.19": "d807c33e89c27430a68b7be52a8a0d39e08c91dba0fa295172c6ff2ce2d07a27",
"i686-pc-windows-msvc-0.11.19": "e701a69f0ab192fde8ea3f4cfdedfa6cade0c92cea2e350613b6528e966b50c7",
"i686-unknown-linux-gnu-0.11.19": "d0ef2e69c44a2763161d5b5f40b722fe81e0d16bed217cbc526fb5a3640802b3",
"i686-unknown-linux-musl-0.11.19": "f58e41864cb91fbd2306a7b46718fdd0c1029169fe03347719771a1c68a527e6",
"powerpc64le-unknown-linux-gnu-0.11.19": "b6dcd94b5c456d11787d1e6d01b5f9a34b456e22e2dde9bbae3531dc7676c0d8",
"riscv64gc-unknown-linux-gnu-0.11.19": "4b9ca6bd2ed1e4c2658e5f85cf8a208c192490d9d24dbf2c36d61ea10a389778",
"riscv64gc-unknown-linux-musl-0.11.19": "184232b4e0de4d6a674d57b1d6d8c39a3c5a5dbc27f95ed972c46974d21b0115",
"s390x-unknown-linux-gnu-0.11.19": "c4535a5f9f27a94df384ea8140b78c3e7c083d4130cd341fd826b5ab343979fb",
"x86_64-apple-darwin-0.11.19": "1585f415cade9f061e7f00fe5b00030a79ccfac60c650242ce639ba946138d40",
"x86_64-pc-windows-msvc-0.11.19": "1665fc8e37b5d70a134820d6d7891747471a2ac8bc940ee7af0b69fd03b28d61",
"x86_64-unknown-linux-gnu-0.11.19": "7035608168e106375b36d0c818d537a889c51a8625fe7f8f7cad5e62b947c368",
"x86_64-unknown-linux-musl-0.11.19": "c4c0d0a383413261af5f0f0743e1292f4aafbe907987ed83bd0ac66f0a3d7e20",
"aarch64-apple-darwin-0.11.18": "1a7adf8dadae3b55853115d13a8bf564d219597ad13824b93b213706933863e5",
"aarch64-pc-windows-msvc-0.11.18": "0689e1a40d36b387522d2b1b865cd98a15ddd4a7507e256ad93be6f6a335fec1",
"aarch64-unknown-linux-gnu-0.11.18": "0f03c6648df1c159557f4222c0f37250f84733fb88d6fc3c16770e17c177a8c9",
@@ -96772,7 +96866,7 @@ function parseVersionSpecifier(specifier) {
var path13 = __toESM(require("node:path"), 1);
// src/version/file-parser.ts
var import_node_fs5 = __toESM(require("node:fs"), 1);
var import_node_fs6 = __toESM(require("node:fs"), 1);
// src/utils/config-file.ts
var import_node_fs3 = __toESM(require("node:fs"), 1);
@@ -97537,6 +97631,18 @@ function getUvVersionFromToolVersions(filePath) {
return void 0;
}
// src/version/uv-lock-file.ts
var import_node_fs5 = __toESM(require("node:fs"), 1);
function getUvVersionFromUvLock(filePath) {
const fileContent = import_node_fs5.default.readFileSync(filePath, "utf-8");
return getUvVersionFromUvLockContent(fileContent);
}
function getUvVersionFromUvLockContent(fileContent) {
const parsed = parse2(fileContent);
const uvPackage = parsed.package?.find((pkg) => pkg.name === "uv");
return uvPackage?.version;
}
// src/version/file-parser.ts
var VERSION_FILE_PARSERS = [
{
@@ -97547,7 +97653,7 @@ var VERSION_FILE_PARSERS = [
{
format: "uv.toml",
parse: (filePath) => {
const fileContent = import_node_fs5.default.readFileSync(filePath, "utf-8");
const fileContent = import_node_fs6.default.readFileSync(filePath, "utf-8");
return getConfigValueFromTomlContent(
filePath,
fileContent,
@@ -97559,7 +97665,7 @@ var VERSION_FILE_PARSERS = [
{
format: "pyproject.toml",
parse: (filePath) => {
const fileContent = import_node_fs5.default.readFileSync(filePath, "utf-8");
const fileContent = import_node_fs6.default.readFileSync(filePath, "utf-8");
const pyproject = parsePyprojectContent(fileContent);
const requiredVersion = pyproject.tool?.uv?.["required-version"];
if (requiredVersion !== void 0) {
@@ -97569,10 +97675,15 @@ var VERSION_FILE_PARSERS = [
},
supports: (filePath) => filePath.endsWith("pyproject.toml")
},
{
format: "uv.lock",
parse: (filePath) => getUvVersionFromUvLock(filePath),
supports: (filePath) => filePath.endsWith("uv.lock")
},
{
format: "requirements",
parse: (filePath) => {
const fileContent = import_node_fs5.default.readFileSync(filePath, "utf-8");
const fileContent = import_node_fs6.default.readFileSync(filePath, "utf-8");
return getUvVersionFromRequirementsText(fileContent);
},
supports: (filePath) => filePath.endsWith(".txt")
@@ -97580,7 +97691,7 @@ var VERSION_FILE_PARSERS = [
];
function getParsedVersionFile(filePath) {
info2(`Trying to find version for uv in: ${filePath}`);
if (!import_node_fs5.default.existsSync(filePath)) {
if (!import_node_fs6.default.existsSync(filePath)) {
info2(`Could not find file: ${filePath}`);
return void 0;
}
@@ -97907,7 +98018,7 @@ async function downloadArtifact(downloadUrl, artifactName, platform2, arch3, ver
);
const extension = getExtension(platform2);
const fullPathWithExtension = `${downloadPath}${extension}`;
await import_node_fs6.promises.copyFile(downloadPath, fullPathWithExtension);
await import_node_fs7.promises.copyFile(downloadPath, fullPathWithExtension);
uvDir = await extractZip(fullPathWithExtension);
}
} else {
@@ -98269,7 +98380,7 @@ async function run() {
}
}
function detectEmptyWorkdir(inputs) {
if (import_node_fs7.default.readdirSync(inputs.workingDirectory).length === 0) {
if (import_node_fs8.default.readdirSync(inputs.workingDirectory).length === 0) {
if (inputs.ignoreEmptyWorkdir) {
info2(
"Empty workdir detected. Ignoring because ignore-empty-workdir is enabled"

View File

@@ -45701,6 +45701,96 @@ var semver = __toESM(require_semver(), 1);
// src/download/checksum/known-checksums.ts
var KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.11.23": "71ef9de85db820749b3b12b7585624ee279e9c5afcbc6f8236bc3d628c4305b0",
"aarch64-pc-windows-msvc-0.11.23": "c24ef88c44c5e6be3daa7357c0cd8419a88de74c5d01f4ff403e06b765249788",
"aarch64-unknown-linux-gnu-0.11.23": "1873a77350f6621279ae1a0d2227f2bd8b67131598f14a7eb0ba2215d3da2c98",
"aarch64-unknown-linux-musl-0.11.23": "80efb615b78c1e5721e5858135cd3499609b26741220332c843bd58936053bc6",
"arm-unknown-linux-musleabihf-0.11.23": "2467703669be1cf02f31f4347a11c9b10a763e794424eb1073b9fc2565ba45fc",
"armv7-unknown-linux-gnueabihf-0.11.23": "d10df2ebaa729a51d15395720c3f5e76497ae6414beb82043bb2e53f9a86314a",
"armv7-unknown-linux-musleabihf-0.11.23": "417e901f5873a62af344e25e08fb96d75be3a02628e59da4529b73c3693bd31b",
"i686-pc-windows-msvc-0.11.23": "6756a552713bd1b9bd1e8d15402db21600c4fbdeae94c70721e0387b6bbad410",
"i686-unknown-linux-gnu-0.11.23": "87c661f2ccb116dd306b69423fa51f9d7d921ba9bcb1eb8e000853dfbc4b069d",
"i686-unknown-linux-musl-0.11.23": "dac33b2ca44fc162f074bb3b08ef9018e70df930ea82e4c7906e48704b0cfd12",
"powerpc64le-unknown-linux-gnu-0.11.23": "1c87278219389da56f49670ac3f9ae72cda4c38c6a1305290961586ce1b98c3b",
"riscv64gc-unknown-linux-gnu-0.11.23": "38c3b11a79dd6729ff2f35d1882a40c8919e47f385ed51703bed8e1c1ab9afea",
"riscv64gc-unknown-linux-musl-0.11.23": "2bf05826fe1b29adc8031132581400e1ccca0c0051fcbbfe93bddefb80f8dbeb",
"s390x-unknown-linux-gnu-0.11.23": "1a13fd6ab96af55456e6f4ca3f173475e0edf9c9f887bf6e0bc545bc2d931fad",
"x86_64-apple-darwin-0.11.23": "7a88155033cc469bba5bd5a24212e355eb92e3e2a276320b669ec576296c1e25",
"x86_64-pc-windows-msvc-0.11.23": "02ad29f07e674d68726ba3bb1ff25b335d83515756e2b1a194bb56c3cc30e07c",
"x86_64-unknown-linux-gnu-0.11.23": "e12c4cda2fe8c305510a78380a88f2c32a27e90cdcd123cefd2873388f0ebb5f",
"x86_64-unknown-linux-musl-0.11.23": "6be47081100ff1ce0ac7e85ba2ac12e32f2ffa6f946d78bf7f24ee9ce3a46181",
"aarch64-apple-darwin-0.11.22": "97a45e2ff8d5ea262623eed57ec2d9c468a42d74496d5c3c3eef11340235bd7f",
"aarch64-pc-windows-msvc-0.11.22": "30fa01e0fc7c78bdaf6f369ebac401f22f0f865d650f0732a26f1df3e2c6971e",
"aarch64-unknown-linux-gnu-0.11.22": "54b22e9f5570f3643cdf85a33bbc8e9feb3fc6e836a7c660c05378434ef44fe2",
"aarch64-unknown-linux-musl-0.11.22": "bc28063fe57e76a2d632d804cae9c602f8aded1d99f41025d7fefeb66b10befd",
"arm-unknown-linux-musleabihf-0.11.22": "950284c836a2f2aff79d64e703b68ea6bc6ee3a5c5f49399a7889cdd5069d78a",
"armv7-unknown-linux-gnueabihf-0.11.22": "7ff74f488d401f66a0314f65b6970edb011885e09f154e31a307e6d620daad0d",
"armv7-unknown-linux-musleabihf-0.11.22": "10d3f2a47d8c8c99d6aaafb1ec9c98aaf0b2a8ece43af01141693596b8a5cf35",
"i686-pc-windows-msvc-0.11.22": "08388dc9258b211236136327c775f74c127a2321c4f66d7dfcd4ae5cc76748fd",
"i686-unknown-linux-gnu-0.11.22": "522c0d3e0799914cb821661b947d73cd0ee44f6f8ecdadd60bdf11bbf0efef5a",
"i686-unknown-linux-musl-0.11.22": "47e78c168133cb3dd860090de5e832292e9f6d4e3110edd5028f90500a9d791d",
"powerpc64le-unknown-linux-gnu-0.11.22": "519602d26c50891254e19eb269c35da44a330e0499107bceb7926b7b061ed455",
"riscv64gc-unknown-linux-gnu-0.11.22": "291a5506ff058ba68357298752b83b5b230212b0a15845b568029d00cc1d4e8b",
"riscv64gc-unknown-linux-musl-0.11.22": "dd03fa6c9e6ba49195ba78c401bd838496d77d25c17594b7ff0e8e151c13edb9",
"s390x-unknown-linux-gnu-0.11.22": "d5149a1bdd21dc8a86ad91d8657a4cd4eb0761a433ef0ce76117720e41ec950e",
"x86_64-apple-darwin-0.11.22": "9490033dc405b4afc8fa5f9ecd5cc1793e80c727a8c42c32ad456778720d39f2",
"x86_64-pc-windows-msvc-0.11.22": "b56939bac92d29996d351647f7c6f15b31cc69cf952d06d136de3e1e62eb64d1",
"x86_64-unknown-linux-gnu-0.11.22": "30075b14624a62021198319f22e08f1651a97d4026a8c84dab6abcbfaba0d81c",
"x86_64-unknown-linux-musl-0.11.22": "b80bd6952ee11b920b5ab2a35dbccddc364f579e5f2e028d115848cdaa72963e",
"aarch64-apple-darwin-0.11.21": "1f921d491ba5ffeea774eb04d6681ecee379101341cbb1500394993b541bf3f4",
"aarch64-pc-windows-msvc-0.11.21": "74e443f8004022dde57a1bd0d10c097830f9ea8feb4ec927db52cd5d805c2f48",
"aarch64-unknown-linux-gnu-0.11.21": "88e800834007cc5efd4675f166eb2a51e7e3ad19876d85fa8805a6fb5c922397",
"aarch64-unknown-linux-musl-0.11.21": "e71badaed2a2c3a404a0a00974b51c7ed5f5bc7be947916846005b739c68a5a2",
"arm-unknown-linux-musleabihf-0.11.21": "7cd6637deebacfa0224e53afb4dd7da4f464ba0ecc128f6f543897c157e39a0f",
"armv7-unknown-linux-gnueabihf-0.11.21": "929440f991ccd8097e01be1ec831f673ac7bbf508e94819b4270f2873f69e658",
"armv7-unknown-linux-musleabihf-0.11.21": "20f4b653a17adb09cdfa7f911d46a1f254b918a2b49bef1266c735ab4c6fced0",
"i686-pc-windows-msvc-0.11.21": "77d7979222c6bd621bdb862c9cb138be41dce1e3cea239b1e87eb82dfac2dbd5",
"i686-unknown-linux-gnu-0.11.21": "07125219898b1c8e71bc612d91b190927c6b192a7bce5dd029b1c9070e9b7049",
"i686-unknown-linux-musl-0.11.21": "865eff26cef62b7862854e176d57d9e0164daeec595723132a81aa3611238798",
"powerpc64le-unknown-linux-gnu-0.11.21": "0e97021d831f9670c8261f9270ecf94b83f1a90ff5312389e37a77676deaec87",
"riscv64gc-unknown-linux-gnu-0.11.21": "63013d7afe8fd552b273a7a5ca1f1425c0c82b12d73454d24237876bc26006e9",
"riscv64gc-unknown-linux-musl-0.11.21": "b869fe80435715b2b414443af28de96ed5d7f8c6759e12ba141abca221ebc0cd",
"s390x-unknown-linux-gnu-0.11.21": "743694a86a05eaf15d292c3d757388c4b2a11b4a7eb67f000077b4d6c467347e",
"x86_64-apple-darwin-0.11.21": "f3c8e5708a84b920c18b691214d54d2b0da6b984789caae95d47c95120cb7765",
"x86_64-pc-windows-msvc-0.11.21": "ace861f360c6de2babedc1607d0f454b6b09a820dbc8182dc15af927e4df9589",
"x86_64-unknown-linux-gnu-0.11.21": "8c88519b0ef0af9801fcdee419bbb12116bd9e6b18e162ae093c932d8b264050",
"x86_64-unknown-linux-musl-0.11.21": "9dadff5b9e7b1d2d011e41852a1cbca713d9d5d88194f2eb6bd240fa4fb0a719",
"aarch64-apple-darwin-0.11.20": "0a2b6a757d5693671a7ce0002554ae869604e1e69acb10313ac14d08374be01a",
"aarch64-pc-windows-msvc-0.11.20": "5248e1a5f980a77f153c4c452511ec6376abb8772b0979c450775f3a268fc61e",
"aarch64-unknown-linux-gnu-0.11.20": "c8b5b7f9c804b640da0bb66cddddf0a00ce971f64d8076622d70bd141bc80857",
"aarch64-unknown-linux-musl-0.11.20": "79931fc8e82dddff6eb9cab32aa8492e35bc22767322dd68cad36012411ae6d5",
"arm-unknown-linux-musleabihf-0.11.20": "4113bf774c0626d82374fcb4de1dbe117f38e68cfd4cf7360e44259ca62a6d48",
"armv7-unknown-linux-gnueabihf-0.11.20": "b8004b8be37d13ae8c05e8d55028d9ea3ea387fa61a96eeda7812e1a413fd9f8",
"armv7-unknown-linux-musleabihf-0.11.20": "1a6ab0ebac84282838ec96dadb245b1d4404ea8a40e375822cc5a2f1f3997d72",
"i686-pc-windows-msvc-0.11.20": "00c3f694414bf3821922dc9766cec373bcceb16ae3d98ff1fd0774b97bbc55fb",
"i686-unknown-linux-gnu-0.11.20": "08d3e199788ca3ce331da13cc4df15449bd44844a1262597bacea15bb1e42a0d",
"i686-unknown-linux-musl-0.11.20": "0556b545dcba5402c6120575e66e046f3165df4be6baed6992ba7ebc000054e6",
"powerpc64le-unknown-linux-gnu-0.11.20": "555c15dfb8e95e9edb5d4c4f442f9a77fe7f007804da164450cac1eddb41bcde",
"riscv64gc-unknown-linux-gnu-0.11.20": "f78a42002f4c7702688493f7513a081939ca3d52b41dcc7b9224bb660f0c4c28",
"riscv64gc-unknown-linux-musl-0.11.20": "7433aed57cf15cf0657d0ce7c655f95eb00e54e49a0dc408d0170467260843d9",
"s390x-unknown-linux-gnu-0.11.20": "208af0d9d0099f86ed093b68b05703451b884f6db351f9555fda905d3538e53d",
"x86_64-apple-darwin-0.11.20": "bef01a86faab997f6022b45cfa29bfc5b090f2f72cd4a91d2ecefe641efdabe7",
"x86_64-pc-windows-msvc-0.11.20": "4c281f1b6b9ccb14d9567ebde9a218a7cabfb35e5ffe8c1d4ef5e2821a655474",
"x86_64-unknown-linux-gnu-0.11.20": "5de211d9278af365497d387e25316907b3b4a9f25b4476dd6dbf238d6f85cff3",
"x86_64-unknown-linux-musl-0.11.20": "a7545a1360d29baa696753af2f41849047b332bcb90e8ea75ad0568e7f865e35",
"aarch64-apple-darwin-0.11.19": "d8f59c38e8c4168ee468d423cd63184be12fa6995a4283d41ee1a14d003c9453",
"aarch64-pc-windows-msvc-0.11.19": "5592a990a9d9901fd0d23992d872f2ec3ca91b7bbd3d5f0bb5e6f42b851493d8",
"aarch64-unknown-linux-gnu-0.11.19": "83b13ab184a45b7d9a3b0e4b10eaebd50ad41e66cb16dcce8e60aa7be13ae399",
"aarch64-unknown-linux-musl-0.11.19": "767629b64cdf078c32e42819db28d5ca868b8dc7e3a879967fadc3e4f7f66be3",
"arm-unknown-linux-musleabihf-0.11.19": "638bb5aac6419e062149b4600c0030e2203dfbb8bf6b0db740755bb19f458abf",
"armv7-unknown-linux-gnueabihf-0.11.19": "56c307d18acadb1bee2b76bde39cedcf0d29f93102c52f39f8c0c8a42dffe96e",
"armv7-unknown-linux-musleabihf-0.11.19": "d807c33e89c27430a68b7be52a8a0d39e08c91dba0fa295172c6ff2ce2d07a27",
"i686-pc-windows-msvc-0.11.19": "e701a69f0ab192fde8ea3f4cfdedfa6cade0c92cea2e350613b6528e966b50c7",
"i686-unknown-linux-gnu-0.11.19": "d0ef2e69c44a2763161d5b5f40b722fe81e0d16bed217cbc526fb5a3640802b3",
"i686-unknown-linux-musl-0.11.19": "f58e41864cb91fbd2306a7b46718fdd0c1029169fe03347719771a1c68a527e6",
"powerpc64le-unknown-linux-gnu-0.11.19": "b6dcd94b5c456d11787d1e6d01b5f9a34b456e22e2dde9bbae3531dc7676c0d8",
"riscv64gc-unknown-linux-gnu-0.11.19": "4b9ca6bd2ed1e4c2658e5f85cf8a208c192490d9d24dbf2c36d61ea10a389778",
"riscv64gc-unknown-linux-musl-0.11.19": "184232b4e0de4d6a674d57b1d6d8c39a3c5a5dbc27f95ed972c46974d21b0115",
"s390x-unknown-linux-gnu-0.11.19": "c4535a5f9f27a94df384ea8140b78c3e7c083d4130cd341fd826b5ab343979fb",
"x86_64-apple-darwin-0.11.19": "1585f415cade9f061e7f00fe5b00030a79ccfac60c650242ce639ba946138d40",
"x86_64-pc-windows-msvc-0.11.19": "1665fc8e37b5d70a134820d6d7891747471a2ac8bc940ee7af0b69fd03b28d61",
"x86_64-unknown-linux-gnu-0.11.19": "7035608168e106375b36d0c818d537a889c51a8625fe7f8f7cad5e62b947c368",
"x86_64-unknown-linux-musl-0.11.19": "c4c0d0a383413261af5f0f0743e1292f4aafbe907987ed83bd0ac66f0a3d7e20",
"aarch64-apple-darwin-0.11.18": "1a7adf8dadae3b55853115d13a8bf564d219597ad13824b93b213706933863e5",
"aarch64-pc-windows-msvc-0.11.18": "0689e1a40d36b387522d2b1b865cd98a15ddd4a7507e256ad93be6f6a335fec1",
"aarch64-unknown-linux-gnu-0.11.18": "0f03c6648df1c159557f4222c0f37250f84733fb88d6fc3c16770e17c177a8c9",

View File

@@ -80,3 +80,14 @@ uv defined as a dependency in `pyproject.toml` or `requirements.txt`.
with:
version-file: "pyproject.toml"
```
If uv is locked as a dependency in your `uv.lock`, you can point `version-file` at the
lockfile to install the exact pinned version. This keeps CI runs deterministic and avoids
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@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
version-file: "uv.lock"
```

View File

@@ -1,5 +1,185 @@
// AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"aarch64-apple-darwin-0.11.23":
"71ef9de85db820749b3b12b7585624ee279e9c5afcbc6f8236bc3d628c4305b0",
"aarch64-pc-windows-msvc-0.11.23":
"c24ef88c44c5e6be3daa7357c0cd8419a88de74c5d01f4ff403e06b765249788",
"aarch64-unknown-linux-gnu-0.11.23":
"1873a77350f6621279ae1a0d2227f2bd8b67131598f14a7eb0ba2215d3da2c98",
"aarch64-unknown-linux-musl-0.11.23":
"80efb615b78c1e5721e5858135cd3499609b26741220332c843bd58936053bc6",
"arm-unknown-linux-musleabihf-0.11.23":
"2467703669be1cf02f31f4347a11c9b10a763e794424eb1073b9fc2565ba45fc",
"armv7-unknown-linux-gnueabihf-0.11.23":
"d10df2ebaa729a51d15395720c3f5e76497ae6414beb82043bb2e53f9a86314a",
"armv7-unknown-linux-musleabihf-0.11.23":
"417e901f5873a62af344e25e08fb96d75be3a02628e59da4529b73c3693bd31b",
"i686-pc-windows-msvc-0.11.23":
"6756a552713bd1b9bd1e8d15402db21600c4fbdeae94c70721e0387b6bbad410",
"i686-unknown-linux-gnu-0.11.23":
"87c661f2ccb116dd306b69423fa51f9d7d921ba9bcb1eb8e000853dfbc4b069d",
"i686-unknown-linux-musl-0.11.23":
"dac33b2ca44fc162f074bb3b08ef9018e70df930ea82e4c7906e48704b0cfd12",
"powerpc64le-unknown-linux-gnu-0.11.23":
"1c87278219389da56f49670ac3f9ae72cda4c38c6a1305290961586ce1b98c3b",
"riscv64gc-unknown-linux-gnu-0.11.23":
"38c3b11a79dd6729ff2f35d1882a40c8919e47f385ed51703bed8e1c1ab9afea",
"riscv64gc-unknown-linux-musl-0.11.23":
"2bf05826fe1b29adc8031132581400e1ccca0c0051fcbbfe93bddefb80f8dbeb",
"s390x-unknown-linux-gnu-0.11.23":
"1a13fd6ab96af55456e6f4ca3f173475e0edf9c9f887bf6e0bc545bc2d931fad",
"x86_64-apple-darwin-0.11.23":
"7a88155033cc469bba5bd5a24212e355eb92e3e2a276320b669ec576296c1e25",
"x86_64-pc-windows-msvc-0.11.23":
"02ad29f07e674d68726ba3bb1ff25b335d83515756e2b1a194bb56c3cc30e07c",
"x86_64-unknown-linux-gnu-0.11.23":
"e12c4cda2fe8c305510a78380a88f2c32a27e90cdcd123cefd2873388f0ebb5f",
"x86_64-unknown-linux-musl-0.11.23":
"6be47081100ff1ce0ac7e85ba2ac12e32f2ffa6f946d78bf7f24ee9ce3a46181",
"aarch64-apple-darwin-0.11.22":
"97a45e2ff8d5ea262623eed57ec2d9c468a42d74496d5c3c3eef11340235bd7f",
"aarch64-pc-windows-msvc-0.11.22":
"30fa01e0fc7c78bdaf6f369ebac401f22f0f865d650f0732a26f1df3e2c6971e",
"aarch64-unknown-linux-gnu-0.11.22":
"54b22e9f5570f3643cdf85a33bbc8e9feb3fc6e836a7c660c05378434ef44fe2",
"aarch64-unknown-linux-musl-0.11.22":
"bc28063fe57e76a2d632d804cae9c602f8aded1d99f41025d7fefeb66b10befd",
"arm-unknown-linux-musleabihf-0.11.22":
"950284c836a2f2aff79d64e703b68ea6bc6ee3a5c5f49399a7889cdd5069d78a",
"armv7-unknown-linux-gnueabihf-0.11.22":
"7ff74f488d401f66a0314f65b6970edb011885e09f154e31a307e6d620daad0d",
"armv7-unknown-linux-musleabihf-0.11.22":
"10d3f2a47d8c8c99d6aaafb1ec9c98aaf0b2a8ece43af01141693596b8a5cf35",
"i686-pc-windows-msvc-0.11.22":
"08388dc9258b211236136327c775f74c127a2321c4f66d7dfcd4ae5cc76748fd",
"i686-unknown-linux-gnu-0.11.22":
"522c0d3e0799914cb821661b947d73cd0ee44f6f8ecdadd60bdf11bbf0efef5a",
"i686-unknown-linux-musl-0.11.22":
"47e78c168133cb3dd860090de5e832292e9f6d4e3110edd5028f90500a9d791d",
"powerpc64le-unknown-linux-gnu-0.11.22":
"519602d26c50891254e19eb269c35da44a330e0499107bceb7926b7b061ed455",
"riscv64gc-unknown-linux-gnu-0.11.22":
"291a5506ff058ba68357298752b83b5b230212b0a15845b568029d00cc1d4e8b",
"riscv64gc-unknown-linux-musl-0.11.22":
"dd03fa6c9e6ba49195ba78c401bd838496d77d25c17594b7ff0e8e151c13edb9",
"s390x-unknown-linux-gnu-0.11.22":
"d5149a1bdd21dc8a86ad91d8657a4cd4eb0761a433ef0ce76117720e41ec950e",
"x86_64-apple-darwin-0.11.22":
"9490033dc405b4afc8fa5f9ecd5cc1793e80c727a8c42c32ad456778720d39f2",
"x86_64-pc-windows-msvc-0.11.22":
"b56939bac92d29996d351647f7c6f15b31cc69cf952d06d136de3e1e62eb64d1",
"x86_64-unknown-linux-gnu-0.11.22":
"30075b14624a62021198319f22e08f1651a97d4026a8c84dab6abcbfaba0d81c",
"x86_64-unknown-linux-musl-0.11.22":
"b80bd6952ee11b920b5ab2a35dbccddc364f579e5f2e028d115848cdaa72963e",
"aarch64-apple-darwin-0.11.21":
"1f921d491ba5ffeea774eb04d6681ecee379101341cbb1500394993b541bf3f4",
"aarch64-pc-windows-msvc-0.11.21":
"74e443f8004022dde57a1bd0d10c097830f9ea8feb4ec927db52cd5d805c2f48",
"aarch64-unknown-linux-gnu-0.11.21":
"88e800834007cc5efd4675f166eb2a51e7e3ad19876d85fa8805a6fb5c922397",
"aarch64-unknown-linux-musl-0.11.21":
"e71badaed2a2c3a404a0a00974b51c7ed5f5bc7be947916846005b739c68a5a2",
"arm-unknown-linux-musleabihf-0.11.21":
"7cd6637deebacfa0224e53afb4dd7da4f464ba0ecc128f6f543897c157e39a0f",
"armv7-unknown-linux-gnueabihf-0.11.21":
"929440f991ccd8097e01be1ec831f673ac7bbf508e94819b4270f2873f69e658",
"armv7-unknown-linux-musleabihf-0.11.21":
"20f4b653a17adb09cdfa7f911d46a1f254b918a2b49bef1266c735ab4c6fced0",
"i686-pc-windows-msvc-0.11.21":
"77d7979222c6bd621bdb862c9cb138be41dce1e3cea239b1e87eb82dfac2dbd5",
"i686-unknown-linux-gnu-0.11.21":
"07125219898b1c8e71bc612d91b190927c6b192a7bce5dd029b1c9070e9b7049",
"i686-unknown-linux-musl-0.11.21":
"865eff26cef62b7862854e176d57d9e0164daeec595723132a81aa3611238798",
"powerpc64le-unknown-linux-gnu-0.11.21":
"0e97021d831f9670c8261f9270ecf94b83f1a90ff5312389e37a77676deaec87",
"riscv64gc-unknown-linux-gnu-0.11.21":
"63013d7afe8fd552b273a7a5ca1f1425c0c82b12d73454d24237876bc26006e9",
"riscv64gc-unknown-linux-musl-0.11.21":
"b869fe80435715b2b414443af28de96ed5d7f8c6759e12ba141abca221ebc0cd",
"s390x-unknown-linux-gnu-0.11.21":
"743694a86a05eaf15d292c3d757388c4b2a11b4a7eb67f000077b4d6c467347e",
"x86_64-apple-darwin-0.11.21":
"f3c8e5708a84b920c18b691214d54d2b0da6b984789caae95d47c95120cb7765",
"x86_64-pc-windows-msvc-0.11.21":
"ace861f360c6de2babedc1607d0f454b6b09a820dbc8182dc15af927e4df9589",
"x86_64-unknown-linux-gnu-0.11.21":
"8c88519b0ef0af9801fcdee419bbb12116bd9e6b18e162ae093c932d8b264050",
"x86_64-unknown-linux-musl-0.11.21":
"9dadff5b9e7b1d2d011e41852a1cbca713d9d5d88194f2eb6bd240fa4fb0a719",
"aarch64-apple-darwin-0.11.20":
"0a2b6a757d5693671a7ce0002554ae869604e1e69acb10313ac14d08374be01a",
"aarch64-pc-windows-msvc-0.11.20":
"5248e1a5f980a77f153c4c452511ec6376abb8772b0979c450775f3a268fc61e",
"aarch64-unknown-linux-gnu-0.11.20":
"c8b5b7f9c804b640da0bb66cddddf0a00ce971f64d8076622d70bd141bc80857",
"aarch64-unknown-linux-musl-0.11.20":
"79931fc8e82dddff6eb9cab32aa8492e35bc22767322dd68cad36012411ae6d5",
"arm-unknown-linux-musleabihf-0.11.20":
"4113bf774c0626d82374fcb4de1dbe117f38e68cfd4cf7360e44259ca62a6d48",
"armv7-unknown-linux-gnueabihf-0.11.20":
"b8004b8be37d13ae8c05e8d55028d9ea3ea387fa61a96eeda7812e1a413fd9f8",
"armv7-unknown-linux-musleabihf-0.11.20":
"1a6ab0ebac84282838ec96dadb245b1d4404ea8a40e375822cc5a2f1f3997d72",
"i686-pc-windows-msvc-0.11.20":
"00c3f694414bf3821922dc9766cec373bcceb16ae3d98ff1fd0774b97bbc55fb",
"i686-unknown-linux-gnu-0.11.20":
"08d3e199788ca3ce331da13cc4df15449bd44844a1262597bacea15bb1e42a0d",
"i686-unknown-linux-musl-0.11.20":
"0556b545dcba5402c6120575e66e046f3165df4be6baed6992ba7ebc000054e6",
"powerpc64le-unknown-linux-gnu-0.11.20":
"555c15dfb8e95e9edb5d4c4f442f9a77fe7f007804da164450cac1eddb41bcde",
"riscv64gc-unknown-linux-gnu-0.11.20":
"f78a42002f4c7702688493f7513a081939ca3d52b41dcc7b9224bb660f0c4c28",
"riscv64gc-unknown-linux-musl-0.11.20":
"7433aed57cf15cf0657d0ce7c655f95eb00e54e49a0dc408d0170467260843d9",
"s390x-unknown-linux-gnu-0.11.20":
"208af0d9d0099f86ed093b68b05703451b884f6db351f9555fda905d3538e53d",
"x86_64-apple-darwin-0.11.20":
"bef01a86faab997f6022b45cfa29bfc5b090f2f72cd4a91d2ecefe641efdabe7",
"x86_64-pc-windows-msvc-0.11.20":
"4c281f1b6b9ccb14d9567ebde9a218a7cabfb35e5ffe8c1d4ef5e2821a655474",
"x86_64-unknown-linux-gnu-0.11.20":
"5de211d9278af365497d387e25316907b3b4a9f25b4476dd6dbf238d6f85cff3",
"x86_64-unknown-linux-musl-0.11.20":
"a7545a1360d29baa696753af2f41849047b332bcb90e8ea75ad0568e7f865e35",
"aarch64-apple-darwin-0.11.19":
"d8f59c38e8c4168ee468d423cd63184be12fa6995a4283d41ee1a14d003c9453",
"aarch64-pc-windows-msvc-0.11.19":
"5592a990a9d9901fd0d23992d872f2ec3ca91b7bbd3d5f0bb5e6f42b851493d8",
"aarch64-unknown-linux-gnu-0.11.19":
"83b13ab184a45b7d9a3b0e4b10eaebd50ad41e66cb16dcce8e60aa7be13ae399",
"aarch64-unknown-linux-musl-0.11.19":
"767629b64cdf078c32e42819db28d5ca868b8dc7e3a879967fadc3e4f7f66be3",
"arm-unknown-linux-musleabihf-0.11.19":
"638bb5aac6419e062149b4600c0030e2203dfbb8bf6b0db740755bb19f458abf",
"armv7-unknown-linux-gnueabihf-0.11.19":
"56c307d18acadb1bee2b76bde39cedcf0d29f93102c52f39f8c0c8a42dffe96e",
"armv7-unknown-linux-musleabihf-0.11.19":
"d807c33e89c27430a68b7be52a8a0d39e08c91dba0fa295172c6ff2ce2d07a27",
"i686-pc-windows-msvc-0.11.19":
"e701a69f0ab192fde8ea3f4cfdedfa6cade0c92cea2e350613b6528e966b50c7",
"i686-unknown-linux-gnu-0.11.19":
"d0ef2e69c44a2763161d5b5f40b722fe81e0d16bed217cbc526fb5a3640802b3",
"i686-unknown-linux-musl-0.11.19":
"f58e41864cb91fbd2306a7b46718fdd0c1029169fe03347719771a1c68a527e6",
"powerpc64le-unknown-linux-gnu-0.11.19":
"b6dcd94b5c456d11787d1e6d01b5f9a34b456e22e2dde9bbae3531dc7676c0d8",
"riscv64gc-unknown-linux-gnu-0.11.19":
"4b9ca6bd2ed1e4c2658e5f85cf8a208c192490d9d24dbf2c36d61ea10a389778",
"riscv64gc-unknown-linux-musl-0.11.19":
"184232b4e0de4d6a674d57b1d6d8c39a3c5a5dbc27f95ed972c46974d21b0115",
"s390x-unknown-linux-gnu-0.11.19":
"c4535a5f9f27a94df384ea8140b78c3e7c083d4130cd341fd826b5ab343979fb",
"x86_64-apple-darwin-0.11.19":
"1585f415cade9f061e7f00fe5b00030a79ccfac60c650242ce639ba946138d40",
"x86_64-pc-windows-msvc-0.11.19":
"1665fc8e37b5d70a134820d6d7891747471a2ac8bc940ee7af0b69fd03b28d61",
"x86_64-unknown-linux-gnu-0.11.19":
"7035608168e106375b36d0c818d537a889c51a8625fe7f8f7cad5e62b947c368",
"x86_64-unknown-linux-musl-0.11.19":
"c4c0d0a383413261af5f0f0743e1292f4aafbe907987ed83bd0ac66f0a3d7e20",
"aarch64-apple-darwin-0.11.18":
"1a7adf8dadae3b55853115d13a8bf564d219597ad13824b93b213706933863e5",
"aarch64-pc-windows-msvc-0.11.18":

View File

@@ -109,8 +109,9 @@ function getLinuxOSNameVersion(): string {
const id = parseOsReleaseValue(content, "ID");
const versionId = parseOsReleaseValue(content, "VERSION_ID");
// Fallback for rolling releases (debian:unstable/testing, arch, etc.)
// that don't have VERSION_ID but have VERSION_CODENAME
// that don't have VERSION_ID but have VERSION_CODENAME or BUILD_ID
const versionCodename = parseOsReleaseValue(content, "VERSION_CODENAME");
const buildId = parseOsReleaseValue(content, "BUILD_ID");
if (id && versionId) {
return `${id}-${versionId}`;
@@ -118,6 +119,9 @@ function getLinuxOSNameVersion(): string {
if (id && versionCodename) {
return `${id}-${versionCodename}`;
}
if (id && buildId) {
return `${id}-${buildId}`;
}
} catch {
// Try next file
}

View File

@@ -9,6 +9,7 @@ import {
import { normalizeVersionSpecifier } from "./specifier";
import { getUvVersionFromToolVersions } from "./tool-versions-file";
import type { ParsedVersionFile, VersionFileFormat } from "./types";
import { getUvVersionFromUvLock } from "./uv-lock-file";
interface VersionFileParser {
format: VersionFileFormat;
@@ -49,6 +50,11 @@ const VERSION_FILE_PARSERS: VersionFileParser[] = [
},
supports: (filePath) => filePath.endsWith("pyproject.toml"),
},
{
format: "uv.lock",
parse: (filePath) => getUvVersionFromUvLock(filePath),
supports: (filePath) => filePath.endsWith("uv.lock"),
},
{
format: "requirements",
parse: (filePath) => {

View File

@@ -11,6 +11,7 @@ export type VersionFileFormat =
| ".tool-versions"
| "pyproject.toml"
| "requirements"
| "uv.lock"
| "uv.toml";
export interface ParsedVersionFile {

View File

@@ -0,0 +1,24 @@
import fs from "node:fs";
import * as toml from "smol-toml";
interface UvLockPackage {
name?: string;
version?: string;
}
interface UvLock {
package?: UvLockPackage[];
}
export function getUvVersionFromUvLock(filePath: string): string | undefined {
const fileContent = fs.readFileSync(filePath, "utf-8");
return getUvVersionFromUvLockContent(fileContent);
}
export function getUvVersionFromUvLockContent(
fileContent: string,
): string | undefined {
const parsed = toml.parse(fileContent) as UvLock;
const uvPackage = parsed.package?.find((pkg) => pkg.name === "uv");
return uvPackage?.version;
}