Compare commits

..

8 Commits

Author SHA1 Message Date
dependabot[bot]
7e6ecf7c94 chore(deps-dev): bump js-yaml from 4.1.1 to 5.2.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 5.2.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...5.2.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 5.2.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-20 10:53:54 +00:00
Kevin Stillhammer
71966eff34 chore(deps): roll up Dependabot updates (#962)
## Summary

- update all CodeQL actions from 4.36.2 to 4.37.0
- update `smol-toml` from 1.6.1 to 1.7.0
- update `@types/node` from 25.5.0 to 26.0.1
- update `@vercel/ncc` from 0.44.0 to 0.44.1
- regenerate bundled action artifacts

Supersedes #950, #951, #952, #957, #958, and #959. The updates from #905
and #907 are already present on `main`.

Refs: pi-session 019f796d-a374-7a76-a8e4-1699b89ec8e6
2026-07-19 10:28:45 +02:00
Chenxin Zhong
f12b1f0a84 fix: fall back to distribution ID when os-release has no version field (#961)
## Summary

`getLinuxOSNameVersion()` throws `Failed to determine Linux
distribution. Could not read /etc/os-release or /usr/lib/os-release` on
distributions whose os-release is readable but contains **no version
field at all** — no `VERSION_ID`, no `VERSION_CODENAME`, no `BUILD_ID`.
The error message is misleading in that case, and the action fails even
though the distribution is perfectly identifiable.

Void Linux is such a distribution. Its os-release is:

```sh
$ cat /etc/os-release
NAME="Void"
ID="void"
PRETTY_NAME="Void Linux"
HOME_URL="https://voidlinux.org/"
DOCUMENTATION_URL="https://docs.voidlinux.org/"
LOGO="void-logo"
ANSI_COLOR="0;38;2;71;128;97"

DISTRIB_ID="void"
```

Unlike Arch (fixed by #912 via `BUILD_ID`) and debian:unstable (fixed
via `VERSION_CODENAME`, #773), Void ships only `ID`, so both existing
fallbacks miss it. This breaks any workflow using `container:
ghcr.io/void-linux/void-glibc-full` with caching enabled — e.g.
SageMath's CI started failing after bumping to v8:
https://github.com/sagemath/sage/actions/runs/29456228986/job/87489892141
(worked around downstream in https://github.com/sagemath/sage/pull/42547
by injecting a fake `BUILD_ID` into the container's os-release).

This PR adds a last-resort fallback: if `ID` is present but no version
field is, return the plain `ID` (`void`), following the same reasoning
as #912 — a stable cache key for a rolling release is better than
crashing. Distributions with a version field are unaffected, and files
without even an `ID` still raise the existing error.
2026-07-19 10:04:14 +02:00
github-actions[bot]
ecd24dd710 chore: update known checksums for 0.11.29 (#960)
chore: update known checksums for 0.11.29

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-07-16 10:58:57 +02:00
github-actions[bot]
6a19136684 docs: update version references to v8.3.2 (#949)
Update `uses: astral-sh/setup-uv@...` references in documentation to
`11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2`.

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-07-08 13:14:13 +02:00
Kevin Stillhammer
11f9893b08 chore: roll up Dependabot updates (#948)
## Summary
- roll up remaining open Dependabot updates for zizmor-action,
@actions/cache, @biomejs/biome, and @vercel/ncc
- update Biome schema and migrate recommended rules to the new preset
field
- regenerate dist bundles

## Validation
- npm run check
- npm run all

Refs: pi-session 019f4055-b39c-778f-9d9f-092115939c33
2026-07-08 11:05:26 +02:00
github-actions[bot]
f798556032 docs: update version references to v8.3.1 (#946)
Update `uses: astral-sh/setup-uv@...` references in documentation to
`f98e06938123ccabd21905ea5d0069192241f9f1 # v8.3.1`.

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-07-08 11:01:39 +02:00
github-actions[bot]
e80544d808 chore: update known checksums for 0.11.28 (#947)
chore: update known checksums for 0.11.28

Co-authored-by: eifinger <eifinger@users.noreply.github.com>
2026-07-08 08:04:53 +02:00
15 changed files with 755 additions and 582 deletions

View File

@@ -47,7 +47,7 @@ jobs:
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 uses: github/codeql-action/init@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
source-root: src source-root: src
@@ -59,7 +59,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # 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) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 uses: github/codeql-action/autobuild@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@@ -73,4 +73,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2 uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0

View File

@@ -27,7 +27,7 @@ jobs:
- name: Actionlint - name: Actionlint
uses: eifinger/actionlint-action@1fc89649be682d16ec5cf65ea16e269eb88d3982 # v1.10.2 uses: eifinger/actionlint-action@1fc89649be682d16ec5cf65ea16e269eb88d3982 # v1.10.2
- name: Run zizmor - name: Run zizmor
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6 uses: zizmorcore/zizmor-action@192e21d79ab29983730a13d1382995c2307fbcaa # v0.5.7
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with: with:
node-version-file: .nvmrc node-version-file: .nvmrc

View File

@@ -26,7 +26,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
```yaml ```yaml
- name: Install the latest version of uv - name: Install the latest version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
``` ```
If you do not specify a version, this action will look for a [required-version](https://docs.astral.sh/uv/reference/settings/#required-version) 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,7 +42,7 @@ Have a look under [Advanced Configuration](#advanced-configuration) for detailed
```yaml ```yaml
- name: Install uv with all available options - name: Install uv with all available options
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
# The version of uv to install (default: searches for version in config files, then latest) # The version of uv to install (default: searches for version in config files, then latest)
version: "" version: ""
@@ -148,7 +148,7 @@ This will override any python version specifications in `pyproject.toml` and `.p
```yaml ```yaml
- name: Install the latest version of uv and set the python version to 3.13t - name: Install the latest version of uv and set the python version to 3.13t
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
python-version: 3.13t python-version: 3.13t
- run: uv pip install --python=3.13t pip - run: uv pip install --python=3.13t pip
@@ -166,7 +166,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- name: Install the latest version of uv and set the python version - name: Install the latest version of uv and set the python version
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Test with python ${{ matrix.python-version }} - name: Test with python ${{ matrix.python-version }}
@@ -183,7 +183,7 @@ It also controls where [the venv gets created](#activate-environment), unless `v
```yaml ```yaml
- name: Install uv based on the config files in the working-directory - name: Install uv based on the config files in the working-directory
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
working-directory: my/subproject/dir working-directory: my/subproject/dir
``` ```
@@ -225,7 +225,7 @@ For example:
- name: Checkout the repository - name: Checkout the repository
uses: actions/checkout@main uses: actions/checkout@main
- name: Install the latest version of uv - name: Install the latest version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
- name: Test - name: Test
@@ -237,7 +237,7 @@ To install a specific version of Python, use
```yaml ```yaml
- name: Install the latest version of uv - name: Install the latest version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
- name: Install Python 3.12 - name: Install Python 3.12
@@ -256,7 +256,7 @@ output:
uses: actions/checkout@main uses: actions/checkout@main
- name: Install the default version of uv - name: Install the default version of uv
id: setup-uv id: setup-uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
- name: Print the installed version - name: Print the installed version
run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}" run: echo "Installed uv version is ${{ steps.setup-uv.outputs.uv-version }}"
``` ```

View File

@@ -1,5 +1,5 @@
{ {
"$schema": "https://biomejs.dev/schemas/2.4.16/schema.json", "$schema": "https://biomejs.dev/schemas/2.5.1/schema.json",
"assist": { "assist": {
"actions": { "actions": {
"source": { "source": {
@@ -34,7 +34,7 @@
"linter": { "linter": {
"enabled": true, "enabled": true,
"rules": { "rules": {
"recommended": true "preset": "recommended"
} }
}, },
"vcs": { "vcs": {

429
dist/save-cache/index.cjs generated vendored
View File

@@ -22687,7 +22687,7 @@ var require_package = __commonJS({
"node_modules/@actions/cache/package.json"(exports2, module2) { "node_modules/@actions/cache/package.json"(exports2, module2) {
module2.exports = { module2.exports = {
name: "@actions/cache", name: "@actions/cache",
version: "6.0.1", version: "6.1.0",
description: "Actions cache lib", description: "Actions cache lib",
keywords: [ keywords: [
"github", "github",
@@ -61406,6 +61406,14 @@ var ReserveCacheError = class _ReserveCacheError extends Error {
Object.setPrototypeOf(this, _ReserveCacheError.prototype); Object.setPrototypeOf(this, _ReserveCacheError.prototype);
} }
}; };
var CACHE_WRITE_DENIED_PREFIX = "cache write denied:";
var CacheWriteDeniedError = class _CacheWriteDeniedError extends ReserveCacheError {
constructor(message) {
super(message);
this.name = "CacheWriteDeniedError";
Object.setPrototypeOf(this, _CacheWriteDeniedError.prototype);
}
};
var FinalizeCacheError = class _FinalizeCacheError extends Error { var FinalizeCacheError = class _FinalizeCacheError extends Error {
constructor(message) { constructor(message) {
super(message); super(message);
@@ -61444,7 +61452,7 @@ function saveCache2(paths_1, key_1, options_1) {
} }
function saveCacheV1(paths_1, key_1, options_1) { function saveCacheV1(paths_1, key_1, options_1) {
return __awaiter16(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { return __awaiter16(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
var _a, _b, _c, _d, _e; var _a, _b, _c, _d, _e, _f;
const compressionMethod = yield getCompressionMethod(); const compressionMethod = yield getCompressionMethod();
let cacheId = -1; let cacheId = -1;
const cachePaths = yield resolvePaths(paths); const cachePaths = yield resolvePaths(paths);
@@ -61478,7 +61486,11 @@ function saveCacheV1(paths_1, key_1, options_1) {
} else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) { } else if ((reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.statusCode) === 400) {
throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`); throw new Error((_d = (_c = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : `Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the data cap limit, not saving cache.`);
} else { } else {
throw new ReserveCacheError(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message}`); const detailMessage = (_e = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _e === void 0 ? void 0 : _e.message;
if (detailMessage === null || detailMessage === void 0 ? void 0 : detailMessage.startsWith(CACHE_WRITE_DENIED_PREFIX)) {
throw new CacheWriteDeniedError(`Unable to reserve cache with key ${key}. More details: ${detailMessage}`);
}
throw new ReserveCacheError(`Unable to reserve cache with key ${key}, another job may be creating this cache. More details: ${(_f = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.error) === null || _f === void 0 ? void 0 : _f.message}`);
} }
debug(`Saving Cache (ID: ${cacheId})`); debug(`Saving Cache (ID: ${cacheId})`);
yield saveCache(cacheId, archivePath, "", options); yield saveCache(cacheId, archivePath, "", options);
@@ -61486,6 +61498,8 @@ function saveCacheV1(paths_1, key_1, options_1) {
const typedError = error2; const typedError = error2;
if (typedError.name === ValidationError.name) { if (typedError.name === ValidationError.name) {
throw error2; throw error2;
} else if (typedError.name === CacheWriteDeniedError.name) {
warning(`Failed to save: ${typedError.message}`);
} else if (typedError.name === ReserveCacheError.name) { } else if (typedError.name === ReserveCacheError.name) {
info(`Failed to save: ${typedError.message}`); info(`Failed to save: ${typedError.message}`);
} else { } else {
@@ -61507,6 +61521,7 @@ function saveCacheV1(paths_1, key_1, options_1) {
} }
function saveCacheV2(paths_1, key_1, options_1) { function saveCacheV2(paths_1, key_1, options_1) {
return __awaiter16(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) { return __awaiter16(this, arguments, void 0, function* (paths, key, options, enableCrossOsArchive = false) {
var _a;
options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true }); options = Object.assign(Object.assign({}, options), { uploadChunkSize: 64 * 1024 * 1024, uploadConcurrency: 8, useAzureSdk: true });
const compressionMethod = yield getCompressionMethod(); const compressionMethod = yield getCompressionMethod();
const twirpClient = internalCacheTwirpClient(); const twirpClient = internalCacheTwirpClient();
@@ -61538,7 +61553,7 @@ function saveCacheV2(paths_1, key_1, options_1) {
try { try {
const response = yield twirpClient.CreateCacheEntry(request); const response = yield twirpClient.CreateCacheEntry(request);
if (!response.ok) { if (!response.ok) {
if (response.message) { if (response.message && !response.message.startsWith(CACHE_WRITE_DENIED_PREFIX)) {
warning(`Cache reservation failed: ${response.message}`); warning(`Cache reservation failed: ${response.message}`);
} }
throw new Error(response.message || "Response was not ok"); throw new Error(response.message || "Response was not ok");
@@ -61546,6 +61561,10 @@ function saveCacheV2(paths_1, key_1, options_1) {
signedUploadUrl = response.signedUploadUrl; signedUploadUrl = response.signedUploadUrl;
} catch (error2) { } catch (error2) {
debug(`Failed to reserve cache: ${error2}`); debug(`Failed to reserve cache: ${error2}`);
const errorMessage = (_a = error2 === null || error2 === void 0 ? void 0 : error2.message) !== null && _a !== void 0 ? _a : "";
if (errorMessage.startsWith(CACHE_WRITE_DENIED_PREFIX)) {
throw new CacheWriteDeniedError(`Unable to reserve cache with key ${key}. More details: ${errorMessage}`);
}
throw new ReserveCacheError(`Unable to reserve cache with key ${key}, another job may be creating this cache.`); throw new ReserveCacheError(`Unable to reserve cache with key ${key}, another job may be creating this cache.`);
} }
debug(`Attempting to upload cache located at: ${archivePath}`); debug(`Attempting to upload cache located at: ${archivePath}`);
@@ -61568,6 +61587,8 @@ function saveCacheV2(paths_1, key_1, options_1) {
const typedError = error2; const typedError = error2;
if (typedError.name === ValidationError.name) { if (typedError.name === ValidationError.name) {
throw error2; throw error2;
} else if (typedError.name === CacheWriteDeniedError.name) {
warning(`Failed to save: ${typedError.message}`);
} else if (typedError.name === ReserveCacheError.name) { } else if (typedError.name === ReserveCacheError.name) {
info(`Failed to save: ${typedError.message}`); info(`Failed to save: ${typedError.message}`);
} else if (typedError.name === FinalizeCacheError.name) { } else if (typedError.name === FinalizeCacheError.name) {
@@ -61814,125 +61835,6 @@ var import_node_path = __toESM(require("node:path"), 1);
// src/utils/config-file.ts // src/utils/config-file.ts
var import_node_fs2 = __toESM(require("node:fs"), 1); var import_node_fs2 = __toESM(require("node:fs"), 1);
// node_modules/smol-toml/dist/error.js
function getLineColFromPtr(string, ptr) {
let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
return [lines.length, lines.pop().length + 1];
}
function makeCodeBlock(string, line, column) {
let lines = string.split(/\r\n|\n|\r/g);
let codeblock = "";
let numberLen = (Math.log10(line + 1) | 0) + 1;
for (let i = line - 1; i <= line + 1; i++) {
let l = lines[i - 1];
if (!l)
continue;
codeblock += i.toString().padEnd(numberLen, " ");
codeblock += ": ";
codeblock += l;
codeblock += "\n";
if (i === line) {
codeblock += " ".repeat(numberLen + column + 2);
codeblock += "^\n";
}
}
return codeblock;
}
var TomlError = class extends Error {
line;
column;
codeblock;
constructor(message, options) {
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
const codeblock = makeCodeBlock(options.toml, line, column);
super(`Invalid TOML document: ${message}
${codeblock}`, options);
this.line = line;
this.column = column;
this.codeblock = codeblock;
}
};
// node_modules/smol-toml/dist/util.js
function isEscaped(str, ptr) {
let i = 0;
while (str[ptr - ++i] === "\\")
;
return --i && i % 2;
}
function indexOfNewline(str, start = 0, end = str.length) {
let idx = str.indexOf("\n", start);
if (str[idx - 1] === "\r")
idx--;
return idx <= end ? idx : -1;
}
function skipComment(str, ptr) {
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "\n")
return i;
if (c === "\r" && str[i + 1] === "\n")
return i + 1;
if (c < " " && c !== " " || c === "\x7F") {
throw new TomlError("control characters are not allowed in comments", {
toml: str,
ptr
});
}
}
return str.length;
}
function skipVoid(str, ptr, banNewLines, banComments) {
let c;
while (1) {
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
ptr++;
if (banComments || c !== "#")
break;
ptr = skipComment(str, ptr);
}
return ptr;
}
function skipUntil(str, ptr, sep7, end, banNewLines = false) {
if (!end) {
ptr = indexOfNewline(str, ptr);
return ptr < 0 ? str.length : ptr;
}
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "#") {
i = indexOfNewline(str, i);
} else if (c === sep7) {
return i + 1;
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
return i;
}
}
throw new TomlError("cannot find end of structure", {
toml: str,
ptr
});
}
function getStringEnd(str, seek) {
let first = str[seek];
let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
seek += target.length - 1;
do
seek = str.indexOf(target, ++seek);
while (seek > -1 && first !== "'" && isEscaped(str, seek));
if (seek > -1) {
seek += target.length;
if (target.length > 1) {
if (str[seek] === first)
seek++;
if (str[seek] === first)
seek++;
}
}
return seek;
}
// node_modules/smol-toml/dist/date.js // node_modules/smol-toml/dist/date.js
var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i; var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;
var TomlDate = class _TomlDate extends Date { var TomlDate = class _TomlDate extends Date {
@@ -62025,93 +61927,153 @@ var TomlDate = class _TomlDate extends Date {
} }
}; };
// node_modules/smol-toml/dist/error.js
function getLineColFromPtr(string, ptr) {
let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
return [lines.length, lines.pop().length + 1];
}
function makeCodeBlock(string, line, column) {
let lines = string.split(/\r\n|\n|\r/g);
let codeblock = "";
let numberLen = (Math.log10(line + 1) | 0) + 1;
for (let i = line - 1; i <= line + 1; i++) {
let l = lines[i - 1];
if (!l)
continue;
codeblock += i.toString().padEnd(numberLen, " ");
codeblock += ": ";
codeblock += l;
codeblock += "\n";
if (i === line) {
codeblock += " ".repeat(numberLen + column + 2);
codeblock += "^\n";
}
}
return codeblock;
}
var TomlError = class extends Error {
line;
column;
codeblock;
constructor(message, options) {
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
const codeblock = makeCodeBlock(options.toml, line, column);
super(`Invalid TOML document: ${message}
${codeblock}`, options);
this.line = line;
this.column = column;
this.codeblock = codeblock;
}
};
// node_modules/smol-toml/dist/primitive.js // node_modules/smol-toml/dist/primitive.js
var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/; var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/; var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
var LEADING_ZERO = /^[+-]?0[0-9_]/; var LEADING_ZERO = /^[+-]?0[0-9_]/;
var ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i; function parseString(str, ptr) {
var ESC_MAP = { let c = str[ptr++];
b: "\b", let first = c;
t: " ", let isLiteral = c === "'";
n: "\n", let isMultiline = c === str[ptr] && c === str[ptr + 1];
f: "\f",
r: "\r",
e: "\x1B",
'"': '"',
"\\": "\\"
};
function parseString(str, ptr = 0, endPtr = str.length) {
let isLiteral = str[ptr] === "'";
let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
if (isMultiline) { if (isMultiline) {
endPtr -= 2; if (str[ptr += 2] === "\n")
if (str[ptr += 2] === "\r")
ptr++;
if (str[ptr] === "\n")
ptr++; ptr++;
else if (str[ptr] === "\r" && str[ptr + 1] === "\n")
ptr += 2;
} }
let tmp = 0;
let isEscape;
let parsed = ""; let parsed = "";
let sliceStart = ptr; let sliceStart = ptr;
while (ptr < endPtr - 1) { let state3 = 0;
let c = str[ptr++]; for (let i = ptr; i < str.length; i++) {
if (c === "\n" || c === "\r" && str[ptr] === "\n") { c = str[i];
if (!isMultiline) { if (isMultiline && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
throw new TomlError("newlines are not allowed in strings", { state3 = state3 && 3;
toml: str,
ptr: ptr - 1
});
}
} else if (c < " " && c !== " " || c === "\x7F") { } else if (c < " " && c !== " " || c === "\x7F") {
throw new TomlError("control characters are not allowed in strings", { throw new TomlError("control characters are not allowed in strings", {
toml: str, toml: str,
ptr: ptr - 1 ptr: i
}); });
} } else if ((!state3 || state3 === 3) && c === first && (!isMultiline || str[i + 1] === first && str[i + 2] === first)) {
if (isEscape) { if (isMultiline) {
isEscape = false; if (str[i + 3] === first)
i++;
if (str[i + 3] === first)
i++;
}
return [
// If we're in a newline escape still, then there's nothing to add.
// Also try to avoid concat if there's nothing to add to parsed, or nothing has been added to parsed.
state3 ? parsed : parsed + str.slice(sliceStart, i),
i + (isMultiline ? 3 : 1)
];
} else if (!state3) {
if (!isLiteral && c === "\\") {
parsed += str.slice(sliceStart, sliceStart = i);
state3 = 1;
}
} else if (state3 === 1) {
if (c === "x" || c === "u" || c === "U") { if (c === "x" || c === "u" || c === "U") {
let code = str.slice(ptr, ptr += c === "x" ? 2 : c === "u" ? 4 : 8); let value = 0;
if (!ESCAPE_REGEX.test(code)) { let len = c === "x" ? 2 : c === "u" ? 4 : 8;
throw new TomlError("invalid unicode escape", { for (let j = 0; j < len; j++, i++) {
toml: str, let hex = str.charCodeAt(i + 1);
ptr: tmp let digit = (
}); /* 0-9 */
hex >= 48 && hex <= 57 ? hex - 48 : (
/* A-F */
hex >= 65 && hex <= 70 ? hex - 65 + 10 : (
/* a-f */
hex >= 97 && hex <= 102 ? hex - 97 + 10 : -1
)
)
);
if (digit < 0)
throw new TomlError("invalid non-hex character in unicode escape", { toml: str, ptr: i + 1 });
value = value << 4 | digit;
} }
try { if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
parsed += String.fromCodePoint(parseInt(code, 16)); throw new TomlError("invalid unicode escape", { toml: str, ptr: i });
} catch {
throw new TomlError("invalid unicode escape", {
toml: str,
ptr: tmp
});
} }
} else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) { parsed += String.fromCodePoint(value);
ptr = skipVoid(str, ptr - 1, true); sliceStart = i + 1;
if (str[ptr] !== "\n" && str[ptr] !== "\r") { state3 = 0;
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", { } else if (c === " " || c === " ") {
toml: str, state3 = 2;
ptr: tmp
});
}
ptr = skipVoid(str, ptr);
} else if (c in ESC_MAP) {
parsed += ESC_MAP[c];
} else { } else {
throw new TomlError("unrecognized escape sequence", { if (c === "b")
parsed += "\b";
else if (c === "t")
parsed += " ";
else if (c === "n")
parsed += "\n";
else if (c === "f")
parsed += "\f";
else if (c === "r")
parsed += "\r";
else if (c === "e")
parsed += "\x1B";
else if (c === '"')
parsed += '"';
else if (c === "\\")
parsed += "\\";
else
throw new TomlError("unrecognized escape sequence", { toml: str, ptr: i });
sliceStart = i + 1;
state3 = 0;
}
} else if (c !== " " && c !== " ") {
if (state3 === 2) {
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
toml: str, toml: str,
ptr: tmp ptr: sliceStart
}); });
} }
sliceStart = ptr; state3 = !isLiteral && c === "\\" ? 1 : 0;
} else if (!isLiteral && c === "\\") { sliceStart = i;
tmp = ptr - 1;
isEscape = true;
parsed += str.slice(sliceStart, tmp);
} }
} }
return parsed + str.slice(sliceStart, endPtr - 1); throw new TomlError("unfinished string", { toml: str, ptr });
} }
function parseValue2(value, toml, ptr, integersAsBigInt) { function parseValue2(value, toml, ptr, integersAsBigInt) {
if (value === "true") if (value === "true")
@@ -62164,6 +62126,61 @@ function parseValue2(value, toml, ptr, integersAsBigInt) {
return date; return date;
} }
// node_modules/smol-toml/dist/util.js
function indexOfNewline(str, start = 0, end = str.length) {
let idx = str.indexOf("\n", start);
if (str[idx - 1] === "\r")
idx--;
return idx <= end ? idx : -1;
}
function skipComment(str, ptr) {
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "\n")
return i;
if (c === "\r" && str[i + 1] === "\n")
return i + 1;
if (c < " " && c !== " " || c === "\x7F") {
throw new TomlError("control characters are not allowed in comments", {
toml: str,
ptr
});
}
}
return str.length;
}
function skipVoid(str, ptr, banNewLines, banComments) {
let c;
while (1) {
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
ptr++;
if (banComments || c !== "#")
break;
ptr = skipComment(str, ptr);
}
return ptr;
}
function skipUntil(str, ptr, sep7, end, banNewLines = false) {
if (!end) {
ptr = indexOfNewline(str, ptr);
return ptr < 0 ? str.length : ptr;
}
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "#") {
i = indexOfNewline(str, i);
} else if (c === sep7) {
return i + 1;
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
return i;
}
}
throw new TomlError("cannot find end of structure", {
toml: str,
ptr
});
}
// node_modules/smol-toml/dist/extract.js // node_modules/smol-toml/dist/extract.js
function sliceAndTrimEndOf(str, startPtr, endPtr) { function sliceAndTrimEndOf(str, startPtr, endPtr) {
let value = str.slice(startPtr, endPtr); let value = str.slice(startPtr, endPtr);
@@ -62197,24 +62214,23 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
} }
return [value, endPtr2]; return [value, endPtr2];
} }
let endPtr;
if (c === '"' || c === "'") { if (c === '"' || c === "'") {
endPtr = getStringEnd(str, ptr); let [parsed, endPtr2] = parseString(str, ptr);
let parsed = parseString(str, ptr, endPtr);
if (end) { if (end) {
endPtr = skipVoid(str, endPtr); endPtr2 = skipVoid(str, endPtr2);
if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") { if (str[endPtr2] && str[endPtr2] !== "," && str[endPtr2] !== end && str[endPtr2] !== "\n" && str[endPtr2] !== "\r") {
throw new TomlError("unexpected character encountered", { throw new TomlError("unexpected character encountered", {
toml: str, toml: str,
ptr: endPtr ptr: endPtr2
}); });
} }
endPtr += +(str[endPtr] === ","); if (str[endPtr2] === ",")
endPtr2++;
} }
return [parsed, endPtr]; return [parsed, endPtr2];
} }
endPtr = skipUntil(str, ptr, ",", end); let endPtr = skipUntil(str, ptr, ",", end);
let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ",")); let slice = sliceAndTrimEndOf(str, ptr, endPtr - (str[endPtr - 1] === "," ? 1 : 0));
if (!slice[0]) { if (!slice[0]) {
throw new TomlError("incomplete key-value declaration: no value specified", { throw new TomlError("incomplete key-value declaration: no value specified", {
toml: str, toml: str,
@@ -62223,7 +62239,8 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
} }
if (end && slice[1] > -1) { if (end && slice[1] > -1) {
endPtr = skipVoid(str, ptr + slice[1]); endPtr = skipVoid(str, ptr + slice[1]);
endPtr += +(str[endPtr] === ","); if (str[endPtr] === ",")
endPtr++;
} }
return [ return [
parseValue2(slice[0], str, ptr, integersAsBigInt), parseValue2(slice[0], str, ptr, integersAsBigInt),
@@ -62253,13 +62270,7 @@ function parseKey(str, ptr, end = "=") {
ptr ptr
}); });
} }
let eos = getStringEnd(str, ptr); let [part, eos] = parseString(str, ptr);
if (eos < 0) {
throw new TomlError("unfinished string encountered", {
toml: str,
ptr
});
}
dot = str.indexOf(".", eos); dot = str.indexOf(".", eos);
let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot); let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
let newLine = indexOfNewline(strEnd); let newLine = indexOfNewline(strEnd);
@@ -62284,7 +62295,7 @@ function parseKey(str, ptr, end = "=") {
}); });
} }
} }
parsed.push(parseString(str, ptr, eos)); parsed.push(part);
} else { } else {
dot = str.indexOf(".", ptr); dot = str.indexOf(".", ptr);
let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot); let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
@@ -62910,10 +62921,10 @@ undici/lib/web/fetch/body.js:
undici/lib/web/websocket/frame.js: undici/lib/web/websocket/frame.js:
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *) (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
smol-toml/dist/error.js:
smol-toml/dist/util.js:
smol-toml/dist/date.js: smol-toml/dist/date.js:
smol-toml/dist/error.js:
smol-toml/dist/primitive.js: smol-toml/dist/primitive.js:
smol-toml/dist/util.js:
smol-toml/dist/extract.js: smol-toml/dist/extract.js:
smol-toml/dist/struct.js: smol-toml/dist/struct.js:
smol-toml/dist/parse.js: smol-toml/dist/parse.js:

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

@@ -22686,7 +22686,7 @@ var require_package = __commonJS({
"node_modules/@actions/cache/package.json"(exports2, module2) { "node_modules/@actions/cache/package.json"(exports2, module2) {
module2.exports = { module2.exports = {
name: "@actions/cache", name: "@actions/cache",
version: "6.0.1", version: "6.1.0",
description: "Actions cache lib", description: "Actions cache lib",
keywords: [ keywords: [
"github", "github",
@@ -90506,6 +90506,7 @@ function getOSNameVersion() {
} }
function getLinuxOSNameVersion() { function getLinuxOSNameVersion() {
const files = ["/etc/os-release", "/usr/lib/os-release"]; const files = ["/etc/os-release", "/usr/lib/os-release"];
let idWithoutVersion;
for (const file of files) { for (const file of files) {
try { try {
const content = import_node_fs2.default.readFileSync(file, "utf8"); const content = import_node_fs2.default.readFileSync(file, "utf8");
@@ -90522,9 +90523,15 @@ function getLinuxOSNameVersion() {
if (id && buildId) { if (id && buildId) {
return `${id}-${buildId}`; return `${id}-${buildId}`;
} }
if (id && idWithoutVersion === void 0) {
idWithoutVersion = id;
}
} catch { } catch {
} }
} }
if (idWithoutVersion) {
return idWithoutVersion;
}
throw new Error( throw new Error(
"Failed to determine Linux distribution. Could not read /etc/os-release or /usr/lib/os-release" "Failed to determine Linux distribution. Could not read /etc/os-release or /usr/lib/os-release"
); );
@@ -91093,6 +91100,42 @@ var fs10 = __toESM(require("node:fs"), 1);
// src/download/checksum/known-checksums.ts // src/download/checksum/known-checksums.ts
var KNOWN_CHECKSUMS = { var KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.11.29": "61c04acc52a33ef0f331e494bdfbedcdb6c26c6970c022ed3699e5860f8930e3",
"aarch64-pc-windows-msvc-0.11.29": "55b597ae81bc29531a7c352a1431a8a73cc2755d7a5b9ec454580cbe02e5154f",
"aarch64-unknown-linux-gnu-0.11.29": "94500fb064ae3c971a873cba64d94694c50677e0a4dbf78735c80509e7429919",
"aarch64-unknown-linux-musl-0.11.29": "593d79a797ece3f1dfaaf3e0a973263422a135d9262c7dbc6cd75d9c11acc0b4",
"arm-unknown-linux-musleabihf-0.11.29": "b160d7eb7dc45af378b3c9dd2cd6b07d64c65b509f2da673434e8e5dc996e5b1",
"armv7-unknown-linux-gnueabihf-0.11.29": "7b5717ae304fbb1e94104699fb8c08b32d1537fedc90dd8fcf87768d818951ed",
"armv7-unknown-linux-musleabihf-0.11.29": "bfd05286a80b39bd4708bbbb4450fe09f07fea86eea60d31ea2de0b5e816ef54",
"i686-pc-windows-msvc-0.11.29": "c173af6f6e125d65214b55d6b75fcf1a32d5e1c3a656938740fe0b2379cd4bcc",
"i686-unknown-linux-gnu-0.11.29": "c62af324951ae6f31f9453280e077176c96b6e31897d8133c00411a91a20878f",
"i686-unknown-linux-musl-0.11.29": "368dd75d030cae0512631ba0d50604e8471275ec2d9f02836edb91e4c82ad36a",
"powerpc64le-unknown-linux-gnu-0.11.29": "641b15637de9fedc7e738b0e4716b2233c792ba6dca722ba0484381749e1a9fd",
"riscv64gc-unknown-linux-gnu-0.11.29": "5c1229cc0309ebc6872ee847b8fc75564b3b7688edeb09e19427203e2dbc0ea7",
"riscv64gc-unknown-linux-musl-0.11.29": "d4708d913ba88fad9fe1d81da3e13aecadde7a3190cc095a7f2af2fa5c8caa8f",
"s390x-unknown-linux-gnu-0.11.29": "fa029183f550a3b00b89c06529fabfa11e0c69c097ccd397a8e7eae46f397348",
"x86_64-apple-darwin-0.11.29": "c4c4de482da9ccdd076dc4fb5cfe7b740609029385c72f58606be3153602387d",
"x86_64-pc-windows-msvc-0.11.29": "a047d55651bc3e0ca24595b25ec4cfcb10f9dca9fb56514e661269b37d4fae68",
"x86_64-unknown-linux-gnu-0.11.29": "04f8b82f5d47f0512dcd32c67a4a6f16a0ea27c81537c338fd0ad6b23cebe829",
"x86_64-unknown-linux-musl-0.11.29": "46711858adb2a3acaa9cee00f9060688ad1fd5706aecc005b96a6a7f285a00b7",
"aarch64-apple-darwin-0.11.28": "33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
"aarch64-pc-windows-msvc-0.11.28": "3248109afad3ec59baad299d324ff53de17e2d9a3b3e21580ffd26744b11e036",
"aarch64-unknown-linux-gnu-0.11.28": "03e9fe0a81b0718d0bc84625de3885df6cc3f89a8b6af6121d6b9f6113fb6533",
"aarch64-unknown-linux-musl-0.11.28": "da10cdfa7d92212b7acb62021a0fd61bcf8580c58c3632ec915d10c3a1a7906b",
"arm-unknown-linux-musleabihf-0.11.28": "955f9697d4781cf4dfc62d9442a49f3e57861f19405a981ffe9fdc0d18e0a31a",
"armv7-unknown-linux-gnueabihf-0.11.28": "b7cddaad27cd531096e88e64de863f7e37c6fedde11c97595060e6503544d120",
"armv7-unknown-linux-musleabihf-0.11.28": "eb00e0f246d278133df6a55b5d3534a49f051a7dfc276f640b66504c091167f6",
"i686-pc-windows-msvc-0.11.28": "01975deb06072edfc1f18435c25737d8d378dc849b918cd580768ab3b7641e85",
"i686-unknown-linux-gnu-0.11.28": "f8d01e918dd4d5eabdd4caee78e8adbc3993a70f3b82395fa6b23fcf791925d9",
"i686-unknown-linux-musl-0.11.28": "c869415e44e13000d9daae15cec7bcfaf0735915a8d6e66402d459f6bed35710",
"powerpc64le-unknown-linux-gnu-0.11.28": "b634b6f26a036d112914c2d6d7ae1944bf8f4a6dfed6e19a22b35e5d91f168fb",
"riscv64gc-unknown-linux-gnu-0.11.28": "be7473dc29ee88bd260e30642faa5ba6dccd7d4493012077873b293c377ab546",
"riscv64gc-unknown-linux-musl-0.11.28": "4a9e553d8a62c42600d5c2874b7c2f728c03d4310d72ed7351edbee8ed6a71b4",
"s390x-unknown-linux-gnu-0.11.28": "f5ed9d2aed566e11ffc3f1f7ab5b4049dfbfcb04c326ce2ed5bbf42069d62b27",
"x86_64-apple-darwin-0.11.28": "2ad79983127ffca7d77b77ce6a24278d7e4f7b817a1acf72fea5f8124b4aac5e",
"x86_64-pc-windows-msvc-0.11.28": "0a23463216d09c6a72ff80ef5dc5a795f07dc1575cb84d24596c2f124a441b7b",
"x86_64-unknown-linux-gnu-0.11.28": "e490a6464492183c5d4534a5527fb4440f7f2bb2f228162ad7e4afe076dc0224",
"x86_64-unknown-linux-musl-0.11.28": "f02146b371c35c287d860f003ece7345c86e358a3fd70a9b63700cd141ee7fb4",
"aarch64-apple-darwin-0.11.27": "34e63cc0de0aebbc8d424767c588c31b685479f045f9ced9e5ef43ff9e0e8d63", "aarch64-apple-darwin-0.11.27": "34e63cc0de0aebbc8d424767c588c31b685479f045f9ced9e5ef43ff9e0e8d63",
"aarch64-pc-windows-msvc-0.11.27": "7566a80fe96ee84e6938621a1b704f44b0db546672bf43025905784b2507b7fe", "aarch64-pc-windows-msvc-0.11.27": "7566a80fe96ee84e6938621a1b704f44b0db546672bf43025905784b2507b7fe",
"aarch64-unknown-linux-gnu-0.11.27": "321580b9a7069d0cdbd8db9482a5fb62b4f1285110f847746e3b495408e3a08c", "aarch64-unknown-linux-gnu-0.11.27": "321580b9a7069d0cdbd8db9482a5fb62b4f1285110f847746e3b495408e3a08c",
@@ -96702,125 +96745,6 @@ var import_node_fs6 = __toESM(require("node:fs"), 1);
// src/utils/config-file.ts // src/utils/config-file.ts
var import_node_fs3 = __toESM(require("node:fs"), 1); var import_node_fs3 = __toESM(require("node:fs"), 1);
// node_modules/smol-toml/dist/error.js
function getLineColFromPtr(string, ptr) {
let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
return [lines.length, lines.pop().length + 1];
}
function makeCodeBlock(string, line, column) {
let lines = string.split(/\r\n|\n|\r/g);
let codeblock = "";
let numberLen = (Math.log10(line + 1) | 0) + 1;
for (let i = line - 1; i <= line + 1; i++) {
let l = lines[i - 1];
if (!l)
continue;
codeblock += i.toString().padEnd(numberLen, " ");
codeblock += ": ";
codeblock += l;
codeblock += "\n";
if (i === line) {
codeblock += " ".repeat(numberLen + column + 2);
codeblock += "^\n";
}
}
return codeblock;
}
var TomlError = class extends Error {
line;
column;
codeblock;
constructor(message, options) {
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
const codeblock = makeCodeBlock(options.toml, line, column);
super(`Invalid TOML document: ${message}
${codeblock}`, options);
this.line = line;
this.column = column;
this.codeblock = codeblock;
}
};
// node_modules/smol-toml/dist/util.js
function isEscaped(str, ptr) {
let i = 0;
while (str[ptr - ++i] === "\\")
;
return --i && i % 2;
}
function indexOfNewline(str, start = 0, end = str.length) {
let idx = str.indexOf("\n", start);
if (str[idx - 1] === "\r")
idx--;
return idx <= end ? idx : -1;
}
function skipComment(str, ptr) {
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "\n")
return i;
if (c === "\r" && str[i + 1] === "\n")
return i + 1;
if (c < " " && c !== " " || c === "\x7F") {
throw new TomlError("control characters are not allowed in comments", {
toml: str,
ptr
});
}
}
return str.length;
}
function skipVoid(str, ptr, banNewLines, banComments) {
let c;
while (1) {
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
ptr++;
if (banComments || c !== "#")
break;
ptr = skipComment(str, ptr);
}
return ptr;
}
function skipUntil(str, ptr, sep8, end, banNewLines = false) {
if (!end) {
ptr = indexOfNewline(str, ptr);
return ptr < 0 ? str.length : ptr;
}
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "#") {
i = indexOfNewline(str, i);
} else if (c === sep8) {
return i + 1;
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
return i;
}
}
throw new TomlError("cannot find end of structure", {
toml: str,
ptr
});
}
function getStringEnd(str, seek) {
let first = str[seek];
let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
seek += target.length - 1;
do
seek = str.indexOf(target, ++seek);
while (seek > -1 && first !== "'" && isEscaped(str, seek));
if (seek > -1) {
seek += target.length;
if (target.length > 1) {
if (str[seek] === first)
seek++;
if (str[seek] === first)
seek++;
}
}
return seek;
}
// node_modules/smol-toml/dist/date.js // node_modules/smol-toml/dist/date.js
var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i; var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;
var TomlDate = class _TomlDate extends Date { var TomlDate = class _TomlDate extends Date {
@@ -96913,93 +96837,153 @@ var TomlDate = class _TomlDate extends Date {
} }
}; };
// node_modules/smol-toml/dist/error.js
function getLineColFromPtr(string, ptr) {
let lines = string.slice(0, ptr).split(/\r\n|\n|\r/g);
return [lines.length, lines.pop().length + 1];
}
function makeCodeBlock(string, line, column) {
let lines = string.split(/\r\n|\n|\r/g);
let codeblock = "";
let numberLen = (Math.log10(line + 1) | 0) + 1;
for (let i = line - 1; i <= line + 1; i++) {
let l = lines[i - 1];
if (!l)
continue;
codeblock += i.toString().padEnd(numberLen, " ");
codeblock += ": ";
codeblock += l;
codeblock += "\n";
if (i === line) {
codeblock += " ".repeat(numberLen + column + 2);
codeblock += "^\n";
}
}
return codeblock;
}
var TomlError = class extends Error {
line;
column;
codeblock;
constructor(message, options) {
const [line, column] = getLineColFromPtr(options.toml, options.ptr);
const codeblock = makeCodeBlock(options.toml, line, column);
super(`Invalid TOML document: ${message}
${codeblock}`, options);
this.line = line;
this.column = column;
this.codeblock = codeblock;
}
};
// node_modules/smol-toml/dist/primitive.js // node_modules/smol-toml/dist/primitive.js
var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/; var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/; var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
var LEADING_ZERO = /^[+-]?0[0-9_]/; var LEADING_ZERO = /^[+-]?0[0-9_]/;
var ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i; function parseString(str, ptr) {
var ESC_MAP = { let c = str[ptr++];
b: "\b", let first = c;
t: " ", let isLiteral = c === "'";
n: "\n", let isMultiline = c === str[ptr] && c === str[ptr + 1];
f: "\f",
r: "\r",
e: "\x1B",
'"': '"',
"\\": "\\"
};
function parseString(str, ptr = 0, endPtr = str.length) {
let isLiteral = str[ptr] === "'";
let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
if (isMultiline) { if (isMultiline) {
endPtr -= 2; if (str[ptr += 2] === "\n")
if (str[ptr += 2] === "\r")
ptr++;
if (str[ptr] === "\n")
ptr++; ptr++;
else if (str[ptr] === "\r" && str[ptr + 1] === "\n")
ptr += 2;
} }
let tmp = 0;
let isEscape;
let parsed = ""; let parsed = "";
let sliceStart = ptr; let sliceStart = ptr;
while (ptr < endPtr - 1) { let state3 = 0;
let c = str[ptr++]; for (let i = ptr; i < str.length; i++) {
if (c === "\n" || c === "\r" && str[ptr] === "\n") { c = str[i];
if (!isMultiline) { if (isMultiline && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
throw new TomlError("newlines are not allowed in strings", { state3 = state3 && 3;
toml: str,
ptr: ptr - 1
});
}
} else if (c < " " && c !== " " || c === "\x7F") { } else if (c < " " && c !== " " || c === "\x7F") {
throw new TomlError("control characters are not allowed in strings", { throw new TomlError("control characters are not allowed in strings", {
toml: str, toml: str,
ptr: ptr - 1 ptr: i
}); });
} } else if ((!state3 || state3 === 3) && c === first && (!isMultiline || str[i + 1] === first && str[i + 2] === first)) {
if (isEscape) { if (isMultiline) {
isEscape = false; if (str[i + 3] === first)
i++;
if (str[i + 3] === first)
i++;
}
return [
// If we're in a newline escape still, then there's nothing to add.
// Also try to avoid concat if there's nothing to add to parsed, or nothing has been added to parsed.
state3 ? parsed : parsed + str.slice(sliceStart, i),
i + (isMultiline ? 3 : 1)
];
} else if (!state3) {
if (!isLiteral && c === "\\") {
parsed += str.slice(sliceStart, sliceStart = i);
state3 = 1;
}
} else if (state3 === 1) {
if (c === "x" || c === "u" || c === "U") { if (c === "x" || c === "u" || c === "U") {
let code = str.slice(ptr, ptr += c === "x" ? 2 : c === "u" ? 4 : 8); let value = 0;
if (!ESCAPE_REGEX.test(code)) { let len = c === "x" ? 2 : c === "u" ? 4 : 8;
throw new TomlError("invalid unicode escape", { for (let j = 0; j < len; j++, i++) {
toml: str, let hex = str.charCodeAt(i + 1);
ptr: tmp let digit = (
}); /* 0-9 */
hex >= 48 && hex <= 57 ? hex - 48 : (
/* A-F */
hex >= 65 && hex <= 70 ? hex - 65 + 10 : (
/* a-f */
hex >= 97 && hex <= 102 ? hex - 97 + 10 : -1
)
)
);
if (digit < 0)
throw new TomlError("invalid non-hex character in unicode escape", { toml: str, ptr: i + 1 });
value = value << 4 | digit;
} }
try { if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
parsed += String.fromCodePoint(parseInt(code, 16)); throw new TomlError("invalid unicode escape", { toml: str, ptr: i });
} catch {
throw new TomlError("invalid unicode escape", {
toml: str,
ptr: tmp
});
} }
} else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) { parsed += String.fromCodePoint(value);
ptr = skipVoid(str, ptr - 1, true); sliceStart = i + 1;
if (str[ptr] !== "\n" && str[ptr] !== "\r") { state3 = 0;
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", { } else if (c === " " || c === " ") {
toml: str, state3 = 2;
ptr: tmp
});
}
ptr = skipVoid(str, ptr);
} else if (c in ESC_MAP) {
parsed += ESC_MAP[c];
} else { } else {
throw new TomlError("unrecognized escape sequence", { if (c === "b")
parsed += "\b";
else if (c === "t")
parsed += " ";
else if (c === "n")
parsed += "\n";
else if (c === "f")
parsed += "\f";
else if (c === "r")
parsed += "\r";
else if (c === "e")
parsed += "\x1B";
else if (c === '"')
parsed += '"';
else if (c === "\\")
parsed += "\\";
else
throw new TomlError("unrecognized escape sequence", { toml: str, ptr: i });
sliceStart = i + 1;
state3 = 0;
}
} else if (c !== " " && c !== " ") {
if (state3 === 2) {
throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
toml: str, toml: str,
ptr: tmp ptr: sliceStart
}); });
} }
sliceStart = ptr; state3 = !isLiteral && c === "\\" ? 1 : 0;
} else if (!isLiteral && c === "\\") { sliceStart = i;
tmp = ptr - 1;
isEscape = true;
parsed += str.slice(sliceStart, tmp);
} }
} }
return parsed + str.slice(sliceStart, endPtr - 1); throw new TomlError("unfinished string", { toml: str, ptr });
} }
function parseValue2(value, toml, ptr, integersAsBigInt) { function parseValue2(value, toml, ptr, integersAsBigInt) {
if (value === "true") if (value === "true")
@@ -97052,6 +97036,61 @@ function parseValue2(value, toml, ptr, integersAsBigInt) {
return date; return date;
} }
// node_modules/smol-toml/dist/util.js
function indexOfNewline(str, start = 0, end = str.length) {
let idx = str.indexOf("\n", start);
if (str[idx - 1] === "\r")
idx--;
return idx <= end ? idx : -1;
}
function skipComment(str, ptr) {
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "\n")
return i;
if (c === "\r" && str[i + 1] === "\n")
return i + 1;
if (c < " " && c !== " " || c === "\x7F") {
throw new TomlError("control characters are not allowed in comments", {
toml: str,
ptr
});
}
}
return str.length;
}
function skipVoid(str, ptr, banNewLines, banComments) {
let c;
while (1) {
while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
ptr++;
if (banComments || c !== "#")
break;
ptr = skipComment(str, ptr);
}
return ptr;
}
function skipUntil(str, ptr, sep8, end, banNewLines = false) {
if (!end) {
ptr = indexOfNewline(str, ptr);
return ptr < 0 ? str.length : ptr;
}
for (let i = ptr; i < str.length; i++) {
let c = str[i];
if (c === "#") {
i = indexOfNewline(str, i);
} else if (c === sep8) {
return i + 1;
} else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i + 1] === "\n")) {
return i;
}
}
throw new TomlError("cannot find end of structure", {
toml: str,
ptr
});
}
// node_modules/smol-toml/dist/extract.js // node_modules/smol-toml/dist/extract.js
function sliceAndTrimEndOf(str, startPtr, endPtr) { function sliceAndTrimEndOf(str, startPtr, endPtr) {
let value = str.slice(startPtr, endPtr); let value = str.slice(startPtr, endPtr);
@@ -97085,24 +97124,23 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
} }
return [value, endPtr2]; return [value, endPtr2];
} }
let endPtr;
if (c === '"' || c === "'") { if (c === '"' || c === "'") {
endPtr = getStringEnd(str, ptr); let [parsed, endPtr2] = parseString(str, ptr);
let parsed = parseString(str, ptr, endPtr);
if (end) { if (end) {
endPtr = skipVoid(str, endPtr); endPtr2 = skipVoid(str, endPtr2);
if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") { if (str[endPtr2] && str[endPtr2] !== "," && str[endPtr2] !== end && str[endPtr2] !== "\n" && str[endPtr2] !== "\r") {
throw new TomlError("unexpected character encountered", { throw new TomlError("unexpected character encountered", {
toml: str, toml: str,
ptr: endPtr ptr: endPtr2
}); });
} }
endPtr += +(str[endPtr] === ","); if (str[endPtr2] === ",")
endPtr2++;
} }
return [parsed, endPtr]; return [parsed, endPtr2];
} }
endPtr = skipUntil(str, ptr, ",", end); let endPtr = skipUntil(str, ptr, ",", end);
let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ",")); let slice = sliceAndTrimEndOf(str, ptr, endPtr - (str[endPtr - 1] === "," ? 1 : 0));
if (!slice[0]) { if (!slice[0]) {
throw new TomlError("incomplete key-value declaration: no value specified", { throw new TomlError("incomplete key-value declaration: no value specified", {
toml: str, toml: str,
@@ -97111,7 +97149,8 @@ function extractValue(str, ptr, end, depth, integersAsBigInt) {
} }
if (end && slice[1] > -1) { if (end && slice[1] > -1) {
endPtr = skipVoid(str, ptr + slice[1]); endPtr = skipVoid(str, ptr + slice[1]);
endPtr += +(str[endPtr] === ","); if (str[endPtr] === ",")
endPtr++;
} }
return [ return [
parseValue2(slice[0], str, ptr, integersAsBigInt), parseValue2(slice[0], str, ptr, integersAsBigInt),
@@ -97141,13 +97180,7 @@ function parseKey(str, ptr, end = "=") {
ptr ptr
}); });
} }
let eos = getStringEnd(str, ptr); let [part, eos] = parseString(str, ptr);
if (eos < 0) {
throw new TomlError("unfinished string encountered", {
toml: str,
ptr
});
}
dot = str.indexOf(".", eos); dot = str.indexOf(".", eos);
let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot); let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
let newLine = indexOfNewline(strEnd); let newLine = indexOfNewline(strEnd);
@@ -97172,7 +97205,7 @@ function parseKey(str, ptr, end = "=") {
}); });
} }
} }
parsed.push(parseString(str, ptr, eos)); parsed.push(part);
} else { } else {
dot = str.indexOf(".", ptr); dot = str.indexOf(".", ptr);
let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot); let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
@@ -98376,10 +98409,10 @@ undici/lib/web/websocket/frame.js:
undici/lib/web/websocket/frame.js: undici/lib/web/websocket/frame.js:
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *) (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
smol-toml/dist/error.js:
smol-toml/dist/util.js:
smol-toml/dist/date.js: smol-toml/dist/date.js:
smol-toml/dist/error.js:
smol-toml/dist/primitive.js: smol-toml/dist/primitive.js:
smol-toml/dist/util.js:
smol-toml/dist/extract.js: smol-toml/dist/extract.js:
smol-toml/dist/struct.js: smol-toml/dist/struct.js:
smol-toml/dist/parse.js: smol-toml/dist/parse.js:

View File

@@ -45701,6 +45701,42 @@ var semver = __toESM(require_semver(), 1);
// src/download/checksum/known-checksums.ts // src/download/checksum/known-checksums.ts
var KNOWN_CHECKSUMS = { var KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.11.29": "61c04acc52a33ef0f331e494bdfbedcdb6c26c6970c022ed3699e5860f8930e3",
"aarch64-pc-windows-msvc-0.11.29": "55b597ae81bc29531a7c352a1431a8a73cc2755d7a5b9ec454580cbe02e5154f",
"aarch64-unknown-linux-gnu-0.11.29": "94500fb064ae3c971a873cba64d94694c50677e0a4dbf78735c80509e7429919",
"aarch64-unknown-linux-musl-0.11.29": "593d79a797ece3f1dfaaf3e0a973263422a135d9262c7dbc6cd75d9c11acc0b4",
"arm-unknown-linux-musleabihf-0.11.29": "b160d7eb7dc45af378b3c9dd2cd6b07d64c65b509f2da673434e8e5dc996e5b1",
"armv7-unknown-linux-gnueabihf-0.11.29": "7b5717ae304fbb1e94104699fb8c08b32d1537fedc90dd8fcf87768d818951ed",
"armv7-unknown-linux-musleabihf-0.11.29": "bfd05286a80b39bd4708bbbb4450fe09f07fea86eea60d31ea2de0b5e816ef54",
"i686-pc-windows-msvc-0.11.29": "c173af6f6e125d65214b55d6b75fcf1a32d5e1c3a656938740fe0b2379cd4bcc",
"i686-unknown-linux-gnu-0.11.29": "c62af324951ae6f31f9453280e077176c96b6e31897d8133c00411a91a20878f",
"i686-unknown-linux-musl-0.11.29": "368dd75d030cae0512631ba0d50604e8471275ec2d9f02836edb91e4c82ad36a",
"powerpc64le-unknown-linux-gnu-0.11.29": "641b15637de9fedc7e738b0e4716b2233c792ba6dca722ba0484381749e1a9fd",
"riscv64gc-unknown-linux-gnu-0.11.29": "5c1229cc0309ebc6872ee847b8fc75564b3b7688edeb09e19427203e2dbc0ea7",
"riscv64gc-unknown-linux-musl-0.11.29": "d4708d913ba88fad9fe1d81da3e13aecadde7a3190cc095a7f2af2fa5c8caa8f",
"s390x-unknown-linux-gnu-0.11.29": "fa029183f550a3b00b89c06529fabfa11e0c69c097ccd397a8e7eae46f397348",
"x86_64-apple-darwin-0.11.29": "c4c4de482da9ccdd076dc4fb5cfe7b740609029385c72f58606be3153602387d",
"x86_64-pc-windows-msvc-0.11.29": "a047d55651bc3e0ca24595b25ec4cfcb10f9dca9fb56514e661269b37d4fae68",
"x86_64-unknown-linux-gnu-0.11.29": "04f8b82f5d47f0512dcd32c67a4a6f16a0ea27c81537c338fd0ad6b23cebe829",
"x86_64-unknown-linux-musl-0.11.29": "46711858adb2a3acaa9cee00f9060688ad1fd5706aecc005b96a6a7f285a00b7",
"aarch64-apple-darwin-0.11.28": "33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
"aarch64-pc-windows-msvc-0.11.28": "3248109afad3ec59baad299d324ff53de17e2d9a3b3e21580ffd26744b11e036",
"aarch64-unknown-linux-gnu-0.11.28": "03e9fe0a81b0718d0bc84625de3885df6cc3f89a8b6af6121d6b9f6113fb6533",
"aarch64-unknown-linux-musl-0.11.28": "da10cdfa7d92212b7acb62021a0fd61bcf8580c58c3632ec915d10c3a1a7906b",
"arm-unknown-linux-musleabihf-0.11.28": "955f9697d4781cf4dfc62d9442a49f3e57861f19405a981ffe9fdc0d18e0a31a",
"armv7-unknown-linux-gnueabihf-0.11.28": "b7cddaad27cd531096e88e64de863f7e37c6fedde11c97595060e6503544d120",
"armv7-unknown-linux-musleabihf-0.11.28": "eb00e0f246d278133df6a55b5d3534a49f051a7dfc276f640b66504c091167f6",
"i686-pc-windows-msvc-0.11.28": "01975deb06072edfc1f18435c25737d8d378dc849b918cd580768ab3b7641e85",
"i686-unknown-linux-gnu-0.11.28": "f8d01e918dd4d5eabdd4caee78e8adbc3993a70f3b82395fa6b23fcf791925d9",
"i686-unknown-linux-musl-0.11.28": "c869415e44e13000d9daae15cec7bcfaf0735915a8d6e66402d459f6bed35710",
"powerpc64le-unknown-linux-gnu-0.11.28": "b634b6f26a036d112914c2d6d7ae1944bf8f4a6dfed6e19a22b35e5d91f168fb",
"riscv64gc-unknown-linux-gnu-0.11.28": "be7473dc29ee88bd260e30642faa5ba6dccd7d4493012077873b293c377ab546",
"riscv64gc-unknown-linux-musl-0.11.28": "4a9e553d8a62c42600d5c2874b7c2f728c03d4310d72ed7351edbee8ed6a71b4",
"s390x-unknown-linux-gnu-0.11.28": "f5ed9d2aed566e11ffc3f1f7ab5b4049dfbfcb04c326ce2ed5bbf42069d62b27",
"x86_64-apple-darwin-0.11.28": "2ad79983127ffca7d77b77ce6a24278d7e4f7b817a1acf72fea5f8124b4aac5e",
"x86_64-pc-windows-msvc-0.11.28": "0a23463216d09c6a72ff80ef5dc5a795f07dc1575cb84d24596c2f124a441b7b",
"x86_64-unknown-linux-gnu-0.11.28": "e490a6464492183c5d4534a5527fb4440f7f2bb2f228162ad7e4afe076dc0224",
"x86_64-unknown-linux-musl-0.11.28": "f02146b371c35c287d860f003ece7345c86e358a3fd70a9b63700cd141ee7fb4",
"aarch64-apple-darwin-0.11.27": "34e63cc0de0aebbc8d424767c588c31b685479f045f9ced9e5ef43ff9e0e8d63", "aarch64-apple-darwin-0.11.27": "34e63cc0de0aebbc8d424767c588c31b685479f045f9ced9e5ef43ff9e0e8d63",
"aarch64-pc-windows-msvc-0.11.27": "7566a80fe96ee84e6938621a1b704f44b0db546672bf43025905784b2507b7fe", "aarch64-pc-windows-msvc-0.11.27": "7566a80fe96ee84e6938621a1b704f44b0db546672bf43025905784b2507b7fe",
"aarch64-unknown-linux-gnu-0.11.27": "321580b9a7069d0cdbd8db9482a5fb62b4f1285110f847746e3b495408e3a08c", "aarch64-unknown-linux-gnu-0.11.27": "321580b9a7069d0cdbd8db9482a5fb62b4f1285110f847746e3b495408e3a08c",

View File

@@ -6,7 +6,7 @@ This document covers advanced options for configuring which version of uv to ins
```yaml ```yaml
- name: Install the latest version of uv - name: Install the latest version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version: "latest" version: "latest"
``` ```
@@ -15,7 +15,7 @@ This document covers advanced options for configuring which version of uv to ins
```yaml ```yaml
- name: Install a specific version of uv - name: Install a specific version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version: "0.4.4" version: "0.4.4"
``` ```
@@ -28,21 +28,21 @@ to install the latest version that satisfies the range.
```yaml ```yaml
- name: Install a semver range of uv - name: Install a semver range of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version: ">=0.4.0" version: ">=0.4.0"
``` ```
```yaml ```yaml
- name: Pinning a minor version of uv - name: Pinning a minor version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version: "0.4.x" version: "0.4.x"
``` ```
```yaml ```yaml
- name: Install a pep440-specifier-satisfying version of uv - name: Install a pep440-specifier-satisfying version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version: ">=0.4.25,<0.5" version: ">=0.4.25,<0.5"
``` ```
@@ -54,7 +54,7 @@ You can change this behavior using the `resolution-strategy` input:
```yaml ```yaml
- name: Install the lowest compatible version of uv - name: Install the lowest compatible version of uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version: ">=0.4.0" version: ">=0.4.0"
resolution-strategy: "lowest" resolution-strategy: "lowest"
@@ -76,7 +76,7 @@ uv defined as a dependency in `pyproject.toml` or `requirements.txt`.
```yaml ```yaml
- name: Install uv based on the version defined in pyproject.toml - name: Install uv based on the version defined in pyproject.toml
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version-file: "pyproject.toml" version-file: "pyproject.toml"
``` ```
@@ -87,7 +87,7 @@ silently picking up a newer uv until the lockfile is updated.
```yaml ```yaml
- name: Install uv based on the version locked in uv.lock - name: Install uv based on the version locked in uv.lock
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version-file: "uv.lock" version-file: "uv.lock"
``` ```

View File

@@ -23,7 +23,7 @@ The computed cache key is available as the `cache-key` output:
```yaml ```yaml
- name: Setup uv - name: Setup uv
id: setup-uv id: setup-uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
- name: Print cache key - name: Print cache key
@@ -50,7 +50,7 @@ You can optionally define a custom cache key suffix.
```yaml ```yaml
- name: Enable caching and define a custom cache key suffix - name: Enable caching and define a custom cache key suffix
id: setup-uv id: setup-uv
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
cache-suffix: "optional-suffix" cache-suffix: "optional-suffix"
@@ -89,7 +89,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml ```yaml
- name: Define a cache dependency glob - name: Define a cache dependency glob
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
cache-dependency-glob: "**/pyproject.toml" cache-dependency-glob: "**/pyproject.toml"
@@ -97,7 +97,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml ```yaml
- name: Define a list of cache dependency globs - name: Define a list of cache dependency globs
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
cache-dependency-glob: | cache-dependency-glob: |
@@ -107,7 +107,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml ```yaml
- name: Define an absolute cache dependency glob - name: Define an absolute cache dependency glob
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
cache-dependency-glob: "/tmp/my-folder/requirements*.txt" cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
@@ -115,7 +115,7 @@ changes. If you use relative paths, they are relative to the working directory.
```yaml ```yaml
- name: Never invalidate the cache - name: Never invalidate the cache
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
cache-dependency-glob: "" cache-dependency-glob: ""
@@ -128,7 +128,7 @@ By default, the cache will be restored.
```yaml ```yaml
- name: Don't restore an existing cache - name: Don't restore an existing cache
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
restore-cache: false restore-cache: false
@@ -142,7 +142,7 @@ By default, the cache will be saved.
```yaml ```yaml
- name: Don't save the cache after the run - name: Don't save the cache after the run
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
save-cache: false save-cache: false
@@ -168,7 +168,7 @@ It defaults to `setup-uv-cache` in the `TMP` dir, `D:\a\_temp\setup-uv-cache` on
```yaml ```yaml
- name: Define a custom uv cache path - name: Define a custom uv cache path
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
cache-local-path: "/path/to/cache" cache-local-path: "/path/to/cache"
``` ```
@@ -187,7 +187,7 @@ input.
```yaml ```yaml
- name: Don't prune the cache before saving it - name: Don't prune the cache before saving it
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
prune-cache: false prune-cache: false
@@ -205,7 +205,7 @@ To force managed Python installs, set `UV_PYTHON_PREFERENCE=only-managed`.
```yaml ```yaml
- name: Cache Python installs - name: Cache Python installs
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
cache-python: true cache-python: true
@@ -223,7 +223,7 @@ If you want to ignore this, set the `ignore-nothing-to-cache` input to `true`.
```yaml ```yaml
- name: Ignore nothing to cache - name: Ignore nothing to cache
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
enable-cache: true enable-cache: true
ignore-nothing-to-cache: true ignore-nothing-to-cache: true

View File

@@ -10,7 +10,7 @@ are automatically verified by this action. The sha256 hashes can be found on the
```yaml ```yaml
- name: Install a specific version and validate the checksum - name: Install a specific version and validate the checksum
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
version: "0.3.1" version: "0.3.1"
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8" checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
@@ -39,7 +39,7 @@ The `archive_format` field is currently ignored.
```yaml ```yaml
- name: Use a custom manifest file - name: Use a custom manifest file
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
manifest-file: "https://example.com/my-custom-manifest.ndjson" 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 ```yaml
- name: Install the latest version of uv without problem matchers - name: Install the latest version of uv without problem matchers
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
add-problem-matchers: false add-problem-matchers: false
``` ```

View File

@@ -9,7 +9,7 @@ This allows directly using it in later steps:
```yaml ```yaml
- name: Install the latest version of uv and activate the environment - name: Install the latest version of uv and activate the environment
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
activate-environment: true activate-environment: true
- run: uv pip install pip - 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: You can customize the venv location with `venv-path`, for example to place it in the runner temp directory:
```yaml ```yaml
- uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 - uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
activate-environment: true activate-environment: true
venv-path: ${{ runner.temp }}/custom-venv 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 ```yaml
- name: Install the latest version of uv with a custom GitHub token - name: Install the latest version of uv with a custom GitHub token
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
``` ```
@@ -69,7 +69,7 @@ input:
```yaml ```yaml
- name: Install the latest version of uv with a custom tool dir - name: Install the latest version of uv with a custom tool dir
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
tool-dir: "/path/to/tool/dir" 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 ```yaml
- name: Install the latest version of uv with a custom tool bin dir - name: Install the latest version of uv with a custom tool bin dir
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
tool-bin-dir: "/path/to/tool-bin/dir" 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 ```yaml
- name: Expand the tilde character - name: Expand the tilde character
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
cache-local-path: "~/path/to/cache" cache-local-path: "~/path/to/cache"
tool-dir: "~/path/to/tool/dir" 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 ```yaml
- name: Ignore empty workdir - name: Ignore empty workdir
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
ignore-empty-workdir: true ignore-empty-workdir: true
``` ```
@@ -145,7 +145,7 @@ This action sets several environment variables that influence uv's behavior and
```yaml ```yaml
- name: Example using environment variables - name: Example using environment variables
uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2
with: with:
python-version: "3.12" python-version: "3.12"
tool-dir: "/custom/tool/dir" tool-dir: "/custom/tool/dir"

241
package-lock.json generated
View File

@@ -9,33 +9,33 @@
"version": "1.0.0", "version": "1.0.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/cache": "^6.0.1", "@actions/cache": "^6.1.0",
"@actions/core": "^3.0.0", "@actions/core": "^3.0.0",
"@actions/exec": "^3.0.0", "@actions/exec": "^3.0.0",
"@actions/glob": "^0.6.1", "@actions/glob": "^0.6.1",
"@actions/io": "^3.0.2", "@actions/io": "^3.0.2",
"@actions/tool-cache": "^4.0.0", "@actions/tool-cache": "^4.0.0",
"@renovatebot/pep440": "^5.0.0", "@renovatebot/pep440": "^5.0.0",
"smol-toml": "^1.6.1", "smol-toml": "^1.7.0",
"undici": "^8.3.0" "undici": "^8.3.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^2.4.16", "@biomejs/biome": "^2.5.1",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^25.5.0", "@types/node": "^26.0.1",
"@types/semver": "^7.7.1", "@types/semver": "^7.7.1",
"@vercel/ncc": "^0.38.4", "@vercel/ncc": "^0.44.1",
"esbuild": "^0.28.0", "esbuild": "^0.28.0",
"jest": "^30.4.2", "jest": "^30.4.2",
"js-yaml": "^4.1.1", "js-yaml": "^5.2.1",
"ts-jest": "^29.4.11", "ts-jest": "^29.4.11",
"typescript": "^6.0.3" "typescript": "^6.0.3"
} }
}, },
"node_modules/@actions/cache": { "node_modules/@actions/cache": {
"version": "6.0.1", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.0.1.tgz", "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.1.0.tgz",
"integrity": "sha512-kcM23yPzDQEME05ZFV/bRzsHS9yDzCe97F7guF9+c/jJwE9ns+gFQt3MmnRXOHh1DsnlNuKcIwXYdnt4kHLGqg==", "integrity": "sha512-LVqybSbzhBp2uAETOQ3HnVjXA4AcjavgMH+LCr+cjgO+PZfciv/1QAgoW+esXBaAhvDid+vXeV70GGJpAh4V5Q==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/core": "^3.0.1", "@actions/core": "^3.0.1",
@@ -863,9 +863,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@biomejs/biome": { "node_modules/@biomejs/biome": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.1.tgz",
"integrity": "sha512-x9ajFh1zChVybCiM3TN6OD4phAqLgtPZjFrZF+aTMYCPjwBO+k529TX7PPsAqtGNLeV4UgzwQnowEgS7bGmzcA==", "integrity": "sha512-IXWLCxKmae+rI7LOHS1B3EbVisQ6GRAWbhN9msa6KjNCyFWrvKZWR4oUdinaNssrV852OrSHuSPa95h1GPJc7Q==",
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0", "license": "MIT OR Apache-2.0",
"bin": { "bin": {
@@ -879,20 +879,20 @@
"url": "https://opencollective.com/biome" "url": "https://opencollective.com/biome"
}, },
"optionalDependencies": { "optionalDependencies": {
"@biomejs/cli-darwin-arm64": "2.4.16", "@biomejs/cli-darwin-arm64": "2.5.1",
"@biomejs/cli-darwin-x64": "2.4.16", "@biomejs/cli-darwin-x64": "2.5.1",
"@biomejs/cli-linux-arm64": "2.4.16", "@biomejs/cli-linux-arm64": "2.5.1",
"@biomejs/cli-linux-arm64-musl": "2.4.16", "@biomejs/cli-linux-arm64-musl": "2.5.1",
"@biomejs/cli-linux-x64": "2.4.16", "@biomejs/cli-linux-x64": "2.5.1",
"@biomejs/cli-linux-x64-musl": "2.4.16", "@biomejs/cli-linux-x64-musl": "2.5.1",
"@biomejs/cli-win32-arm64": "2.4.16", "@biomejs/cli-win32-arm64": "2.5.1",
"@biomejs/cli-win32-x64": "2.4.16" "@biomejs/cli-win32-x64": "2.5.1"
} }
}, },
"node_modules/@biomejs/cli-darwin-arm64": { "node_modules/@biomejs/cli-darwin-arm64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.1.tgz",
"integrity": "sha512-wxPvu4XOA85YJk9ixSWUmq/QBHbid85BISbOAqqBM/5xQpPk9ayjk5375tOlSC0BeCwNSbPFafQBm+vBumXq0A==", "integrity": "sha512-npqDzvqv7vFaWRiNN1Te71siRgPaqS9MpqgYCdP/CrUbkJ7ApezaeaKjueKHRN/JH/6lRjJQAHi8acQDCAz22w==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -907,9 +907,9 @@
} }
}, },
"node_modules/@biomejs/cli-darwin-x64": { "node_modules/@biomejs/cli-darwin-x64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.1.tgz",
"integrity": "sha512-xFCqGPwYusQJp4N4NJLi1XJiZqjwFdjhT+KqtNy+Ug3qgfczqnTa6MSDvxJF6TkuDLoYJItMapz6tAf7kCekFw==", "integrity": "sha512-RgwTqPAM8g2tn1j+b5oRjF/DbSBX8a4gwojtuG9XuhfK7GgomvZ9+T+tqjXiVbjLEeGJOoL6VEk8mvRTVeSybw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -924,9 +924,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64": { "node_modules/@biomejs/cli-linux-arm64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.1.tgz",
"integrity": "sha512-2kFb4//jxfZaP6D+Rj5VkHkxgyD9EoRAVBEQb8PKRv+s4NO2zYNJKXFaJmK1CmhufJOWEfpHKaRbOja7qjmdhQ==", "integrity": "sha512-yhV35CzZh38VyMvTEXi3JTjxZBs++oCKK9KG8vB6VI5+uvQvZNR3BFWEKKzuOmx9DJJj7sQpZ4LQJcmbGTs3+Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -941,9 +941,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64-musl": { "node_modules/@biomejs/cli-linux-arm64-musl": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.1.tgz",
"integrity": "sha512-oYxnW0ARfJkr72ezzF2OR8N/rtkgLUQeYtF8cFhVswbknHxtTcmzSsanVJP8yQKnGpGpc2ck6c5zLvHahL6Cbg==", "integrity": "sha512-WMcvMLgByyTqVxGlq918NBBYliq9FRR9GAQVETHb+VjGVqXCZFfHlZHC1FX4ibuYY/Hg6TJE3rHU0xVrdJXNRw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -958,9 +958,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64": { "node_modules/@biomejs/cli-linux-x64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.1.tgz",
"integrity": "sha512-NbcBbi/nJqn5baae6wqRXdS7Gadf2uRpehSh6vMSYpG8OhkXl/Xg8aorWrJ+9VWqAT5ml90alLvorkpMW0nBwQ==", "integrity": "sha512-J/7uHSX7NfoYDI7HijAkd8lnQIOrRb2W7j3X+tw4R+N5ExvXGsyXFiGdQcfcxfOmNQmZVSQOCDk757fwpzqQcg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -975,9 +975,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64-musl": { "node_modules/@biomejs/cli-linux-x64-musl": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.1.tgz",
"integrity": "sha512-iHDS+MCM65DPqWGu+ECC3uoALyj2H7F4nVUPxIPjz/PIl94EUu+EDfGZDzFP+NY1EOPVt9NQvwFqq7HdMmowdg==", "integrity": "sha512-ANTowtlLmPYm5yeMckWY8Xzb9Ix+JJP3tgHR/n6xRj1VWyIzzWtfRfih9hv9VmClwadpBvZduISZIbBsIlYG3A==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -992,9 +992,9 @@
} }
}, },
"node_modules/@biomejs/cli-win32-arm64": { "node_modules/@biomejs/cli-win32-arm64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.1.tgz",
"integrity": "sha512-0rgImMsNb5v/chhkIFe3wu7PEFClS6RBAYUijGL9UsYN3PanSaoK24HSSuSJb1pYbYYVjzAyZTl3gtjJ84BM8A==", "integrity": "sha512-zgXnKNgWPC4iPF7Y1lR3STUeCUuZRpD6IiOrC7TZTlh0Lx6FiVUT05myuMQHQ9D+1cc7uyMldi4forE6lp0ivQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -1009,9 +1009,9 @@
} }
}, },
"node_modules/@biomejs/cli-win32-x64": { "node_modules/@biomejs/cli-win32-x64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.1.tgz",
"integrity": "sha512-Kp85jgoBHa05gix6UIRjfCDiUV3w/8VIdZ247VyyO2gEjaw12WEVhdIjlxp/AMzXxqxQwbxNTDVZ3Mwd2RG5rw==", "integrity": "sha512-6uxpR9hvaglANkZemeSiN/FhYgkGasrEGn267eXIWvjrjJ2LhDlk251IhjVJq6MXzkV2/bcXwLwSroLyPtqRZg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -2145,13 +2145,13 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "25.5.0", "version": "26.0.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.1.tgz",
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", "integrity": "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~7.18.0" "undici-types": "~8.3.0"
} }
}, },
"node_modules/@types/semver": { "node_modules/@types/semver": {
@@ -2520,9 +2520,9 @@
] ]
}, },
"node_modules/@vercel/ncc": { "node_modules/@vercel/ncc": {
"version": "0.38.4", "version": "0.44.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.4.tgz", "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.1.tgz",
"integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==", "integrity": "sha512-cUjIE5P2YY1n+Kt9rFIazMMpGoPn1Fic04rOmTkElMkiDP5oszGfERMpo2shVkFKDL7rVppdM2pqJKC59shQWQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
@@ -4365,16 +4365,25 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.1", "version": "5.2.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
"dev": true, "dev": true,
"license": "MIT", "funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/nodeca"
}
],
"dependencies": { "dependencies": {
"argparse": "^2.0.1" "argparse": "^2.0.1"
}, },
"bin": { "bin": {
"js-yaml": "bin/js-yaml.js" "js-yaml": "bin/js-yaml.mjs"
} }
}, },
"node_modules/jsesc": { "node_modules/jsesc": {
@@ -4984,9 +4993,9 @@
} }
}, },
"node_modules/smol-toml": { "node_modules/smol-toml": {
"version": "1.6.1", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==",
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
@@ -5435,9 +5444,9 @@
} }
}, },
"node_modules/undici-types": { "node_modules/undici-types": {
"version": "7.18.2", "version": "8.3.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@@ -5779,9 +5788,9 @@
}, },
"dependencies": { "dependencies": {
"@actions/cache": { "@actions/cache": {
"version": "6.0.1", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.0.1.tgz", "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-6.1.0.tgz",
"integrity": "sha512-kcM23yPzDQEME05ZFV/bRzsHS9yDzCe97F7guF9+c/jJwE9ns+gFQt3MmnRXOHh1DsnlNuKcIwXYdnt4kHLGqg==", "integrity": "sha512-LVqybSbzhBp2uAETOQ3HnVjXA4AcjavgMH+LCr+cjgO+PZfciv/1QAgoW+esXBaAhvDid+vXeV70GGJpAh4V5Q==",
"requires": { "requires": {
"@actions/core": "^3.0.1", "@actions/core": "^3.0.1",
"@actions/exec": "^3.0.0", "@actions/exec": "^3.0.0",
@@ -6367,74 +6376,74 @@
"dev": true "dev": true
}, },
"@biomejs/biome": { "@biomejs/biome": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.1.tgz",
"integrity": "sha512-x9ajFh1zChVybCiM3TN6OD4phAqLgtPZjFrZF+aTMYCPjwBO+k529TX7PPsAqtGNLeV4UgzwQnowEgS7bGmzcA==", "integrity": "sha512-IXWLCxKmae+rI7LOHS1B3EbVisQ6GRAWbhN9msa6KjNCyFWrvKZWR4oUdinaNssrV852OrSHuSPa95h1GPJc7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@biomejs/cli-darwin-arm64": "2.4.16", "@biomejs/cli-darwin-arm64": "2.5.1",
"@biomejs/cli-darwin-x64": "2.4.16", "@biomejs/cli-darwin-x64": "2.5.1",
"@biomejs/cli-linux-arm64": "2.4.16", "@biomejs/cli-linux-arm64": "2.5.1",
"@biomejs/cli-linux-arm64-musl": "2.4.16", "@biomejs/cli-linux-arm64-musl": "2.5.1",
"@biomejs/cli-linux-x64": "2.4.16", "@biomejs/cli-linux-x64": "2.5.1",
"@biomejs/cli-linux-x64-musl": "2.4.16", "@biomejs/cli-linux-x64-musl": "2.5.1",
"@biomejs/cli-win32-arm64": "2.4.16", "@biomejs/cli-win32-arm64": "2.5.1",
"@biomejs/cli-win32-x64": "2.4.16" "@biomejs/cli-win32-x64": "2.5.1"
} }
}, },
"@biomejs/cli-darwin-arm64": { "@biomejs/cli-darwin-arm64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.1.tgz",
"integrity": "sha512-wxPvu4XOA85YJk9ixSWUmq/QBHbid85BISbOAqqBM/5xQpPk9ayjk5375tOlSC0BeCwNSbPFafQBm+vBumXq0A==", "integrity": "sha512-npqDzvqv7vFaWRiNN1Te71siRgPaqS9MpqgYCdP/CrUbkJ7ApezaeaKjueKHRN/JH/6lRjJQAHi8acQDCAz22w==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@biomejs/cli-darwin-x64": { "@biomejs/cli-darwin-x64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.1.tgz",
"integrity": "sha512-xFCqGPwYusQJp4N4NJLi1XJiZqjwFdjhT+KqtNy+Ug3qgfczqnTa6MSDvxJF6TkuDLoYJItMapz6tAf7kCekFw==", "integrity": "sha512-RgwTqPAM8g2tn1j+b5oRjF/DbSBX8a4gwojtuG9XuhfK7GgomvZ9+T+tqjXiVbjLEeGJOoL6VEk8mvRTVeSybw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@biomejs/cli-linux-arm64": { "@biomejs/cli-linux-arm64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.1.tgz",
"integrity": "sha512-2kFb4//jxfZaP6D+Rj5VkHkxgyD9EoRAVBEQb8PKRv+s4NO2zYNJKXFaJmK1CmhufJOWEfpHKaRbOja7qjmdhQ==", "integrity": "sha512-yhV35CzZh38VyMvTEXi3JTjxZBs++oCKK9KG8vB6VI5+uvQvZNR3BFWEKKzuOmx9DJJj7sQpZ4LQJcmbGTs3+Q==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@biomejs/cli-linux-arm64-musl": { "@biomejs/cli-linux-arm64-musl": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.1.tgz",
"integrity": "sha512-oYxnW0ARfJkr72ezzF2OR8N/rtkgLUQeYtF8cFhVswbknHxtTcmzSsanVJP8yQKnGpGpc2ck6c5zLvHahL6Cbg==", "integrity": "sha512-WMcvMLgByyTqVxGlq918NBBYliq9FRR9GAQVETHb+VjGVqXCZFfHlZHC1FX4ibuYY/Hg6TJE3rHU0xVrdJXNRw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@biomejs/cli-linux-x64": { "@biomejs/cli-linux-x64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.1.tgz",
"integrity": "sha512-NbcBbi/nJqn5baae6wqRXdS7Gadf2uRpehSh6vMSYpG8OhkXl/Xg8aorWrJ+9VWqAT5ml90alLvorkpMW0nBwQ==", "integrity": "sha512-J/7uHSX7NfoYDI7HijAkd8lnQIOrRb2W7j3X+tw4R+N5ExvXGsyXFiGdQcfcxfOmNQmZVSQOCDk757fwpzqQcg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@biomejs/cli-linux-x64-musl": { "@biomejs/cli-linux-x64-musl": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.1.tgz",
"integrity": "sha512-iHDS+MCM65DPqWGu+ECC3uoALyj2H7F4nVUPxIPjz/PIl94EUu+EDfGZDzFP+NY1EOPVt9NQvwFqq7HdMmowdg==", "integrity": "sha512-ANTowtlLmPYm5yeMckWY8Xzb9Ix+JJP3tgHR/n6xRj1VWyIzzWtfRfih9hv9VmClwadpBvZduISZIbBsIlYG3A==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@biomejs/cli-win32-arm64": { "@biomejs/cli-win32-arm64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.1.tgz",
"integrity": "sha512-0rgImMsNb5v/chhkIFe3wu7PEFClS6RBAYUijGL9UsYN3PanSaoK24HSSuSJb1pYbYYVjzAyZTl3gtjJ84BM8A==", "integrity": "sha512-zgXnKNgWPC4iPF7Y1lR3STUeCUuZRpD6IiOrC7TZTlh0Lx6FiVUT05myuMQHQ9D+1cc7uyMldi4forE6lp0ivQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@biomejs/cli-win32-x64": { "@biomejs/cli-win32-x64": {
"version": "2.4.16", "version": "2.5.1",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.16.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.1.tgz",
"integrity": "sha512-Kp85jgoBHa05gix6UIRjfCDiUV3w/8VIdZ247VyyO2gEjaw12WEVhdIjlxp/AMzXxqxQwbxNTDVZ3Mwd2RG5rw==", "integrity": "sha512-6uxpR9hvaglANkZemeSiN/FhYgkGasrEGn267eXIWvjrjJ2LhDlk251IhjVJq6MXzkV2/bcXwLwSroLyPtqRZg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
@@ -7143,12 +7152,12 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "25.5.0", "version": "26.0.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.0.1.tgz",
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", "integrity": "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw==",
"dev": true, "dev": true,
"requires": { "requires": {
"undici-types": "~7.18.0" "undici-types": "~8.3.0"
} }
}, },
"@types/semver": { "@types/semver": {
@@ -7354,9 +7363,9 @@
"optional": true "optional": true
}, },
"@vercel/ncc": { "@vercel/ncc": {
"version": "0.38.4", "version": "0.44.1",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.4.tgz", "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.44.1.tgz",
"integrity": "sha512-8LwjnlP39s08C08J5NstzriPvW1SP8Zfpp1BvC2sI35kPeZnHfxVkCwu4/+Wodgnd60UtT1n8K8zw+Mp7J9JmQ==", "integrity": "sha512-cUjIE5P2YY1n+Kt9rFIazMMpGoPn1Fic04rOmTkElMkiDP5oszGfERMpo2shVkFKDL7rVppdM2pqJKC59shQWQ==",
"dev": true "dev": true
}, },
"agent-base": { "agent-base": {
@@ -8617,9 +8626,9 @@
"dev": true "dev": true
}, },
"js-yaml": { "js-yaml": {
"version": "4.1.1", "version": "5.2.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.1.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "integrity": "sha512-zfLtNfQqxVqq3uaTqSkh4x4hZw3KHobGUA0fJUj4wawW8bsQLTVqpHdXSIzidh7o+4lEW36tANuAGdaFx6Zgnw==",
"dev": true, "dev": true,
"requires": { "requires": {
"argparse": "^2.0.1" "argparse": "^2.0.1"
@@ -9025,9 +9034,9 @@
"dev": true "dev": true
}, },
"smol-toml": { "smol-toml": {
"version": "1.6.1", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz",
"integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==" "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ=="
}, },
"source-map": { "source-map": {
"version": "0.6.1", "version": "0.6.1",
@@ -9298,9 +9307,9 @@
"integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q==" "integrity": "sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q=="
}, },
"undici-types": { "undici-types": {
"version": "7.18.2", "version": "8.3.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
"dev": true "dev": true
}, },
"unrs-resolver": { "unrs-resolver": {

View File

@@ -28,25 +28,25 @@
"author": "@eifinger", "author": "@eifinger",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/cache": "^6.0.1", "@actions/cache": "^6.1.0",
"@actions/core": "^3.0.0", "@actions/core": "^3.0.0",
"@actions/exec": "^3.0.0", "@actions/exec": "^3.0.0",
"@actions/glob": "^0.6.1", "@actions/glob": "^0.6.1",
"@actions/io": "^3.0.2", "@actions/io": "^3.0.2",
"@actions/tool-cache": "^4.0.0", "@actions/tool-cache": "^4.0.0",
"@renovatebot/pep440": "^5.0.0", "@renovatebot/pep440": "^5.0.0",
"smol-toml": "^1.6.1", "smol-toml": "^1.7.0",
"undici": "^8.3.0" "undici": "^8.3.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "^2.4.16", "@biomejs/biome": "^2.5.1",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^25.5.0", "@types/node": "^26.0.1",
"@types/semver": "^7.7.1", "@types/semver": "^7.7.1",
"@vercel/ncc": "^0.38.4", "@vercel/ncc": "^0.44.1",
"esbuild": "^0.28.0", "esbuild": "^0.28.0",
"jest": "^30.4.2", "jest": "^30.4.2",
"js-yaml": "^4.1.1", "js-yaml": "^5.2.1",
"ts-jest": "^29.4.11", "ts-jest": "^29.4.11",
"typescript": "^6.0.3" "typescript": "^6.0.3"
} }

View File

@@ -1,5 +1,77 @@
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = { export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"aarch64-apple-darwin-0.11.29":
"61c04acc52a33ef0f331e494bdfbedcdb6c26c6970c022ed3699e5860f8930e3",
"aarch64-pc-windows-msvc-0.11.29":
"55b597ae81bc29531a7c352a1431a8a73cc2755d7a5b9ec454580cbe02e5154f",
"aarch64-unknown-linux-gnu-0.11.29":
"94500fb064ae3c971a873cba64d94694c50677e0a4dbf78735c80509e7429919",
"aarch64-unknown-linux-musl-0.11.29":
"593d79a797ece3f1dfaaf3e0a973263422a135d9262c7dbc6cd75d9c11acc0b4",
"arm-unknown-linux-musleabihf-0.11.29":
"b160d7eb7dc45af378b3c9dd2cd6b07d64c65b509f2da673434e8e5dc996e5b1",
"armv7-unknown-linux-gnueabihf-0.11.29":
"7b5717ae304fbb1e94104699fb8c08b32d1537fedc90dd8fcf87768d818951ed",
"armv7-unknown-linux-musleabihf-0.11.29":
"bfd05286a80b39bd4708bbbb4450fe09f07fea86eea60d31ea2de0b5e816ef54",
"i686-pc-windows-msvc-0.11.29":
"c173af6f6e125d65214b55d6b75fcf1a32d5e1c3a656938740fe0b2379cd4bcc",
"i686-unknown-linux-gnu-0.11.29":
"c62af324951ae6f31f9453280e077176c96b6e31897d8133c00411a91a20878f",
"i686-unknown-linux-musl-0.11.29":
"368dd75d030cae0512631ba0d50604e8471275ec2d9f02836edb91e4c82ad36a",
"powerpc64le-unknown-linux-gnu-0.11.29":
"641b15637de9fedc7e738b0e4716b2233c792ba6dca722ba0484381749e1a9fd",
"riscv64gc-unknown-linux-gnu-0.11.29":
"5c1229cc0309ebc6872ee847b8fc75564b3b7688edeb09e19427203e2dbc0ea7",
"riscv64gc-unknown-linux-musl-0.11.29":
"d4708d913ba88fad9fe1d81da3e13aecadde7a3190cc095a7f2af2fa5c8caa8f",
"s390x-unknown-linux-gnu-0.11.29":
"fa029183f550a3b00b89c06529fabfa11e0c69c097ccd397a8e7eae46f397348",
"x86_64-apple-darwin-0.11.29":
"c4c4de482da9ccdd076dc4fb5cfe7b740609029385c72f58606be3153602387d",
"x86_64-pc-windows-msvc-0.11.29":
"a047d55651bc3e0ca24595b25ec4cfcb10f9dca9fb56514e661269b37d4fae68",
"x86_64-unknown-linux-gnu-0.11.29":
"04f8b82f5d47f0512dcd32c67a4a6f16a0ea27c81537c338fd0ad6b23cebe829",
"x86_64-unknown-linux-musl-0.11.29":
"46711858adb2a3acaa9cee00f9060688ad1fd5706aecc005b96a6a7f285a00b7",
"aarch64-apple-darwin-0.11.28":
"33540eb7c883ab857eff79bd5ac2aa31fe27b595abecb4a9c003a2c998447232",
"aarch64-pc-windows-msvc-0.11.28":
"3248109afad3ec59baad299d324ff53de17e2d9a3b3e21580ffd26744b11e036",
"aarch64-unknown-linux-gnu-0.11.28":
"03e9fe0a81b0718d0bc84625de3885df6cc3f89a8b6af6121d6b9f6113fb6533",
"aarch64-unknown-linux-musl-0.11.28":
"da10cdfa7d92212b7acb62021a0fd61bcf8580c58c3632ec915d10c3a1a7906b",
"arm-unknown-linux-musleabihf-0.11.28":
"955f9697d4781cf4dfc62d9442a49f3e57861f19405a981ffe9fdc0d18e0a31a",
"armv7-unknown-linux-gnueabihf-0.11.28":
"b7cddaad27cd531096e88e64de863f7e37c6fedde11c97595060e6503544d120",
"armv7-unknown-linux-musleabihf-0.11.28":
"eb00e0f246d278133df6a55b5d3534a49f051a7dfc276f640b66504c091167f6",
"i686-pc-windows-msvc-0.11.28":
"01975deb06072edfc1f18435c25737d8d378dc849b918cd580768ab3b7641e85",
"i686-unknown-linux-gnu-0.11.28":
"f8d01e918dd4d5eabdd4caee78e8adbc3993a70f3b82395fa6b23fcf791925d9",
"i686-unknown-linux-musl-0.11.28":
"c869415e44e13000d9daae15cec7bcfaf0735915a8d6e66402d459f6bed35710",
"powerpc64le-unknown-linux-gnu-0.11.28":
"b634b6f26a036d112914c2d6d7ae1944bf8f4a6dfed6e19a22b35e5d91f168fb",
"riscv64gc-unknown-linux-gnu-0.11.28":
"be7473dc29ee88bd260e30642faa5ba6dccd7d4493012077873b293c377ab546",
"riscv64gc-unknown-linux-musl-0.11.28":
"4a9e553d8a62c42600d5c2874b7c2f728c03d4310d72ed7351edbee8ed6a71b4",
"s390x-unknown-linux-gnu-0.11.28":
"f5ed9d2aed566e11ffc3f1f7ab5b4049dfbfcb04c326ce2ed5bbf42069d62b27",
"x86_64-apple-darwin-0.11.28":
"2ad79983127ffca7d77b77ce6a24278d7e4f7b817a1acf72fea5f8124b4aac5e",
"x86_64-pc-windows-msvc-0.11.28":
"0a23463216d09c6a72ff80ef5dc5a795f07dc1575cb84d24596c2f124a441b7b",
"x86_64-unknown-linux-gnu-0.11.28":
"e490a6464492183c5d4534a5527fb4440f7f2bb2f228162ad7e4afe076dc0224",
"x86_64-unknown-linux-musl-0.11.28":
"f02146b371c35c287d860f003ece7345c86e358a3fd70a9b63700cd141ee7fb4",
"aarch64-apple-darwin-0.11.27": "aarch64-apple-darwin-0.11.27":
"34e63cc0de0aebbc8d424767c588c31b685479f045f9ced9e5ef43ff9e0e8d63", "34e63cc0de0aebbc8d424767c588c31b685479f045f9ced9e5ef43ff9e0e8d63",
"aarch64-pc-windows-msvc-0.11.27": "aarch64-pc-windows-msvc-0.11.27":

View File

@@ -102,6 +102,7 @@ export function getOSNameVersion(): string {
function getLinuxOSNameVersion(): string { function getLinuxOSNameVersion(): string {
const files = ["/etc/os-release", "/usr/lib/os-release"]; const files = ["/etc/os-release", "/usr/lib/os-release"];
let idWithoutVersion: string | undefined;
for (const file of files) { for (const file of files) {
try { try {
@@ -122,11 +123,22 @@ function getLinuxOSNameVersion(): string {
if (id && buildId) { if (id && buildId) {
return `${id}-${buildId}`; return `${id}-${buildId}`;
} }
// Remember the ID but keep looking: the next file might still
// provide a version field
if (id && idWithoutVersion === undefined) {
idWithoutVersion = id;
}
} catch { } catch {
// Try next file // Try next file
} }
} }
// Fallback for rolling releases (e.g. void) that have no version
// field at all
if (idWithoutVersion) {
return idWithoutVersion;
}
throw new Error( throw new Error(
"Failed to determine Linux distribution. " + "Failed to determine Linux distribution. " +
"Could not read /etc/os-release or /usr/lib/os-release", "Could not read /etc/os-release or /usr/lib/os-release",