5
0
mirror of https://github.com/astral-sh/setup-uv.git synced 2025-12-19 11:04:08 +00:00

Compare commits

..

25 Commits
v6.1 ... v6.4.0

Author SHA1 Message Date
github-actions[bot]
05273c154d chore: update known versions for 0.7.22 (#488)
chore: update known versions for 0.7.22

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-07-17 19:02:16 +00:00
Kevin Stillhammer
de545d4421 Bump dependencies (#487) 2025-07-17 18:30:31 +00:00
Kevin Stillhammer
b75ff7d7b8 Add input version-file (#486)
Closes: #411
2025-07-17 20:22:18 +02:00
github-actions[bot]
c893ac1cb2 chore: update known versions for 0.7.21 (#483)
chore: update known versions for 0.7.21

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-07-15 06:13:36 +00:00
github-actions[bot]
a905f0040b chore: update known versions for 0.7.20 (#480)
chore: update known versions for 0.7.20

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-07-10 07:01:28 +00:00
Kevin Stillhammer
d4219d1620 Add FAQ on changed cache and cache upload behavior (#477)
Closes: #467
2025-07-05 09:57:12 +00:00
github-actions[bot]
aaefb91b77 chore: update known versions for 0.7.19 (#475)
chore: update known versions for 0.7.19

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-07-03 05:52:08 +00:00
github-actions[bot]
c05b3e180b chore: update known versions for 0.7.18 (#473)
chore: update known versions for 0.7.18

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-07-02 05:36:05 +00:00
github-actions[bot]
1bf1493664 chore: update known versions for 0.7.17 (#468)
chore: update known versions for 0.7.17

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-30 08:26:44 +00:00
github-actions[bot]
b4c8c41d99 chore: update known versions for 0.7.16 (#466)
chore: update known versions for 0.7.16

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-28 08:18:25 +00:00
github-actions[bot]
8e581f64a9 chore: update known versions for 0.7.15 (#463)
chore: update known versions for 0.7.15

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-25 12:46:38 +02:00
Kevin Stillhammer
bd01e18f51 Do not warn when version not in manifest-file (#462)
This will spam the GitHub summary with warnings as soon as a new version
is released and no new setup-uv version containing this version in the
distributed manifest-file is released

Closes: #461
2025-06-25 07:25:37 +00:00
github-actions[bot]
c6a5ebaafe chore: update known versions for 0.7.14 (#459)
chore: update known versions for 0.7.14

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-24 09:53:39 +00:00
Kevin Stillhammer
790df8f465 Revert "Set expected cache dir drive to C: on windows (#451)" (#460)
This reverts commit 60ecb381b4.
2025-06-24 11:16:40 +02:00
Kevin Stillhammer
445689ea25 Use latest version from manifest-file (#458)
If a manifest-file is supplied the default value of the version input
(latest) will get the latest version available in the manifest. That
might not be the actual latest version available in the official uv
repo.
2025-06-19 21:23:43 +02:00
Kevin Stillhammer
a02a550bdd Look for version-manifest.json relative to action path (#456)
Fixes: #455
2025-06-18 23:09:13 +02:00
Kevin Stillhammer
60cc2b4585 Add input manifest-file (#454)
Adds capability to maintain custom uv builds or to override the default
sources
2025-06-18 20:33:20 +00:00
github-actions[bot]
7bbb36f434 chore: update known versions for 0.7.13 and 0.7.12 (#444)
chore: update known versions for 0.7.13

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-17 07:48:33 +00:00
Kevin Stillhammer
60ecb381b4 Set expected cache dir drive to C: on windows (#451)
Seems like the temp folder got moved to the C: drive
2025-06-17 09:40:23 +02:00
github-actions[bot]
252c995424 chore: update known versions for 0.7.11 (#442)
chore: update known versions for 0.7.11

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-05 06:15:21 +00:00
github-actions[bot]
477a814f2d chore: update known versions for 0.7.10 (#440)
chore: update known versions for 0.7.10

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-06-04 06:19:09 +00:00
Zanie Blue
9b19f8f4b1 Add warning about shadowed uv binaries to activate-environment (#439)
Closes https://github.com/astral-sh/uv/issues/13785
2025-06-03 19:44:51 +02:00
github-actions[bot]
d44461ea9f chore: update known versions for 0.7.9 (#437)
chore: update known versions for 0.7.9

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-05-31 20:07:33 +00:00
Kevin Stillhammer
c19c1b1ffd Check that all jobs are in all-tests-passed.needs (#432) 2025-05-27 18:25:00 +02:00
github-actions[bot]
f3121ef80e chore: update known versions for 0.7.8 (#428)
chore: update known versions for 0.7.8

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-05-24 06:07:37 +00:00
25 changed files with 4047 additions and 361 deletions

View File

@@ -0,0 +1,35 @@
import * as fs from "node:fs";
import * as yaml from "js-yaml";
interface WorkflowJob {
needs?: string[];
[key: string]: unknown;
}
interface Workflow {
jobs: Record<string, WorkflowJob>;
[key: string]: unknown;
}
const workflow = yaml.load(
fs.readFileSync("../workflows/test.yml", "utf8"),
) as Workflow;
const jobs = Object.keys(workflow.jobs);
const allTestsPassed = workflow.jobs["all-tests-passed"];
const needs: string[] = allTestsPassed.needs || [];
const expectedNeeds = jobs.filter((j) => j !== "all-tests-passed");
const missing = expectedNeeds.filter((j) => !needs.includes(j));
if (missing.length > 0) {
console.error(
`Missing jobs in all-tests-passed needs: ${missing.join(", ")}`,
);
console.info(
"Please add the missing jobs to the needs section of all-tests-passed in test.yml.",
);
process.exit(1);
}
console.log(
"All jobs in test.yml are in the needs section of all-tests-passed.",
);

View File

@@ -29,6 +29,11 @@ jobs:
npm install npm install
- run: | - run: |
npm run all npm run all
- name: Check all jobs are in all-tests-passed.needs
run: |
tsc check-all-tests-passed-needs.ts
node check-all-tests-passed-needs.js
working-directory: .github/scripts
- name: Make sure no changes from linters are detected - name: Make sure no changes from linters are detected
run: | run: |
git diff --exit-code || (echo "::error::Please run 'npm run all' to fix the issues" && exit 1) git diff --exit-code || (echo "::error::Please run 'npm run all' to fix the issues" && exit 1)
@@ -150,6 +155,22 @@ jobs:
exit 1 exit 1
fi fi
test-version-file-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install from requirements file
id: setup-uv
uses: ./
with:
version-file: "__tests__/fixtures/uv-in-requirements-txt-project/requirements.txt"
- name: Correct version gets installed
run: |
if [ "$(uv --version)" != "uv 0.6.17" ]; then
echo "Wrong uv version: $(uv --version)"
exit 1
fi
test-checksum: test-checksum:
runs-on: ${{ matrix.inputs.os }} runs-on: ${{ matrix.inputs.os }}
strategy: strategy:
@@ -528,6 +549,23 @@ jobs:
- run: uv sync - run: uv sync
working-directory: __tests__/fixtures/old-python-constraint-project working-directory: __tests__/fixtures/old-python-constraint-project
test-custom-manifest-file:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install from custom manifest file
uses: ./
with:
manifest-file: "https://raw.githubusercontent.com/astral-sh/setup-uv/${{ github.ref }}/__tests__/download/custom-manifest.json"
- run: uv sync
working-directory: __tests__/fixtures/uv-project
- name: Correct version gets installed
run: |
if [ "$(uv --version)" != "uv 0.7.12-alpha.1" ]; then
echo "Wrong uv version: $(uv --version)"
exit 1
fi
all-tests-passed: all-tests-passed:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: needs:
@@ -539,6 +577,7 @@ jobs:
- test-pyproject-file-version - test-pyproject-file-version
- test-malformed-pyproject-file-fallback - test-malformed-pyproject-file-fallback
- test-uv-file-version - test-uv-file-version
- test-version-file-version
- test-checksum - test-checksum
- test-with-explicit-token - test-with-explicit-token
- test-uvx - test-uvx
@@ -548,14 +587,19 @@ jobs:
- test-activate-environment - test-activate-environment
- test-musl - test-musl
- test-cache-local - test-cache-local
- test-setup-cache
- test-restore-cache - test-restore-cache
- test-setup-cache-requirements-txt
- test-restore-cache-requirements-txt - test-restore-cache-requirements-txt
- test-setup-cache-dependency-glob
- test-restore-cache-dependency-glob - test-restore-cache-dependency-glob
- test-setup-cache-local
- test-restore-cache-local - test-restore-cache-local
- test-tilde-expansion-cache-local-path - test-tilde-expansion-cache-local-path
- test-tilde-expansion-cache-dependency-glob - test-tilde-expansion-cache-dependency-glob
- cleanup-tilde-expansion-tests - cleanup-tilde-expansion-tests
- test-no-python-version - test-no-python-version
- test-custom-manifest-file
if: always() if: always()
steps: steps:
- name: All tests passed - name: All tests passed

View File

@@ -15,6 +15,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
- [Install the latest version](#install-the-latest-version) - [Install the latest version](#install-the-latest-version)
- [Install a specific version](#install-a-specific-version) - [Install a specific version](#install-a-specific-version)
- [Install a version by supplying a semver range or pep440 specifier](#install-a-version-by-supplying-a-semver-range-or-pep440-specifier) - [Install a version by supplying a semver range or pep440 specifier](#install-a-version-by-supplying-a-semver-range-or-pep440-specifier)
- [Install a version defined in a requirements or config file](#install-a-version-defined-in-a-requirements-or-config-file)
- [Python version](#python-version) - [Python version](#python-version)
- [Activate environment](#activate-environment) - [Activate environment](#activate-environment)
- [Working directory](#working-directory) - [Working directory](#working-directory)
@@ -28,6 +29,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
- [UV_TOOL_DIR](#uv_tool_dir) - [UV_TOOL_DIR](#uv_tool_dir)
- [UV_TOOL_BIN_DIR](#uv_tool_bin_dir) - [UV_TOOL_BIN_DIR](#uv_tool_bin_dir)
- [Tilde Expansion](#tilde-expansion) - [Tilde Expansion](#tilde-expansion)
- [Manifest file](#manifest-file)
- [How it works](#how-it-works) - [How it works](#how-it-works)
- [FAQ](#faq) - [FAQ](#faq)
@@ -91,6 +93,19 @@ to install the latest version that satisfies the range.
version: ">=0.4.25,<0.5" version: ">=0.4.25,<0.5"
``` ```
### Install a version defined in a requirements or config file
You can use the `version-file` input to specify a file that contains the version of uv to install.
This can either be a `pyproject.toml` or `uv.toml` file which defines a `required-version` or
uv defined as a dependency in `pyproject.toml` or `requirements.txt`.
```yaml
- name: Install uv based on the version defined in pyproject.toml
uses: astral-sh/setup-uv@v6
with:
version-file: "pyproject.toml"
```
### Python version ### Python version
You can use the input `python-version` to set the environment variable `UV_PYTHON` for the rest of your workflow You can use the input `python-version` to set the environment variable `UV_PYTHON` for the rest of your workflow
@@ -137,6 +152,16 @@ This allows directly using it in later steps:
- run: uv pip install pip - run: uv pip install pip
``` ```
> [!WARNING]
>
> Activating the environment adds your dependencies to the `PATH`, which could break some workflows.
> For example, if you have a dependency which requires uv, e.g., `hatch`, activating the
> environment will shadow the `uv` binary installed by this action and may result in a different uv
> version being used.
>
> We do not recommend using this setting for most use-cases. Instead, use `uv run` to execute
> commands in the environment.
### Working directory ### Working directory
You can set the working directory with the `working-directory` input. You can set the working directory with the `working-directory` input.
@@ -386,6 +411,44 @@ This action supports expanding the `~` character to the user's home directory fo
cache-dependency-glob: "~/my-cache-buster" cache-dependency-glob: "~/my-cache-buster"
``` ```
### Manifest file
The `manifest-file` input allows you to specify a JSON manifest that lists available uv versions,
architectures, and their download URLs. By default, this action uses the manifest file contained
in this repository, which is automatically updated with each release of uv.
The manifest file contains an array of objects, each describing a version,
architecture, platform, and the corresponding download URL. For example:
```json
[
{
"version": "0.7.13",
"artifactName": "uv-aarch64-apple-darwin.tar.gz",
"arch": "aarch64",
"platform": "apple-darwin",
"downloadUrl": "https://github.com/astral-sh/uv/releases/download/0.7.13/uv-aarch64-apple-darwin.tar.gz"
},
...
]
```
You can supply a custom manifest file URL to define additional versions,
architectures, or different download URLs.
This is useful if you maintain your own uv builds or want to override the default sources.
```yaml
- name: Use a custom manifest file
uses: astral-sh/setup-uv@v6
with:
manifest-file: "https://example.com/my-custom-manifest.json"
```
> [!NOTE]
> When you use a custom manifest file and do not set the `version` input, its default value is `latest`.
> This means the action will install the latest version available in the custom manifest file.
> This is different from the default behavior of installing the latest version from the official uv releases.
## How it works ## How it works
This action downloads uv from the uv repo's official This action downloads uv from the uv repo's official
@@ -493,6 +556,23 @@ Running `actions/checkout` after `setup-uv` **is not supported**.
No, `setup-uv` alone wont install any libraries from your `pyproject.toml` or `requirements.txt`, it only sets up `uv`. No, `setup-uv` alone wont install any libraries from your `pyproject.toml` or `requirements.txt`, it only sets up `uv`.
You should run `uv sync` or `uv pip install .` separately, or use `uv run ...` to ensure necessary dependencies are installed. You should run `uv sync` or `uv pip install .` separately, or use `uv run ...` to ensure necessary dependencies are installed.
### Why is a changed cache not detected and not the full cache uploaded?
When `setup-uv` starts it has to know whether it is better to download an existing cache
or start fresh and download every dependency again.
It does this by using a combination of hashes calculated on the contents of e.g. `uv.lock`.
By calculating these hashes and combining them in a key `setup-uv` can check
if an uploaded cache exists for this key.
If yes (e.g. contents of `uv.lock` did not change since last run) the dependencies in the cache
are up to date and the cache will be downloaded and used.
Details on determining which files will lead to different caches can be read under
[cache-dependency-glob](#cache-dependency-glob)
Some dependencies will never be uploaded to the cache and will be downloaded again on each run
as described in [disable-cache-pruning](#disable-cache-pruning)
## Acknowledgements ## Acknowledgements
`setup-uv` was initially written and published by [Kevin Stillhammer](https://github.com/eifinger) `setup-uv` was initially written and published by [Kevin Stillhammer](https://github.com/eifinger)

View File

@@ -0,0 +1,9 @@
[
{
"version": "0.7.12-alpha.1",
"artifactName": "uv-x86_64-unknown-linux-gnu.tar.gz",
"arch": "x86_64",
"platform": "unknown-linux-gnu",
"downloadUrl": "https://release.pyx.dev/0.7.12-alpha.1/uv-x86_64-unknown-linux-gnu.tar.gz"
}
]

View File

@@ -0,0 +1 @@
print("Hello world")

View File

@@ -0,0 +1 @@
uv==0.6.17

View File

@@ -6,6 +6,9 @@ inputs:
version: version:
description: "The version of uv to install e.g., `0.5.0` Defaults to the version in pyproject.toml or 'latest'." description: "The version of uv to install e.g., `0.5.0` Defaults to the version in pyproject.toml or 'latest'."
default: "" default: ""
version-file:
description: "Path to a file containing the version of uv to install. Defaults to searching for uv.toml and if not found pyproject.toml."
default: ""
python-version: python-version:
description: "The version of Python to set UV_PYTHON to" description: "The version of Python to set UV_PYTHON to"
required: false required: false
@@ -19,7 +22,7 @@ inputs:
description: "The checksum of the uv version to install" description: "The checksum of the uv version to install"
required: false required: false
server-url: server-url:
description: "The server url to use when downloading uv" description: "(Deprecated) The server url to use when downloading uv"
required: false required: false
default: "https://github.com" default: "https://github.com"
github-token: github-token:
@@ -62,6 +65,9 @@ inputs:
tool-bin-dir: tool-bin-dir:
description: "Custom path to set UV_TOOL_BIN_DIR to." description: "Custom path to set UV_TOOL_BIN_DIR to."
required: false required: false
manifest-file:
description: "URL to the manifest file containing available versions and download URLs."
required: false
outputs: outputs:
uv-version: uv-version:
description: "The installed uv version. Useful when using latest." description: "The installed uv version. Useful when using latest."

11
dist/save-cache/index.js generated vendored
View File

@@ -88998,10 +88998,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod }; return (mod && mod.__esModule) ? mod : { "default": mod };
}; };
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.workingDirectory = exports.activateEnvironment = exports.pythonVersion = exports.version = void 0; exports.manifestFile = exports.githubToken = exports.serverUrl = exports.toolDir = exports.toolBinDir = exports.ignoreEmptyWorkdir = exports.ignoreNothingToCache = exports.pruneCache = exports.cacheDependencyGlob = exports.cacheLocalPath = exports.cacheSuffix = exports.enableCache = exports.checkSum = exports.workingDirectory = exports.activateEnvironment = exports.pythonVersion = exports.versionFile = exports.version = void 0;
const core = __importStar(__nccwpck_require__(7484)); const core = __importStar(__nccwpck_require__(7484));
const node_path_1 = __importDefault(__nccwpck_require__(6760)); const node_path_1 = __importDefault(__nccwpck_require__(6760));
exports.version = core.getInput("version"); exports.version = core.getInput("version");
exports.versionFile = core.getInput("version-file");
exports.pythonVersion = core.getInput("python-version"); exports.pythonVersion = core.getInput("python-version");
exports.activateEnvironment = core.getBooleanInput("activate-environment"); exports.activateEnvironment = core.getBooleanInput("activate-environment");
exports.workingDirectory = core.getInput("working-directory"); exports.workingDirectory = core.getInput("working-directory");
@@ -89017,6 +89018,7 @@ exports.toolBinDir = getToolBinDir();
exports.toolDir = getToolDir(); exports.toolDir = getToolDir();
exports.serverUrl = core.getInput("server-url"); exports.serverUrl = core.getInput("server-url");
exports.githubToken = core.getInput("github-token"); exports.githubToken = core.getInput("github-token");
exports.manifestFile = getManifestFile();
function getEnableCache() { function getEnableCache() {
const enableCacheInput = core.getInput("enable-cache"); const enableCacheInput = core.getInput("enable-cache");
if (enableCacheInput === "auto") { if (enableCacheInput === "auto") {
@@ -89072,6 +89074,13 @@ function expandTilde(input) {
} }
return input; return input;
} }
function getManifestFile() {
const manifestFileInput = core.getInput("manifest-file");
if (manifestFileInput !== "") {
return manifestFileInput;
}
return undefined;
}
/***/ }), /***/ }),

830
dist/setup/index.js generated vendored

File diff suppressed because it is too large Load Diff

385
dist/update-known-versions/index.js generated vendored
View File

@@ -59221,6 +59221,271 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0; exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = { exports.KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.7.22": "707677074a9ae6906d4ccb22089341e3541db78022dc926e985bcc35fbb53a74",
"aarch64-pc-windows-msvc-0.7.22": "bcbee39a55eca43ea286cbaa467b083888c7811ab8f47458063bc53331224f4d",
"aarch64-unknown-linux-gnu-0.7.22": "d2ee24524f5ed45baceaddebded48493f7dd2692fad8a1d1796c606134c133b7",
"aarch64-unknown-linux-musl-0.7.22": "1d524e7d61336ccdc4caa2299df811f318b96d81034ff621b7217d6c440a1702",
"arm-unknown-linux-musleabihf-0.7.22": "ad458ba424cbd77f8278b634e9e14a2fea0ba1610b7a51b38e611cd8a8072792",
"armv7-unknown-linux-gnueabihf-0.7.22": "3523c1f0396249bc3eae97f15141921108214e4fdce50f153272c79c91d3e737",
"armv7-unknown-linux-musleabihf-0.7.22": "b96ec5d9be9527fe3a4e6642e26489cd1b12a8cbd3f2b80145bd61bd4919e188",
"i686-pc-windows-msvc-0.7.22": "aca18c571d8bd6d370e0440a16544afde421ea01585721a46d3847c11404fb41",
"i686-unknown-linux-gnu-0.7.22": "ea5f6c1460843bd1c391e06d731278707806666438a9389f957e604f60be3eca",
"i686-unknown-linux-musl-0.7.22": "e20e7eceb3100bc93ed638d723a5b4f9985dd2650398b3f10b175a93e744c7b7",
"powerpc64-unknown-linux-gnu-0.7.22": "7e7281c99a62a729483ea0268511bf9416a97f6256cc9123d7910b42d7c27937",
"powerpc64le-unknown-linux-gnu-0.7.22": "0891f6f9fb7099cf35cc6bf4d3e565504ce793466d0a592056703518cb771dcf",
"riscv64gc-unknown-linux-gnu-0.7.22": "8bf7e0bff7f1cfa2c8057405c2f5a377c7b864a83dfff8ce045f5773374f7add",
"s390x-unknown-linux-gnu-0.7.22": "d7aba1fe8783e39f5f05061fc255a28d98eff0b83600915b606903ee1764b674",
"x86_64-apple-darwin-0.7.22": "af8fb83280a000f5864653ca0c9a1f69bbdbc8b2bbfeb2e1d450ce7fd1518ff1",
"x86_64-pc-windows-msvc-0.7.22": "ce5c13291643e8306e8d2dbcaf340d36ea985a761a53f2ca0a45e1a8e8936c85",
"x86_64-unknown-linux-gnu-0.7.22": "8379e040fa1828e662968edaa3856aaeb6e1a0a0ec76ef8583096be1f72f19d4",
"x86_64-unknown-linux-musl-0.7.22": "0508e73f28fa4024c76c4e0a5e347fea6aeb4bead0234618e6cfb76804237259",
"aarch64-apple-darwin-0.7.21": "c73af7a4e0bcea9b5b593a0c7e5c025ee78d8be3f7cd60bfeadc8614a16c92ef",
"aarch64-pc-windows-msvc-0.7.21": "877454562ba2af12a020652fb8f63d14b6c05aa6d1d3497441822c6c0b198541",
"aarch64-unknown-linux-gnu-0.7.21": "1dae18211605b9d00767d913da5108aea50200a88372bf8a2e1f56abdbe509f0",
"aarch64-unknown-linux-musl-0.7.21": "6577895c91a6bf6c1fda5f0fdfd07f8ee05f75f24a70a49193f8fb8dcde81fc3",
"arm-unknown-linux-musleabihf-0.7.21": "cb175698eeb3abf77c00c4d19e9c5e10ed847f6988769f5b18a5c98c1ebd21ad",
"armv7-unknown-linux-gnueabihf-0.7.21": "9c64218ebc2f96520105fddf3b500026a50d9319c7faf4d2221a7113efd96fd7",
"armv7-unknown-linux-musleabihf-0.7.21": "9f83f0c4821e572e9289e270e64429495b188e372519ee88524e97b50943e657",
"i686-pc-windows-msvc-0.7.21": "aaf3f3bc934616214e1f33ccb22432dc59110211b2b15636d66e8e42e9cf2f6f",
"i686-unknown-linux-gnu-0.7.21": "141a4ecfe0bf08e82fe5834a0fd265cf3c27833c1bfbab69344efb1604c2d964",
"i686-unknown-linux-musl-0.7.21": "ae1faeda2475f0df8733215133771da58de159d9e7b5a728f30047708e21a724",
"powerpc64-unknown-linux-gnu-0.7.21": "bef76b3992d21682dfc82e096d18f449d43a757f28a00a62eb7e05002349f287",
"powerpc64le-unknown-linux-gnu-0.7.21": "107c6c5a444c27bf772b1ec233b5b83dffd79348488cccc832dc9c14ee5ddf56",
"riscv64gc-unknown-linux-gnu-0.7.21": "c5c160e64809ae29404354e555df7264763f7cf67012ffc1350619cc9d19299b",
"s390x-unknown-linux-gnu-0.7.21": "77f3472201867a766e6f2a37ceb2e2f2f78343d3460c2313e3643483c80ecf92",
"x86_64-apple-darwin-0.7.21": "f8a9b4f4a80a44653344d36b53e148134176e8f7cc99f8e823676a57c884595e",
"x86_64-pc-windows-msvc-0.7.21": "7a4e427ceaf3c7d8437e512cbc25af84796c4079cf842c3349d4b646a9209da5",
"x86_64-unknown-linux-gnu-0.7.21": "ca3e8898adfce5fcc891d393a079013fa4bd0d9636cef11aded8a7485bcba312",
"x86_64-unknown-linux-musl-0.7.21": "7400debadcd63e530cf58c3cfc71d43d5a1017d2f699be86c6e91d7dc2073c7c",
"aarch64-apple-darwin-0.7.20": "69da236af5934209a5c059fff1b2f69068918c423601f42448b1d92336853127",
"aarch64-pc-windows-msvc-0.7.20": "34f3720cdd736f034f3b0d1b03d6b74b85d3528ccefd3552b3aadf455f191b2f",
"aarch64-unknown-linux-gnu-0.7.20": "675165f879d6833aa313ecb25ac44781e131933a984727e180b3218d2cd6c1e9",
"aarch64-unknown-linux-musl-0.7.20": "0f68f4a4583923635e56f7f930526bbbcc14d090f1c1a7ec1d28cc4ddad05279",
"arm-unknown-linux-musleabihf-0.7.20": "9d3eb7fd1e3580a40e5d3f25db5d8a0719fb77be1d750b4849f6dbc96885e39f",
"armv7-unknown-linux-gnueabihf-0.7.20": "775c3634a1ed7f0c23e5ce8e418acdb394fe87df1ac21af9f274e1e68df0d9b4",
"armv7-unknown-linux-musleabihf-0.7.20": "27ac3e7f44c1af5bb9f01560e1848893e09c502a85552521cc9cf0d2cd4322c5",
"i686-pc-windows-msvc-0.7.20": "90367e9f5adc46d6effd2b2107bee5f900f959c64898ae3ffb1e28b9519b15e5",
"i686-unknown-linux-gnu-0.7.20": "9b53f988b7024728da39fc3e4217bf8cf233d1aa7afda20599dc3acb2049f328",
"i686-unknown-linux-musl-0.7.20": "fa3091a175cdba4202367b30bda899bc3ed3b6c2161b7c42500c3bd1b388c3e2",
"powerpc64-unknown-linux-gnu-0.7.20": "84b76581c50071a87609d340050b2cd0ba7fad7e929106202d4c99f4c5a41243",
"powerpc64le-unknown-linux-gnu-0.7.20": "25082231ee1b479cc9fc486949e3196affda09b82bf0c6b3c8eacde37f56e9db",
"riscv64gc-unknown-linux-gnu-0.7.20": "339015c2c934b93355a972c737f649fdf96abb699bebbc1b0955de9e5fff04bb",
"s390x-unknown-linux-gnu-0.7.20": "16819d631e56438ea2e58b60bfb99feb8b2b8cdbec73e375e21c6dbe1de8c725",
"x86_64-apple-darwin-0.7.20": "0c0edf17aff045bcb9bf89ffa43fefaec2d6585ff69debdb0ade62608f8ff069",
"x86_64-pc-windows-msvc-0.7.20": "ddf35e258c32971c00f3f4213cf1b5cf0847a42dac578738cb294d379e4a9f6c",
"x86_64-unknown-linux-gnu-0.7.20": "10f204426ff188925d22a53c1d0310d190a8d4d24513712e1b8e2ca9873f0666",
"x86_64-unknown-linux-musl-0.7.20": "c8efa6bacde9154aa705feb35985cbc852d75c7d634e8a6867aa2f5571b27a62",
"aarch64-apple-darwin-0.7.19": "698d24883fd441960fb4bc153b7030b89517a295502017ff3fdbba2fb0a0aa67",
"aarch64-pc-windows-msvc-0.7.19": "c843b95d9bad3e364ead2af00b793d42156cb4f8ac0c2e33bfd2b3e50a0efc86",
"aarch64-unknown-linux-gnu-0.7.19": "31b81b4b4ecd51ee4202f1e710fc22b72666f716ffbb825aa397c8246624d60f",
"aarch64-unknown-linux-musl-0.7.19": "e83c7c6d86c8e7456078c736a72550ce20222df8083f9317fc58cd49422ce5eb",
"arm-unknown-linux-musleabihf-0.7.19": "fe9834d5383feccd095cbfdbc290d7379f64bafc894ae8d8eb0724edfa754853",
"armv7-unknown-linux-gnueabihf-0.7.19": "6678e4d1a91349dacd3405b0efa88656d1c8a16fa7ccea822c368039988f8339",
"armv7-unknown-linux-musleabihf-0.7.19": "3022a75e757a31978e896e2e3fc2cf2dc966267a8757a270be0b421f541467e4",
"i686-pc-windows-msvc-0.7.19": "063829d117c2e42322b0e3a59ee91020dcb1d95522889b903ffad392df197a11",
"i686-unknown-linux-gnu-0.7.19": "1785537fc65a35609dc33063b5f1cc85437a08ade4c0a832071c018481afe515",
"i686-unknown-linux-musl-0.7.19": "e64bc4f74cee116694ea63ad0722245f62f386de271be1a1c28a6e4fd977326e",
"powerpc64-unknown-linux-gnu-0.7.19": "fb8a4a0d20dd3e236a88229e15af89fa3144bd06c4087dbfc7ba8ca691b0a953",
"powerpc64le-unknown-linux-gnu-0.7.19": "b335d0593c165fbfcc51915b3eb056f45c5691d06744a5ded7210d789469870a",
"riscv64gc-unknown-linux-gnu-0.7.19": "36ccef1387594e8fb212257fbeafa9e260709b363e1b262f43bd5a679134e4ac",
"s390x-unknown-linux-gnu-0.7.19": "08ac0245d24ba16bbf224b00e8bc8021d081f9dcfdc61881cb6e4ac83954705a",
"x86_64-apple-darwin-0.7.19": "40667bcb615b5af3e373ad611c4a9b95639b97e19b5924a436df8e69ca9331e2",
"x86_64-pc-windows-msvc-0.7.19": "3098b38638b271d8b14b81247d6d69bb105807ec9fc5eb85f8cc8b6de5867c86",
"x86_64-unknown-linux-gnu-0.7.19": "5ad6f11d5a04cb3af2418666031f20b63190f82032ec5a7f3a174385cc5567e4",
"x86_64-unknown-linux-musl-0.7.19": "6236ed00a7442ab2c0f56f807d5a3331f3fb5c7640a357482fbc8492682641b2",
"aarch64-apple-darwin-0.7.18": "c33cfaab95da1413a0403f643b7edb1c5af6798d8a2370196a80fc37b894df48",
"aarch64-pc-windows-msvc-0.7.18": "c9c78de380e459f8424f648d107d4ab5286273ab19622a5d17796dc6689de453",
"aarch64-unknown-linux-gnu-0.7.18": "2af8d0d963f547deba09c52aca79a26113f0ed5c903c101241fedcac90c2d8f4",
"aarch64-unknown-linux-musl-0.7.18": "32872da98e5c48945e45406d427b3b4fdc11f04e4b8f297f49f76724894eb61b",
"arm-unknown-linux-musleabihf-0.7.18": "c6c9e718aee25142139b25bf6bb5f9566c57812abced3efa71b4677ac3ef1275",
"armv7-unknown-linux-gnueabihf-0.7.18": "00cdc4c898a251ea0c12f5db7b22929ff6f73f87a51fc6f874dfb57aecdcc995",
"armv7-unknown-linux-musleabihf-0.7.18": "92a07d26943b5e223e941b64fa22e048c13fb6462ccb35f18fe2e212cfdc1c18",
"i686-pc-windows-msvc-0.7.18": "4293c65f1fce52bd5396ec4419ce1c76412e276e0f292ec2464c319b7f8d59be",
"i686-unknown-linux-gnu-0.7.18": "e5db36cb7b7edbe405c70211802ffe3b161983027f7644ca9ddc9ed5605dd504",
"i686-unknown-linux-musl-0.7.18": "5829e240206ca895f8e500e9432dd87553091459a80d2a40c0d144688d443336",
"powerpc64-unknown-linux-gnu-0.7.18": "927af365bc8388da27d241149a52ee3b9772db87ebace6fec6b00062aedd4a24",
"powerpc64le-unknown-linux-gnu-0.7.18": "dc7ca0bca11efd40a4f85c40e2d83d830dacb7b0f9626bc40360a6697aa035e6",
"riscv64gc-unknown-linux-gnu-0.7.18": "2cd75769322d264151e9abc2cf89edd086239afa00c0a1354d52a700657f7deb",
"s390x-unknown-linux-gnu-0.7.18": "bc63ad2eefe5278b121a78255e8c488eb69ae29784b69012439ef365701393db",
"x86_64-apple-darwin-0.7.18": "7a4a3350224a3a3904589ea306041af68686d72ec4d4b68e34c15d25dfc5cb4a",
"x86_64-pc-windows-msvc-0.7.18": "5a5b3ef7c6aee0bb1101ef047f35a0fc7cc82e34eef3286e54c5badd261cb599",
"x86_64-unknown-linux-gnu-0.7.18": "bcb8093f59eb08539087faf895ea1e794fe3db395de79eb41ddaa41d8c25adf7",
"x86_64-unknown-linux-musl-0.7.18": "c8b51ed978b5f95a7c34dfe39e1dce966f7497fc12179f27507d507d9f3ff40b",
"aarch64-apple-darwin-0.7.17": "0777e13ba598ccb9a9f78df209c98922b219a195765b9f1b309457a08cbae43d",
"aarch64-pc-windows-msvc-0.7.17": "be0e7263e4106ca73ac72b4f84ae1c203db446d42d764b2b6459bf1d84aa1859",
"aarch64-unknown-linux-gnu-0.7.17": "b88fda8f37769d445dd4b433c83490112afa18fc009b75e3cb28412a1d189c53",
"aarch64-unknown-linux-musl-0.7.17": "789f3749497181311fbc27d2da322f4f836d814389901e8a7917ee664f500a6b",
"arm-unknown-linux-musleabihf-0.7.17": "7f39a83f2cd7925aa25020dce70f9d2617213b710aec1c9fd686c3314ee814a2",
"armv7-unknown-linux-gnueabihf-0.7.17": "9a4ee0fe51b07b8badf7ca874b3a065a0d2cf3b04c69aa2c7618c03d6ddd46ce",
"armv7-unknown-linux-musleabihf-0.7.17": "6a5d3fa02a7bb5696ac392d6277f29174f27bc38e0100016ee67c55c8a472e3b",
"i686-pc-windows-msvc-0.7.17": "45ffa8cd52e6a0764c2bde7c97be840b6c7606f976e6ae51bab394a891653f52",
"i686-unknown-linux-gnu-0.7.17": "043897d13541c11c1221761c768d4234b889ce1fa39f1f27a567e11ca2c86233",
"i686-unknown-linux-musl-0.7.17": "0d7a846ff1ae9d620243da530adcc468bba4aa317cb3ba4210c724e2ec5734b4",
"powerpc64-unknown-linux-gnu-0.7.17": "46331c3771dbc8aaaa4c75421b6195edb763bac5ca4b8d551efd2da013351252",
"powerpc64le-unknown-linux-gnu-0.7.17": "9f7e13304c7f3977c2e1eaa068a6beb36e6974a2abcf8cb1b8e0d8b96c251203",
"riscv64gc-unknown-linux-gnu-0.7.17": "789fea86b495397c7bd12c92221259f07c78ba738d568757b06500ac94b6ebe8",
"s390x-unknown-linux-gnu-0.7.17": "208c6609012ca921aa3ca67d49dde34464e405041b1d8b041c15078687456570",
"x86_64-apple-darwin-0.7.17": "c0aff6481443e7dc38c01dfb3535814db42c00ad3ab374e7b4ed4ebb7f5b2237",
"x86_64-pc-windows-msvc-0.7.17": "b49d1a02662ac4a490c886fff8a340a4adc32da8d0634fc653a69459d2b5f863",
"x86_64-unknown-linux-gnu-0.7.17": "e9bf64a66a318a82d3c37a74c31527df0ac7e7c821a10f5e1032415f000d7d43",
"x86_64-unknown-linux-musl-0.7.17": "ffd877241741df0a6436ba6ed0d8cd6573f1f922ede3a967c32c57d2133c72b0",
"aarch64-apple-darwin-0.7.16": "a157919a2a615fac5de0fcef5120a63de7e6582fb6e0ae4428238af347ed1054",
"aarch64-pc-windows-msvc-0.7.16": "a832dd02c44cd8d373b226ca34128982aca5303dd3b477c90c5a1f83efa874b0",
"aarch64-unknown-linux-gnu-0.7.16": "4ff5b8542514b453073cad1dfba08db751ada21981b869c69a2ac29fd639b586",
"aarch64-unknown-linux-musl-0.7.16": "c1536a85aa85cae05c51d25b2819c5b9869f67c66c65948aadeb0c38c4bd51b3",
"arm-unknown-linux-musleabihf-0.7.16": "20902d98f9a309df2a83ffd31ecfda444dfb75249c2779eedaeed7d73274f34b",
"armv7-unknown-linux-gnueabihf-0.7.16": "72afc7e60eff20a1c2181f88c9d96e06553f854192b3a13069aba0f8b045a839",
"armv7-unknown-linux-musleabihf-0.7.16": "c0b5300958a489330a9790b701f1491a1bec72e402281cdaf6a2362b51fa4c13",
"i686-pc-windows-msvc-0.7.16": "6d4c4de0cc8c88fb7d94138c05091dac6746a7bc9d94b3743e804a485546154b",
"i686-unknown-linux-gnu-0.7.16": "ee03aaf5d736524a8b6e74c273d5877be1bb720933cb8f7f5e70b42c70933418",
"i686-unknown-linux-musl-0.7.16": "b815f060a689e0fe95ec36498533bb261b92dab5cdb60b02cc19fa30c6cd7e57",
"powerpc64-unknown-linux-gnu-0.7.16": "a2b78151e50646b26cacef24de87d625d4b100efe69347c88a8a6d340b0e82cb",
"powerpc64le-unknown-linux-gnu-0.7.16": "c231b3880c6584b6fe411b0c7507ed0c091856a64f84720b732ddd39b21b7e6c",
"riscv64gc-unknown-linux-gnu-0.7.16": "6be4c3e27989ffd49befc689884b78b55c53c817a27040b8e232edd92185b037",
"s390x-unknown-linux-gnu-0.7.16": "f4e1814f2326db1eb0d0d2ea96ee36c361a856e8c9d8d82817936aad9baa4299",
"x86_64-apple-darwin-0.7.16": "414cb3c348b0482bc88fdabbc267973a11401e684a78fd471b2c4553fa8b6965",
"x86_64-pc-windows-msvc-0.7.16": "409d19c14a9b1ce83bf7331dbda89984802efb3a2fbf9ffdf149b22ab9cf2826",
"x86_64-unknown-linux-gnu-0.7.16": "c51f5dc9fd33e789992839d2957d6cfe0b6dce1cd7ec641740af456b12e9d468",
"x86_64-unknown-linux-musl-0.7.16": "34c9da84a673e6c06d2e081d72d953f278fe5bb6aba0437210ba62817b340eb7",
"aarch64-apple-darwin-0.7.15": "7a20f3d33cbbc75683d66e0562d4bdbd702ca656d7dc1b7be3c592de6a6517b9",
"aarch64-pc-windows-msvc-0.7.15": "d15770be109fdde45c60a522fcc97bf19e0d9d9de8a0d2f0dadc772786110123",
"aarch64-unknown-linux-gnu-0.7.15": "a8241809c6efcf5ff649d259276dabd297a2c46e9e2f78891a1f9b8ae858e1e8",
"aarch64-unknown-linux-musl-0.7.15": "4351c1e2ec13f5eb4da058ac1c39f00ae3042de9d6fdb6480e0170f32813210f",
"arm-unknown-linux-musleabihf-0.7.15": "26c7f1baf3f14857d8d5d2df86ea47a3ce5a0e6223c1db9af2a32bb3d216d5f1",
"armv7-unknown-linux-gnueabihf-0.7.15": "6609e0f39c958a2b728ffec99ed53741cee92d5db168fb275448216a9e2f5a63",
"armv7-unknown-linux-musleabihf-0.7.15": "3a60e3bfc6b927537eff1c6fdb359bdfb5a02a59820bb964e04144d731b12ca9",
"i686-pc-windows-msvc-0.7.15": "831ac11382c9ae014f6f5d27506c8977bfba5aa6b104e278d3a87ff4d1e311d3",
"i686-unknown-linux-gnu-0.7.15": "8d11cd225843aa7e7b25a5300721d48519a13bc82fc8b7bf63b063b8520b2db6",
"i686-unknown-linux-musl-0.7.15": "8640a014e5ef7020b33a8e95fabd5e0c75adf80beeaf265ed50dfe2bee92aeb2",
"powerpc64-unknown-linux-gnu-0.7.15": "6a4c0fe1075c4f3b9dfb8d0654a58ca547aaa84f829bc9e1b60a096153d18686",
"powerpc64le-unknown-linux-gnu-0.7.15": "81f6d18b857cc3517f249fd7e321b9cad6e6c17bc7d7ad88cefc0c25cca3e486",
"riscv64gc-unknown-linux-gnu-0.7.15": "6a0a6ef8fa3d03b6a6cab9185cd84e28c78db1e5736efa711e6f5efa4e6c27e3",
"s390x-unknown-linux-gnu-0.7.15": "d5a2343934c7fec124fb0a140b12c4dd30e20c5473e67b11d064f5b6e52eead0",
"x86_64-apple-darwin-0.7.15": "4c7c1fe116566b6f8725a3801a33fa5e066b8687643acd73249e5db1351c2103",
"x86_64-pc-windows-msvc-0.7.15": "b78c2d265e74b21b1c04b5b4ffd61c5c7b8110f9188e24949ee9f6fd5fbaf0a8",
"x86_64-unknown-linux-gnu-0.7.15": "b1dc0892749e93382decbd894755be0ba1535587f0bb8333572b072d1b0f652a",
"x86_64-unknown-linux-musl-0.7.15": "c97afc120614c88bd8c13dac2d35015bc59656289633d61bc438e7e680a38710",
"aarch64-apple-darwin-0.7.14": "7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
"aarch64-pc-windows-msvc-0.7.14": "f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
"aarch64-unknown-linux-gnu-0.7.14": "c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
"aarch64-unknown-linux-musl-0.7.14": "30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
"arm-unknown-linux-musleabihf-0.7.14": "3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
"armv7-unknown-linux-gnueabihf-0.7.14": "d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
"armv7-unknown-linux-musleabihf-0.7.14": "0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
"i686-pc-windows-msvc-0.7.14": "42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
"i686-unknown-linux-gnu-0.7.14": "71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
"i686-unknown-linux-musl-0.7.14": "d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
"powerpc64-unknown-linux-gnu-0.7.14": "a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
"powerpc64le-unknown-linux-gnu-0.7.14": "3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
"riscv64gc-unknown-linux-gnu-0.7.14": "4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
"s390x-unknown-linux-gnu-0.7.14": "b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
"x86_64-apple-darwin-0.7.14": "352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
"x86_64-pc-windows-msvc-0.7.14": "f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
"x86_64-unknown-linux-gnu-0.7.14": "2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
"x86_64-unknown-linux-musl-0.7.14": "8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
"aarch64-apple-darwin-0.7.13": "721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
"aarch64-pc-windows-msvc-0.7.13": "bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
"aarch64-unknown-linux-gnu-0.7.13": "0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
"aarch64-unknown-linux-musl-0.7.13": "52baba71881c978d32b7c32216ad0cde4546a4dc62e606c9834ec4616c1610eb",
"arm-unknown-linux-musleabihf-0.7.13": "ff2b11fff489301f9d55c851b9ebce7ca5530d743d2c0a3861cc45896715ea9b",
"armv7-unknown-linux-gnueabihf-0.7.13": "903350811ee31b2b758c8afb853490c27a34382a535b236739705b104bc13894",
"armv7-unknown-linux-musleabihf-0.7.13": "7e3b2aa966c54ced0fcd9febea6b913ee7ea12ee85246513895f199ab13296a8",
"i686-pc-windows-msvc-0.7.13": "5cf71014fde208ee0833026b3828007f8eaf514ec003784dc1ae92633877179b",
"i686-unknown-linux-gnu-0.7.13": "ff031258ff08b3aca46648398e21fe9679744501e3c9a928c8e42d596a708bbc",
"i686-unknown-linux-musl-0.7.13": "41851d695bb5401bce5af81a156d63215087cf8e8e1275e69dd96de4bfa30c26",
"powerpc64-unknown-linux-gnu-0.7.13": "02a80ce1436bf673b0d7276bb24dea0bbc70958dc91e5fb04ad37ac515be7424",
"powerpc64le-unknown-linux-gnu-0.7.13": "60c8907cce089de97dcce732ae363eda0620f7196c25e8bd539f168b93f9e34c",
"riscv64gc-unknown-linux-gnu-0.7.13": "521a5235bc5a053dd7f0221c363544cef6d033064cc9d92dbb4ef19771000052",
"s390x-unknown-linux-gnu-0.7.13": "41e4b6093dd408b41dffb4c9e08c4aa31424ee4573ce9c95566c2617f7f2d0c6",
"x86_64-apple-darwin-0.7.13": "d785753ac092e25316180626aa691c5dfe1fb075290457ba4fdb72c7c5661321",
"x86_64-pc-windows-msvc-0.7.13": "e199b10bef1a7cc540014483e7f60f825a174988f41020e9d2a6b01bd60f0669",
"x86_64-unknown-linux-gnu-0.7.13": "909278eb197c5ed0e9b5f16317d1255270d1f9ea4196e7179ce934d48c4c2545",
"x86_64-unknown-linux-musl-0.7.13": "560bb64e060354e45138d7dd47c8dd48a4f7a349af5520d29cd3c704e79f286c",
"aarch64-apple-darwin-0.7.12": "189108cd026c25d40fb086eaaf320aac52c3f7aab63e185bac51305a1576fc7e",
"aarch64-pc-windows-msvc-0.7.12": "fbedfb71356d0e63c86b507cf1434a58406afe6eac77aee9d37b8282d4006e14",
"aarch64-unknown-linux-gnu-0.7.12": "23233d2e950ed8187858350da5c6803b14cbbeaef780382093bb2f2bc4ba1200",
"aarch64-unknown-linux-musl-0.7.12": "0589f6d27bbbe2e205aa6fc25e4cd28ab97e984cdba20842de8d3a00714e13e9",
"arm-unknown-linux-musleabihf-0.7.12": "6996e32ac1c37af33a4c6e40ab0126a82d62ccb94edb164b7dae554be4dd8336",
"armv7-unknown-linux-gnueabihf-0.7.12": "aee2dc202deed7e15984d71eb59803111052fbe8c0fb3ffad27ae0a6d290d74f",
"armv7-unknown-linux-musleabihf-0.7.12": "87bd7676d31858d9e1937ab69d13e30cc93ebb09fb246dde6a8f183e9570a82c",
"i686-pc-windows-msvc-0.7.12": "c7ec71ba64d01ef3cdb89553445de94ab4fd7375c8f2a7068353aec7a3a06342",
"i686-unknown-linux-gnu-0.7.12": "d1def68ff10b30327a5cacab497664aaf8338e192ba277b76f45dad63208f2e2",
"i686-unknown-linux-musl-0.7.12": "f56a0a9c84b35b7e910c4d628c667b843fb3fa1d9dddb0bbf4bf3f21eeaee07f",
"powerpc64-unknown-linux-gnu-0.7.12": "6eafb546d1b8642a5c27e4dfda213659fee41b0fd150b4c33ef96c917e595344",
"powerpc64le-unknown-linux-gnu-0.7.12": "0d550348d7a0f54352824cd751dc7baea0c23b17d744a5a7784b6b825e5fc909",
"s390x-unknown-linux-gnu-0.7.12": "76f5a2c1c13446233312d140136f3f55fa7c162176327830eb109ccaae6c9cea",
"x86_64-apple-darwin-0.7.12": "a338354420dba089218c05d4d585e4bcf174a65fe53260592b2af19ceec85835",
"x86_64-pc-windows-msvc-0.7.12": "2cf29c8ffaa2549aa0f86927b2510008e8ca3dcd2100277d86faf437382a371b",
"x86_64-unknown-linux-gnu-0.7.12": "735891fb553d0be129f3aa39dc8e9c4c49aaa76ec17f7dfb6a732e79a714873a",
"x86_64-unknown-linux-musl-0.7.12": "bb493f1e6ae426c06b5a103cb71aa60c678976d2377f0590644538658656c2a7",
"aarch64-apple-darwin-0.7.11": "b5f4cb27a3002d6590c3681377c6d826db0b52e2a9529c7144fcd53fec89ba79",
"aarch64-pc-windows-msvc-0.7.11": "856bac93344a6980b2703a4143f26fc042c941b02f11ed21f55ec6be3fdfde87",
"aarch64-unknown-linux-gnu-0.7.11": "80cf695c4e10b532e9db3c7fbbcfb0f8356f2e70e7a4a5040e005f0fae70923d",
"aarch64-unknown-linux-musl-0.7.11": "2ad20d143c74d7f63d1c99db3999f239f045b7be041e23f6ac8b269c99fa54fe",
"arm-unknown-linux-musleabihf-0.7.11": "21fec46f09d96cd9f51378fe01ed050dd2032c1fef823f8bd81fa50a2337bbcc",
"armv7-unknown-linux-gnueabihf-0.7.11": "1a75aaff4695c07151d5b9abb50232ea9fb6f5ccc82d4b319abd8796605d9db8",
"armv7-unknown-linux-musleabihf-0.7.11": "431b3115ab8fb5e2210d01f29b7901e6eb1174ff65545ec49318d6d4adf4c802",
"i686-pc-windows-msvc-0.7.11": "985f5eabf42b8ad0166ae6b9f799564220fa932938a8401c890d5e07321ce7c0",
"i686-unknown-linux-gnu-0.7.11": "619e205d56594fc530dbde6c6a543dd094c796791a5e2cfcd3bb70fa5767bf9d",
"i686-unknown-linux-musl-0.7.11": "838c6336ba8e88818459b10c3520e83601b9c0a9850a209accef9782c050faad",
"powerpc64-unknown-linux-gnu-0.7.11": "769c7f32cbc2ad918ccf9ae661d99a6c0d0fd3a0056691832b4a79049a9d06ec",
"powerpc64le-unknown-linux-gnu-0.7.11": "c9bbbcc2d4f11c83e0edbff5868d95f07f81455adb6f2f909cdb9b992928101b",
"s390x-unknown-linux-gnu-0.7.11": "0e7b9b27e9fef1b42aa052173a2a47a2ec33bad82425237dfac402b7f69bd073",
"x86_64-apple-darwin-0.7.11": "97980b067dc3fea16534371b030eaf38554d701de5058004edcfd542a88a2e84",
"x86_64-pc-windows-msvc-0.7.11": "0f4ef69fde75bb8bcfba7ecf0a4134d8875578cd2e98c9fcfc21573e746c70ac",
"x86_64-unknown-linux-gnu-0.7.11": "df54b274e99b7ef26030dc21d105ce115bc21a644fc6a321bde9222cb1616de6",
"x86_64-unknown-linux-musl-0.7.11": "e4e8948645ebea1950a3c77574ce079dfe1c71547ba5a8a141d6e362fa036684",
"aarch64-apple-darwin-0.7.10": "316b80c19832ff4085748c3a20a3e05f36e1d19234e8b9399a6fd1c971241bce",
"aarch64-pc-windows-msvc-0.7.10": "1eed0f11bca79403648195f8ce257763d956e861cb73de98c480dae15358bb26",
"aarch64-unknown-linux-gnu-0.7.10": "8746acb754807050124c6dbcb05fcad2665a3f0cdb2a0fe9de528bd37b092656",
"aarch64-unknown-linux-musl-0.7.10": "f9000f08850a5c575d5fe1ddc2ec928ecc9f287ecdcd9fa1ea4e3f405b23d4a3",
"arm-unknown-linux-musleabihf-0.7.10": "657b1b8a534f7fe78e63aff56aac5bbcb21f6254df79825fe204d5c7c1219653",
"armv7-unknown-linux-gnueabihf-0.7.10": "1cf4a8f40abbd802a7b44fe9695da356701100d267eb3567c17db27e0a24cf69",
"armv7-unknown-linux-musleabihf-0.7.10": "5282b825f469295dc2b88c94eccd375a93135a279b0711cb10e615e7a71a0617",
"i686-pc-windows-msvc-0.7.10": "f3c62ff935685d9d4312b82d01ed386493b97c3d22bd434d943fc99ce9aef83a",
"i686-unknown-linux-gnu-0.7.10": "24a2a3eb0e89b74de6aac492516303747519439775d22254e838d33410ac27b2",
"i686-unknown-linux-musl-0.7.10": "e317d35af60b38ad32935390a83d12adc3ed7ffdbc2ccccd3039bf6cef650eb3",
"powerpc64-unknown-linux-gnu-0.7.10": "c1ab41ec53cd720179f3351b61b4ded73ec520804413b75051736829a125e4fe",
"powerpc64le-unknown-linux-gnu-0.7.10": "ce2c3fdf177facf6c77c5316bb54b9deaf498bee9f664e01a4030ecf27063ab1",
"s390x-unknown-linux-gnu-0.7.10": "b7603e3f4494e9093a86ace1103e3fcfa172a952989f0c7dca6eeac7f77be81f",
"x86_64-apple-darwin-0.7.10": "9123e8aa944654404787f80731ec08850c4e9b9129c0d0445c9e41438828b8b8",
"x86_64-pc-windows-msvc-0.7.10": "1568a71af55e9d9bc4a050ec79134a342a8a3765a73f6b7ec26490c2814f8797",
"x86_64-unknown-linux-gnu-0.7.10": "ff2ef46298963fee8104ccb3c0a4ecbc97c057ac6a0bc5fec7636c855384252e",
"x86_64-unknown-linux-musl-0.7.10": "b2cf1f63e83a873652ffef032681bbbe1469e3bab617f7e715e09529c30f5689",
"aarch64-apple-darwin-0.7.9": "7a8b716a2b5905fb89512371ce6c6dbc0dd0344185bd1cd93a3fe27516eef7ec",
"aarch64-pc-windows-msvc-0.7.9": "63c0990b9c49dc9f9a92aaaa27ba627cbf9cf6b2e42766588ef6f880208893de",
"aarch64-unknown-linux-gnu-0.7.9": "23242a8051e2191ed8d61f71a6792f2fc069ef18e6cdf07dedac3d3f648643c5",
"aarch64-unknown-linux-musl-0.7.9": "60f30508c9002b2b7af55d70db2741cf7ea24c066ced710ad09681a6d2d19b3a",
"arm-unknown-linux-musleabihf-0.7.9": "57d8e43e257f0ccd9df2b8581338c5145b9937aba53e9c9bb81b31044b720c61",
"armv7-unknown-linux-gnueabihf-0.7.9": "83353ee7e1724083ea94d7f488fa34c9159995a3996f87017fdf72e422c93242",
"armv7-unknown-linux-musleabihf-0.7.9": "b2d8d81bc2abbdd857bad7cd3bf0d36c5155c0681aae8ac9fb8f49d54b95b3f2",
"i686-pc-windows-msvc-0.7.9": "b5dc0dc10d9dd0dcf5729a94e98538418760d13877d4d4b1bc4efa9926280e78",
"i686-unknown-linux-gnu-0.7.9": "fb8f1a7cb593c819c0fff71afa2dc480237ca80a3f5d8d433c8b51d2ae90ffdf",
"i686-unknown-linux-musl-0.7.9": "a77592be13fea81ca42b2b7815784e769e1fd9ff476cfab69f2652823f99c55e",
"powerpc64-unknown-linux-gnu-0.7.9": "26fee4867c158c04dd3a51ff9a23b4220a9ba69fae2e71be618d2cfa48164d96",
"powerpc64le-unknown-linux-gnu-0.7.9": "d588fbb01cacccb7fd6e0f101d34282ebb0569381f967d332f8072055e39840e",
"s390x-unknown-linux-gnu-0.7.9": "d823d68ff662b7e59c6791281427bf1019dae791a964ffae31ae1d2d723dfc08",
"x86_64-apple-darwin-0.7.9": "a4c084568850588b77e4a34c21b7df5c8cf9e2160b4d614307ed92fa12411742",
"x86_64-pc-windows-msvc-0.7.9": "f91d8a3322a10caf257fd416807bd8d2801285b80b46ee37f2d0c6e426b8822c",
"x86_64-unknown-linux-gnu-0.7.9": "b8450a419c0bcc85841bbed8511eb59e2a5683ddd3f813f2b98b97babf6b1b8b",
"x86_64-unknown-linux-musl-0.7.9": "95918a1e1faf851a39cad402f1a77318e8fc90b7f829833ebaff27de9722d60e",
"aarch64-apple-darwin-0.7.8": "ad6b3825ba277de70b9d0a37055f7d828f3f37416aee1cde65000f330efd4587",
"aarch64-pc-windows-msvc-0.7.8": "e43448e5e3267dffb6bbdc30ffa291f8db664d1da9d084c44f99dc568f459e0a",
"aarch64-unknown-linux-gnu-0.7.8": "da9e1c97f1452b25c8955127c92da7b68be228ad0b43bf50bba4dadb25c8b337",
"aarch64-unknown-linux-musl-0.7.8": "4d18efb46f93fa942dc4c212dea3b6b07e3db62fe57d0c3d08de6bf5d9f9bb51",
"arm-unknown-linux-musleabihf-0.7.8": "133b1c3fb850ec496bfb4ef84379bfaeff1d2c322114a0984d8a5c2e10e63028",
"armv7-unknown-linux-gnueabihf-0.7.8": "7d61c6e18e81447482dc80c090c65a6615a1232512899943566baf2808ca37bb",
"armv7-unknown-linux-musleabihf-0.7.8": "0b6d6afcdb7c78e5df42cb2ab0929d2bec2654a350a8efacc6f95e830a31eb6e",
"i686-pc-windows-msvc-0.7.8": "0d4b01372ca972543cd40366bb5480bb457e79dcf45b5f662721d709d6932dbd",
"i686-unknown-linux-gnu-0.7.8": "db1c60961aea7a7f8c64a098801e0138e761b7556d1c1691fc4f3f771f0e47ae",
"i686-unknown-linux-musl-0.7.8": "b765eb1817bc1d545f4860eff0adeb0c7907ea66be14536653192e588386b308",
"powerpc64-unknown-linux-gnu-0.7.8": "2c894b104195ab194af05c6ad756ce8746a349a8620c83888207db5fccf29a8f",
"powerpc64le-unknown-linux-gnu-0.7.8": "4b0d93385685f756068f76af1871dcb7cc8f427ab6d650afc07493d06dca71db",
"s390x-unknown-linux-gnu-0.7.8": "e58fc9f6d846ccbf50d9bcf27920ff4bc061541df8a6a3aa6f13be24981e0772",
"x86_64-apple-darwin-0.7.8": "f046249639014eb70b43cbaf83eb6f56aac724ada354f9b9aad65f9960737920",
"x86_64-pc-windows-msvc-0.7.8": "355736ddf9a01ab9da918b35470027c12128d7ed1d7f54f54771507d79529679",
"x86_64-unknown-linux-gnu-0.7.8": "285981409c746508c1fd125f66a1ea654e487bf1e4d9f45371a062338f788adb",
"x86_64-unknown-linux-musl-0.7.8": "8a707e45e0d1a8bdbc5bd1af0ae7d19ffab55f3722c5e73471039561900e3d48",
"aarch64-apple-darwin-0.7.7": "6a06eaa8165d5abd89c3dc37ffbe1db60fcf49a87d7c612bfca7e87a1514695d", "aarch64-apple-darwin-0.7.7": "6a06eaa8165d5abd89c3dc37ffbe1db60fcf49a87d7c612bfca7e87a1514695d",
"aarch64-pc-windows-msvc-0.7.7": "e86cd59f2569f4bf475e5ad944910142c0ab107ad12613429ad8873a6f41087f", "aarch64-pc-windows-msvc-0.7.7": "e86cd59f2569f4bf475e5ad944910142c0ab107ad12613429ad8873a6f41087f",
"aarch64-unknown-linux-gnu-0.7.7": "013061d4d33385e9a3fc52df18d22334f20f12616970b0d81583d5125ce8d6fa", "aarch64-unknown-linux-gnu-0.7.7": "013061d4d33385e9a3fc52df18d22334f20f12616970b0d81583d5125ce8d6fa",
@@ -62323,17 +62588,44 @@ var __importStar = (this && this.__importStar) || (function () {
})(); })();
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getLatestKnownVersion = getLatestKnownVersion; exports.getLatestKnownVersion = getLatestKnownVersion;
exports.getDownloadUrl = getDownloadUrl;
exports.updateVersionManifest = updateVersionManifest; exports.updateVersionManifest = updateVersionManifest;
const node_fs_1 = __nccwpck_require__(3024); const node_fs_1 = __nccwpck_require__(3024);
const core = __importStar(__nccwpck_require__(7484)); const core = __importStar(__nccwpck_require__(7484));
const semver = __importStar(__nccwpck_require__(9318)); const semver = __importStar(__nccwpck_require__(9318));
async function getLatestKnownVersion(versionManifestFile) { const fetch_1 = __nccwpck_require__(3385);
const data = await node_fs_1.promises.readFile(versionManifestFile); const node_path_1 = __nccwpck_require__(6760);
const versionManifestEntries = JSON.parse(data.toString()); const localManifestFile = (0, node_path_1.join)(__dirname, "..", "..", "version-manifest.json");
return versionManifestEntries.reduce((a, b) => semver.gt(a.version, b.version) ? a : b).version; async function getLatestKnownVersion(manifestUrl) {
const manifestEntries = await getManifestEntries(manifestUrl);
return manifestEntries.reduce((a, b) => semver.gt(a.version, b.version) ? a : b).version;
} }
async function updateVersionManifest(versionManifestFile, downloadUrls) { async function getDownloadUrl(manifestUrl, version, arch, platform) {
const versionManifest = []; const manifestEntries = await getManifestEntries(manifestUrl);
const entry = manifestEntries.find((entry) => entry.version === version &&
entry.arch === arch &&
entry.platform === platform);
return entry ? entry.downloadUrl : undefined;
}
async function getManifestEntries(manifestUrl) {
let data;
if (manifestUrl !== undefined) {
core.info(`Fetching manifest-file from: ${manifestUrl}`);
const response = await (0, fetch_1.fetch)(manifestUrl, {});
if (!response.ok) {
throw new Error(`Failed to fetch manifest-file: ${response.status} ${response.statusText}`);
}
data = await response.text();
}
else {
core.info("manifest-file not provided, reading from local file.");
const fileContent = await node_fs_1.promises.readFile(localManifestFile);
data = fileContent.toString();
}
return JSON.parse(data);
}
async function updateVersionManifest(manifestUrl, downloadUrls) {
const manifest = [];
for (const downloadUrl of downloadUrls) { for (const downloadUrl of downloadUrls) {
const urlParts = downloadUrl.split("/"); const urlParts = downloadUrl.split("/");
const version = urlParts[urlParts.length - 2]; const version = urlParts[urlParts.length - 2];
@@ -62345,7 +62637,7 @@ async function updateVersionManifest(versionManifestFile, downloadUrls) {
continue; continue;
} }
const artifactParts = artifactName.split(".")[0].split("-"); const artifactParts = artifactName.split(".")[0].split("-");
versionManifest.push({ manifest.push({
version: version, version: version,
artifactName: artifactName, artifactName: artifactName,
arch: artifactParts[1], arch: artifactParts[1],
@@ -62353,8 +62645,8 @@ async function updateVersionManifest(versionManifestFile, downloadUrls) {
downloadUrl: downloadUrl, downloadUrl: downloadUrl,
}); });
} }
core.debug(`Updating version manifest: ${JSON.stringify(versionManifest)}`); core.debug(`Updating manifest-file: ${JSON.stringify(manifest)}`);
await node_fs_1.promises.writeFile(versionManifestFile, JSON.stringify(versionManifest)); await node_fs_1.promises.writeFile(manifestUrl, JSON.stringify(manifest));
} }
@@ -62407,7 +62699,7 @@ const update_known_checksums_1 = __nccwpck_require__(6182);
const version_manifest_1 = __nccwpck_require__(4000); const version_manifest_1 = __nccwpck_require__(4000);
async function run() { async function run() {
const checksumFilePath = process.argv.slice(2)[0]; const checksumFilePath = process.argv.slice(2)[0];
const versionsManifestFilePath = process.argv.slice(2)[1]; const versionsManifestFile = process.argv.slice(2)[1];
const githubToken = process.argv.slice(2)[2]; const githubToken = process.argv.slice(2)[2];
const octokit = new octokit_1.Octokit({ const octokit = new octokit_1.Octokit({
auth: githubToken, auth: githubToken,
@@ -62416,7 +62708,7 @@ async function run() {
owner: constants_1.OWNER, owner: constants_1.OWNER,
repo: constants_1.REPO, repo: constants_1.REPO,
}); });
const latestKnownVersion = await (0, version_manifest_1.getLatestKnownVersion)(versionsManifestFilePath); const latestKnownVersion = await (0, version_manifest_1.getLatestKnownVersion)(undefined);
if (semver.lte(latestRelease.tag_name, latestKnownVersion)) { if (semver.lte(latestRelease.tag_name, latestKnownVersion)) {
core.info(`Latest release (${latestRelease.tag_name}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.`); core.info(`Latest release (${latestRelease.tag_name}) is not newer than the latest known version (${latestKnownVersion}). Skipping update.`);
return; return;
@@ -62432,7 +62724,7 @@ async function run() {
const artifactDownloadUrls = releases.flatMap((release) => release.assets const artifactDownloadUrls = releases.flatMap((release) => release.assets
.filter((asset) => !asset.name.endsWith(".sha256")) .filter((asset) => !asset.name.endsWith(".sha256"))
.map((asset) => asset.browser_download_url)); .map((asset) => asset.browser_download_url));
await (0, version_manifest_1.updateVersionManifest)(versionsManifestFilePath, artifactDownloadUrls); await (0, version_manifest_1.updateVersionManifest)(versionsManifestFile, artifactDownloadUrls);
core.setOutput("latest-version", latestRelease.tag_name); core.setOutput("latest-version", latestRelease.tag_name);
} }
run(); run();
@@ -62454,24 +62746,17 @@ exports.TOOL_CACHE_NAME = "uv";
/***/ }), /***/ }),
/***/ 3352: /***/ 3385:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => { /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Octokit = exports.customFetch = void 0; exports.fetch = void 0;
exports.getProxyAgent = getProxyAgent; exports.getProxyAgent = getProxyAgent;
const core_1 = __nccwpck_require__(767);
const plugin_paginate_rest_1 = __nccwpck_require__(3779);
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210);
const undici_1 = __nccwpck_require__(6752); const undici_1 = __nccwpck_require__(6752);
const DEFAULTS = {
baseUrl: "https://api.github.com",
userAgent: "setup-uv",
};
function getProxyAgent() { function getProxyAgent() {
const httpProxy = process.env.HTTP_PROXY || process.env.http_prox; const httpProxy = process.env.HTTP_PROXY || process.env.http_proxy;
if (httpProxy) { if (httpProxy) {
return new undici_1.ProxyAgent(httpProxy); return new undici_1.ProxyAgent(httpProxy);
} }
@@ -62481,17 +62766,36 @@ function getProxyAgent() {
} }
return undefined; return undefined;
} }
const customFetch = async (url, opts) => await (0, undici_1.fetch)(url, { const fetch = async (url, opts) => await (0, undici_1.fetch)(url, {
dispatcher: getProxyAgent(), dispatcher: getProxyAgent(),
...opts, ...opts,
}); });
exports.customFetch = customFetch; exports.fetch = fetch;
/***/ }),
/***/ 3352:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Octokit = void 0;
const core_1 = __nccwpck_require__(767);
const plugin_paginate_rest_1 = __nccwpck_require__(3779);
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210);
const fetch_1 = __nccwpck_require__(3385);
const DEFAULTS = {
baseUrl: "https://api.github.com",
userAgent: "setup-uv",
};
exports.Octokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.legacyRestEndpointMethods).defaults(function buildDefaults(options) { exports.Octokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.legacyRestEndpointMethods).defaults(function buildDefaults(options) {
return { return {
...DEFAULTS, ...DEFAULTS,
...options, ...options,
request: { request: {
fetch: exports.customFetch, fetch: fetch_1.fetch,
...options.request, ...options.request,
}, },
}; };
@@ -62700,6 +63004,14 @@ module.exports = require("node:net");
/***/ }), /***/ }),
/***/ 6760:
/***/ ((module) => {
"use strict";
module.exports = require("node:path");
/***/ }),
/***/ 643: /***/ 643:
/***/ ((module) => { /***/ ((module) => {
@@ -65796,14 +66108,16 @@ function normalizePaginatedListResponse(response) {
data: [] data: []
}; };
} }
const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
if (!responseNeedsNormalization) return response; if (!responseNeedsNormalization) return response;
const incompleteResults = response.data.incomplete_results; const incompleteResults = response.data.incomplete_results;
const repositorySelection = response.data.repository_selection; const repositorySelection = response.data.repository_selection;
const totalCount = response.data.total_count; const totalCount = response.data.total_count;
const totalCommits = response.data.total_commits;
delete response.data.incomplete_results; delete response.data.incomplete_results;
delete response.data.repository_selection; delete response.data.repository_selection;
delete response.data.total_count; delete response.data.total_count;
delete response.data.total_commits;
const namespaceKey = Object.keys(response.data)[0]; const namespaceKey = Object.keys(response.data)[0];
const data = response.data[namespaceKey]; const data = response.data[namespaceKey];
response.data = data; response.data = data;
@@ -65814,6 +66128,7 @@ function normalizePaginatedListResponse(response) {
response.data.repository_selection = repositorySelection; response.data.repository_selection = repositorySelection;
} }
response.data.total_count = totalCount; response.data.total_count = totalCount;
response.data.total_commits = totalCommits;
return response; return response;
} }
@@ -65834,6 +66149,16 @@ function iterator(octokit, route, parameters) {
url = ((normalizedResponse.headers.link || "").match( url = ((normalizedResponse.headers.link || "").match(
/<([^<>]+)>;\s*rel="next"/ /<([^<>]+)>;\s*rel="next"/
) || [])[1]; ) || [])[1];
if (!url && "total_commits" in normalizedResponse.data) {
const parsedUrl = new URL(normalizedResponse.url);
const params = parsedUrl.searchParams;
const page = parseInt(params.get("page") || "1", 10);
const per_page = parseInt(params.get("per_page") || "250", 10);
if (page * per_page < normalizedResponse.data.total_commits) {
params.set("page", String(page + 1));
url = parsedUrl.toString();
}
}
return { value: normalizedResponse }; return { value: normalizedResponse };
} catch (error) { } catch (error) {
if (error.status !== 409) throw error; if (error.status !== 409) throw error;
@@ -66028,6 +66353,8 @@ var paginatingEndpoints = [
"GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
"GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/status",
"GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
"GET /repos/{owner}/{repo}/compare/{basehead}",
"GET /repos/{owner}/{repo}/compare/{base}...{head}",
"GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/contributors",
"GET /repos/{owner}/{repo}/dependabot/alerts", "GET /repos/{owner}/{repo}/dependabot/alerts",
"GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/dependabot/secrets",
@@ -66186,7 +66513,7 @@ __nccwpck_require__.d(__webpack_exports__, {
}); });
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js ;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
const VERSION = "14.0.0"; const VERSION = "16.0.0";
//# sourceMappingURL=version.js.map //# sourceMappingURL=version.js.map
@@ -66662,6 +66989,9 @@ const Endpoints = {
getGithubBillingUsageReportOrg: [ getGithubBillingUsageReportOrg: [
"GET /organizations/{org}/settings/billing/usage" "GET /organizations/{org}/settings/billing/usage"
], ],
getGithubBillingUsageReportUser: [
"GET /users/{username}/settings/billing/usage"
],
getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"], getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"],
getGithubPackagesBillingUser: [ getGithubPackagesBillingUser: [
"GET /users/{username}/settings/billing/packages" "GET /users/{username}/settings/billing/packages"
@@ -66960,6 +67290,7 @@ const Endpoints = {
], ],
listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"] listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
}, },
credentials: { revoke: ["POST /credentials/revoke"] },
dependabot: { dependabot: {
addSelectedRepoToOrgSecret: [ addSelectedRepoToOrgSecret: [
"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}" "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"

173
package-lock.json generated
View File

@@ -16,20 +16,21 @@
"@actions/io": "^1.1.3", "@actions/io": "^1.1.3",
"@actions/tool-cache": "^2.0.2", "@actions/tool-cache": "^2.0.2",
"@octokit/core": "^7.0.2", "@octokit/core": "^7.0.2",
"@octokit/plugin-paginate-rest": "^12.0.0", "@octokit/plugin-paginate-rest": "^13.1.1",
"@octokit/plugin-rest-endpoint-methods": "^14.0.0", "@octokit/plugin-rest-endpoint-methods": "^16.0.0",
"@renovatebot/pep440": "^4.1.0", "@renovatebot/pep440": "^4.1.0",
"smol-toml": "^1.3.4", "smol-toml": "^1.3.4",
"undici": "^7.10.0" "undici": "^7.10.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "1.9.4",
"@types/node": "^22.15.21", "@types/js-yaml": "^4.0.9",
"@types/node": "^24.0.14",
"@types/semver": "^7.7.0", "@types/semver": "^7.7.0",
"@vercel/ncc": "^0.38.3", "@vercel/ncc": "^0.38.3",
"jest": "^29.7.0", "jest": "^29.7.0",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"ts-jest": "^29.3.2", "ts-jest": "^29.4.0",
"typescript": "^5.8.3" "typescript": "^5.8.3"
} }
}, },
@@ -1567,36 +1568,36 @@
} }
}, },
"node_modules/@octokit/openapi-types": { "node_modules/@octokit/openapi-types": {
"version": "25.0.0", "version": "25.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
"integrity": "sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw==", "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "12.0.0", "version": "13.1.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-12.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.1.1.tgz",
"integrity": "sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==", "integrity": "sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@octokit/types": "^14.0.0" "@octokit/types": "^14.1.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 20"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=6" "@octokit/core": ">=6"
} }
}, },
"node_modules/@octokit/plugin-rest-endpoint-methods": { "node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "14.0.0", "version": "16.0.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-14.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-16.0.0.tgz",
"integrity": "sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==", "integrity": "sha512-kJVUQk6/dx/gRNLWUnAWKFs1kVPn5O5CYZyssyEoNYaFedqZxsfYs7DwI3d67hGz4qOwaJ1dpm07hOAD1BXx6g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@octokit/types": "^14.0.0" "@octokit/types": "^14.1.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 20"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=6" "@octokit/core": ">=6"
@@ -1631,12 +1632,12 @@
} }
}, },
"node_modules/@octokit/types": { "node_modules/@octokit/types": {
"version": "14.0.0", "version": "14.1.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
"integrity": "sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==", "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@octokit/openapi-types": "^25.0.0" "@octokit/openapi-types": "^25.1.0"
} }
}, },
"node_modules/@opentelemetry/api": { "node_modules/@opentelemetry/api": {
@@ -1825,13 +1826,20 @@
"@types/istanbul-lib-report": "*" "@types/istanbul-lib-report": "*"
} }
}, },
"node_modules/@types/js-yaml": {
"version": "4.0.9",
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
"integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "22.15.21", "version": "24.0.14",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.14.tgz",
"integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==", "integrity": "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~6.21.0" "undici-types": "~7.8.0"
} }
}, },
"node_modules/@types/node-fetch": { "node_modules/@types/node-fetch": {
@@ -4376,21 +4384,20 @@
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
}, },
"node_modules/ts-jest": { "node_modules/ts-jest": {
"version": "29.3.2", "version": "29.4.0",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.2.tgz", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.0.tgz",
"integrity": "sha512-bJJkrWc6PjFVz5g2DGCNUo8z7oFEYaz1xP1NpeDU7KNLMWPpEyV8Chbpkn8xjzgRDpQhnGMyvyldoL7h8JXyug==", "integrity": "sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"bs-logger": "^0.2.6", "bs-logger": "^0.2.6",
"ejs": "^3.1.10", "ejs": "^3.1.10",
"fast-json-stable-stringify": "^2.1.0", "fast-json-stable-stringify": "^2.1.0",
"jest-util": "^29.0.0",
"json5": "^2.2.3", "json5": "^2.2.3",
"lodash.memoize": "^4.1.2", "lodash.memoize": "^4.1.2",
"make-error": "^1.3.6", "make-error": "^1.3.6",
"semver": "^7.7.1", "semver": "^7.7.2",
"type-fest": "^4.39.1", "type-fest": "^4.41.0",
"yargs-parser": "^21.1.1" "yargs-parser": "^21.1.1"
}, },
"bin": { "bin": {
@@ -4401,10 +4408,11 @@
}, },
"peerDependencies": { "peerDependencies": {
"@babel/core": ">=7.0.0-beta.0 <8", "@babel/core": ">=7.0.0-beta.0 <8",
"@jest/transform": "^29.0.0", "@jest/transform": "^29.0.0 || ^30.0.0",
"@jest/types": "^29.0.0", "@jest/types": "^29.0.0 || ^30.0.0",
"babel-jest": "^29.0.0", "babel-jest": "^29.0.0 || ^30.0.0",
"jest": "^29.0.0", "jest": "^29.0.0 || ^30.0.0",
"jest-util": "^29.0.0 || ^30.0.0",
"typescript": ">=4.3 <6" "typescript": ">=4.3 <6"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
@@ -4422,14 +4430,18 @@
}, },
"esbuild": { "esbuild": {
"optional": true "optional": true
},
"jest-util": {
"optional": true
} }
} }
}, },
"node_modules/ts-jest/node_modules/semver": { "node_modules/ts-jest/node_modules/semver": {
"version": "7.7.1", "version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true, "dev": true,
"license": "ISC",
"bin": { "bin": {
"semver": "bin/semver.js" "semver": "bin/semver.js"
}, },
@@ -4460,9 +4472,9 @@
} }
}, },
"node_modules/type-fest": { "node_modules/type-fest": {
"version": "4.40.1", "version": "4.41.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.40.1.tgz", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
"integrity": "sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==", "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
"dev": true, "dev": true,
"license": "(MIT OR CC0-1.0)", "license": "(MIT OR CC0-1.0)",
"engines": { "engines": {
@@ -4496,9 +4508,9 @@
} }
}, },
"node_modules/undici-types": { "node_modules/undici-types": {
"version": "6.21.0", "version": "7.8.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/universal-user-agent": { "node_modules/universal-user-agent": {
@@ -5873,24 +5885,24 @@
} }
}, },
"@octokit/openapi-types": { "@octokit/openapi-types": {
"version": "25.0.0", "version": "25.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
"integrity": "sha512-FZvktFu7HfOIJf2BScLKIEYjDsw6RKc7rBJCdvCTfKsVnx2GEB/Nbzjr29DUdb7vQhlzS/j8qDzdditP0OC6aw==" "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA=="
}, },
"@octokit/plugin-paginate-rest": { "@octokit/plugin-paginate-rest": {
"version": "12.0.0", "version": "13.1.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-12.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.1.1.tgz",
"integrity": "sha512-MPd6WK1VtZ52lFrgZ0R2FlaoiWllzgqFHaSZxvp72NmoDeZ0m8GeJdg4oB6ctqMTYyrnDYp592Xma21mrgiyDA==", "integrity": "sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==",
"requires": { "requires": {
"@octokit/types": "^14.0.0" "@octokit/types": "^14.1.0"
} }
}, },
"@octokit/plugin-rest-endpoint-methods": { "@octokit/plugin-rest-endpoint-methods": {
"version": "14.0.0", "version": "16.0.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-14.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-16.0.0.tgz",
"integrity": "sha512-iQt6ovem4b7zZYZQtdv+PwgbL5VPq37th1m2x2TdkgimIDJpsi2A6Q/OI/23i/hR6z5mL0EgisNR4dcbmckSZQ==", "integrity": "sha512-kJVUQk6/dx/gRNLWUnAWKFs1kVPn5O5CYZyssyEoNYaFedqZxsfYs7DwI3d67hGz4qOwaJ1dpm07hOAD1BXx6g==",
"requires": { "requires": {
"@octokit/types": "^14.0.0" "@octokit/types": "^14.1.0"
} }
}, },
"@octokit/request": { "@octokit/request": {
@@ -5914,11 +5926,11 @@
} }
}, },
"@octokit/types": { "@octokit/types": {
"version": "14.0.0", "version": "14.1.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.0.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
"integrity": "sha512-VVmZP0lEhbo2O1pdq63gZFiGCKkm8PPp8AUOijlwPO6hojEVjspA0MWKP7E4hbvGxzFKNqKr6p0IYtOH/Wf/zA==", "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
"requires": { "requires": {
"@octokit/openapi-types": "^25.0.0" "@octokit/openapi-types": "^25.1.0"
} }
}, },
"@opentelemetry/api": { "@opentelemetry/api": {
@@ -6082,12 +6094,18 @@
"@types/istanbul-lib-report": "*" "@types/istanbul-lib-report": "*"
} }
}, },
"@types/js-yaml": {
"version": "4.0.9",
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
"integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
"dev": true
},
"@types/node": { "@types/node": {
"version": "22.15.21", "version": "24.0.14",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.14.tgz",
"integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==", "integrity": "sha512-4zXMWD91vBLGRtHK3YbIoFMia+1nqEz72coM42C5ETjnNCa/heoj7NT1G67iAfOqMmcfhuCZ4uNpyz8EjlAejw==",
"requires": { "requires": {
"undici-types": "~6.21.0" "undici-types": "~7.8.0"
} }
}, },
"@types/node-fetch": { "@types/node-fetch": {
@@ -7968,27 +7986,26 @@
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
}, },
"ts-jest": { "ts-jest": {
"version": "29.3.2", "version": "29.4.0",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.2.tgz", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.0.tgz",
"integrity": "sha512-bJJkrWc6PjFVz5g2DGCNUo8z7oFEYaz1xP1NpeDU7KNLMWPpEyV8Chbpkn8xjzgRDpQhnGMyvyldoL7h8JXyug==", "integrity": "sha512-d423TJMnJGu80/eSgfQ5w/R+0zFJvdtTxwtF9KzFFunOpSeD+79lHJQIiAhluJoyGRbvj9NZJsl9WjCUo0ND7Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"bs-logger": "^0.2.6", "bs-logger": "^0.2.6",
"ejs": "^3.1.10", "ejs": "^3.1.10",
"fast-json-stable-stringify": "^2.1.0", "fast-json-stable-stringify": "^2.1.0",
"jest-util": "^29.0.0",
"json5": "^2.2.3", "json5": "^2.2.3",
"lodash.memoize": "^4.1.2", "lodash.memoize": "^4.1.2",
"make-error": "^1.3.6", "make-error": "^1.3.6",
"semver": "^7.7.1", "semver": "^7.7.2",
"type-fest": "^4.39.1", "type-fest": "^4.41.0",
"yargs-parser": "^21.1.1" "yargs-parser": "^21.1.1"
}, },
"dependencies": { "dependencies": {
"semver": { "semver": {
"version": "7.7.1", "version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true "dev": true
} }
} }
@@ -8010,9 +8027,9 @@
"dev": true "dev": true
}, },
"type-fest": { "type-fest": {
"version": "4.40.1", "version": "4.41.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.40.1.tgz", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
"integrity": "sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==", "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
"dev": true "dev": true
}, },
"typescript": { "typescript": {
@@ -8027,9 +8044,9 @@
"integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==" "integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw=="
}, },
"undici-types": { "undici-types": {
"version": "6.21.0", "version": "7.8.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==" "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="
}, },
"universal-user-agent": { "universal-user-agent": {
"version": "7.0.3", "version": "7.0.3",

View File

@@ -30,20 +30,21 @@
"@actions/io": "^1.1.3", "@actions/io": "^1.1.3",
"@actions/tool-cache": "^2.0.2", "@actions/tool-cache": "^2.0.2",
"@octokit/core": "^7.0.2", "@octokit/core": "^7.0.2",
"@octokit/plugin-paginate-rest": "^12.0.0", "@octokit/plugin-paginate-rest": "^13.1.1",
"@octokit/plugin-rest-endpoint-methods": "^14.0.0", "@octokit/plugin-rest-endpoint-methods": "^16.0.0",
"@renovatebot/pep440": "^4.1.0", "@renovatebot/pep440": "^4.1.0",
"smol-toml": "^1.3.4", "smol-toml": "^1.3.4",
"undici": "^7.10.0" "undici": "^7.10.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "1.9.4",
"@types/node": "^22.15.21", "@types/js-yaml": "^4.0.9",
"@types/node": "^24.0.14",
"@types/semver": "^7.7.0", "@types/semver": "^7.7.0",
"@vercel/ncc": "^0.38.3", "@vercel/ncc": "^0.38.3",
"jest": "^29.7.0", "jest": "^29.7.0",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"ts-jest": "^29.3.2", "ts-jest": "^29.4.0",
"typescript": "^5.8.3" "typescript": "^5.8.3"
} }
} }

View File

@@ -1,5 +1,535 @@
// 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.7.22":
"707677074a9ae6906d4ccb22089341e3541db78022dc926e985bcc35fbb53a74",
"aarch64-pc-windows-msvc-0.7.22":
"bcbee39a55eca43ea286cbaa467b083888c7811ab8f47458063bc53331224f4d",
"aarch64-unknown-linux-gnu-0.7.22":
"d2ee24524f5ed45baceaddebded48493f7dd2692fad8a1d1796c606134c133b7",
"aarch64-unknown-linux-musl-0.7.22":
"1d524e7d61336ccdc4caa2299df811f318b96d81034ff621b7217d6c440a1702",
"arm-unknown-linux-musleabihf-0.7.22":
"ad458ba424cbd77f8278b634e9e14a2fea0ba1610b7a51b38e611cd8a8072792",
"armv7-unknown-linux-gnueabihf-0.7.22":
"3523c1f0396249bc3eae97f15141921108214e4fdce50f153272c79c91d3e737",
"armv7-unknown-linux-musleabihf-0.7.22":
"b96ec5d9be9527fe3a4e6642e26489cd1b12a8cbd3f2b80145bd61bd4919e188",
"i686-pc-windows-msvc-0.7.22":
"aca18c571d8bd6d370e0440a16544afde421ea01585721a46d3847c11404fb41",
"i686-unknown-linux-gnu-0.7.22":
"ea5f6c1460843bd1c391e06d731278707806666438a9389f957e604f60be3eca",
"i686-unknown-linux-musl-0.7.22":
"e20e7eceb3100bc93ed638d723a5b4f9985dd2650398b3f10b175a93e744c7b7",
"powerpc64-unknown-linux-gnu-0.7.22":
"7e7281c99a62a729483ea0268511bf9416a97f6256cc9123d7910b42d7c27937",
"powerpc64le-unknown-linux-gnu-0.7.22":
"0891f6f9fb7099cf35cc6bf4d3e565504ce793466d0a592056703518cb771dcf",
"riscv64gc-unknown-linux-gnu-0.7.22":
"8bf7e0bff7f1cfa2c8057405c2f5a377c7b864a83dfff8ce045f5773374f7add",
"s390x-unknown-linux-gnu-0.7.22":
"d7aba1fe8783e39f5f05061fc255a28d98eff0b83600915b606903ee1764b674",
"x86_64-apple-darwin-0.7.22":
"af8fb83280a000f5864653ca0c9a1f69bbdbc8b2bbfeb2e1d450ce7fd1518ff1",
"x86_64-pc-windows-msvc-0.7.22":
"ce5c13291643e8306e8d2dbcaf340d36ea985a761a53f2ca0a45e1a8e8936c85",
"x86_64-unknown-linux-gnu-0.7.22":
"8379e040fa1828e662968edaa3856aaeb6e1a0a0ec76ef8583096be1f72f19d4",
"x86_64-unknown-linux-musl-0.7.22":
"0508e73f28fa4024c76c4e0a5e347fea6aeb4bead0234618e6cfb76804237259",
"aarch64-apple-darwin-0.7.21":
"c73af7a4e0bcea9b5b593a0c7e5c025ee78d8be3f7cd60bfeadc8614a16c92ef",
"aarch64-pc-windows-msvc-0.7.21":
"877454562ba2af12a020652fb8f63d14b6c05aa6d1d3497441822c6c0b198541",
"aarch64-unknown-linux-gnu-0.7.21":
"1dae18211605b9d00767d913da5108aea50200a88372bf8a2e1f56abdbe509f0",
"aarch64-unknown-linux-musl-0.7.21":
"6577895c91a6bf6c1fda5f0fdfd07f8ee05f75f24a70a49193f8fb8dcde81fc3",
"arm-unknown-linux-musleabihf-0.7.21":
"cb175698eeb3abf77c00c4d19e9c5e10ed847f6988769f5b18a5c98c1ebd21ad",
"armv7-unknown-linux-gnueabihf-0.7.21":
"9c64218ebc2f96520105fddf3b500026a50d9319c7faf4d2221a7113efd96fd7",
"armv7-unknown-linux-musleabihf-0.7.21":
"9f83f0c4821e572e9289e270e64429495b188e372519ee88524e97b50943e657",
"i686-pc-windows-msvc-0.7.21":
"aaf3f3bc934616214e1f33ccb22432dc59110211b2b15636d66e8e42e9cf2f6f",
"i686-unknown-linux-gnu-0.7.21":
"141a4ecfe0bf08e82fe5834a0fd265cf3c27833c1bfbab69344efb1604c2d964",
"i686-unknown-linux-musl-0.7.21":
"ae1faeda2475f0df8733215133771da58de159d9e7b5a728f30047708e21a724",
"powerpc64-unknown-linux-gnu-0.7.21":
"bef76b3992d21682dfc82e096d18f449d43a757f28a00a62eb7e05002349f287",
"powerpc64le-unknown-linux-gnu-0.7.21":
"107c6c5a444c27bf772b1ec233b5b83dffd79348488cccc832dc9c14ee5ddf56",
"riscv64gc-unknown-linux-gnu-0.7.21":
"c5c160e64809ae29404354e555df7264763f7cf67012ffc1350619cc9d19299b",
"s390x-unknown-linux-gnu-0.7.21":
"77f3472201867a766e6f2a37ceb2e2f2f78343d3460c2313e3643483c80ecf92",
"x86_64-apple-darwin-0.7.21":
"f8a9b4f4a80a44653344d36b53e148134176e8f7cc99f8e823676a57c884595e",
"x86_64-pc-windows-msvc-0.7.21":
"7a4e427ceaf3c7d8437e512cbc25af84796c4079cf842c3349d4b646a9209da5",
"x86_64-unknown-linux-gnu-0.7.21":
"ca3e8898adfce5fcc891d393a079013fa4bd0d9636cef11aded8a7485bcba312",
"x86_64-unknown-linux-musl-0.7.21":
"7400debadcd63e530cf58c3cfc71d43d5a1017d2f699be86c6e91d7dc2073c7c",
"aarch64-apple-darwin-0.7.20":
"69da236af5934209a5c059fff1b2f69068918c423601f42448b1d92336853127",
"aarch64-pc-windows-msvc-0.7.20":
"34f3720cdd736f034f3b0d1b03d6b74b85d3528ccefd3552b3aadf455f191b2f",
"aarch64-unknown-linux-gnu-0.7.20":
"675165f879d6833aa313ecb25ac44781e131933a984727e180b3218d2cd6c1e9",
"aarch64-unknown-linux-musl-0.7.20":
"0f68f4a4583923635e56f7f930526bbbcc14d090f1c1a7ec1d28cc4ddad05279",
"arm-unknown-linux-musleabihf-0.7.20":
"9d3eb7fd1e3580a40e5d3f25db5d8a0719fb77be1d750b4849f6dbc96885e39f",
"armv7-unknown-linux-gnueabihf-0.7.20":
"775c3634a1ed7f0c23e5ce8e418acdb394fe87df1ac21af9f274e1e68df0d9b4",
"armv7-unknown-linux-musleabihf-0.7.20":
"27ac3e7f44c1af5bb9f01560e1848893e09c502a85552521cc9cf0d2cd4322c5",
"i686-pc-windows-msvc-0.7.20":
"90367e9f5adc46d6effd2b2107bee5f900f959c64898ae3ffb1e28b9519b15e5",
"i686-unknown-linux-gnu-0.7.20":
"9b53f988b7024728da39fc3e4217bf8cf233d1aa7afda20599dc3acb2049f328",
"i686-unknown-linux-musl-0.7.20":
"fa3091a175cdba4202367b30bda899bc3ed3b6c2161b7c42500c3bd1b388c3e2",
"powerpc64-unknown-linux-gnu-0.7.20":
"84b76581c50071a87609d340050b2cd0ba7fad7e929106202d4c99f4c5a41243",
"powerpc64le-unknown-linux-gnu-0.7.20":
"25082231ee1b479cc9fc486949e3196affda09b82bf0c6b3c8eacde37f56e9db",
"riscv64gc-unknown-linux-gnu-0.7.20":
"339015c2c934b93355a972c737f649fdf96abb699bebbc1b0955de9e5fff04bb",
"s390x-unknown-linux-gnu-0.7.20":
"16819d631e56438ea2e58b60bfb99feb8b2b8cdbec73e375e21c6dbe1de8c725",
"x86_64-apple-darwin-0.7.20":
"0c0edf17aff045bcb9bf89ffa43fefaec2d6585ff69debdb0ade62608f8ff069",
"x86_64-pc-windows-msvc-0.7.20":
"ddf35e258c32971c00f3f4213cf1b5cf0847a42dac578738cb294d379e4a9f6c",
"x86_64-unknown-linux-gnu-0.7.20":
"10f204426ff188925d22a53c1d0310d190a8d4d24513712e1b8e2ca9873f0666",
"x86_64-unknown-linux-musl-0.7.20":
"c8efa6bacde9154aa705feb35985cbc852d75c7d634e8a6867aa2f5571b27a62",
"aarch64-apple-darwin-0.7.19":
"698d24883fd441960fb4bc153b7030b89517a295502017ff3fdbba2fb0a0aa67",
"aarch64-pc-windows-msvc-0.7.19":
"c843b95d9bad3e364ead2af00b793d42156cb4f8ac0c2e33bfd2b3e50a0efc86",
"aarch64-unknown-linux-gnu-0.7.19":
"31b81b4b4ecd51ee4202f1e710fc22b72666f716ffbb825aa397c8246624d60f",
"aarch64-unknown-linux-musl-0.7.19":
"e83c7c6d86c8e7456078c736a72550ce20222df8083f9317fc58cd49422ce5eb",
"arm-unknown-linux-musleabihf-0.7.19":
"fe9834d5383feccd095cbfdbc290d7379f64bafc894ae8d8eb0724edfa754853",
"armv7-unknown-linux-gnueabihf-0.7.19":
"6678e4d1a91349dacd3405b0efa88656d1c8a16fa7ccea822c368039988f8339",
"armv7-unknown-linux-musleabihf-0.7.19":
"3022a75e757a31978e896e2e3fc2cf2dc966267a8757a270be0b421f541467e4",
"i686-pc-windows-msvc-0.7.19":
"063829d117c2e42322b0e3a59ee91020dcb1d95522889b903ffad392df197a11",
"i686-unknown-linux-gnu-0.7.19":
"1785537fc65a35609dc33063b5f1cc85437a08ade4c0a832071c018481afe515",
"i686-unknown-linux-musl-0.7.19":
"e64bc4f74cee116694ea63ad0722245f62f386de271be1a1c28a6e4fd977326e",
"powerpc64-unknown-linux-gnu-0.7.19":
"fb8a4a0d20dd3e236a88229e15af89fa3144bd06c4087dbfc7ba8ca691b0a953",
"powerpc64le-unknown-linux-gnu-0.7.19":
"b335d0593c165fbfcc51915b3eb056f45c5691d06744a5ded7210d789469870a",
"riscv64gc-unknown-linux-gnu-0.7.19":
"36ccef1387594e8fb212257fbeafa9e260709b363e1b262f43bd5a679134e4ac",
"s390x-unknown-linux-gnu-0.7.19":
"08ac0245d24ba16bbf224b00e8bc8021d081f9dcfdc61881cb6e4ac83954705a",
"x86_64-apple-darwin-0.7.19":
"40667bcb615b5af3e373ad611c4a9b95639b97e19b5924a436df8e69ca9331e2",
"x86_64-pc-windows-msvc-0.7.19":
"3098b38638b271d8b14b81247d6d69bb105807ec9fc5eb85f8cc8b6de5867c86",
"x86_64-unknown-linux-gnu-0.7.19":
"5ad6f11d5a04cb3af2418666031f20b63190f82032ec5a7f3a174385cc5567e4",
"x86_64-unknown-linux-musl-0.7.19":
"6236ed00a7442ab2c0f56f807d5a3331f3fb5c7640a357482fbc8492682641b2",
"aarch64-apple-darwin-0.7.18":
"c33cfaab95da1413a0403f643b7edb1c5af6798d8a2370196a80fc37b894df48",
"aarch64-pc-windows-msvc-0.7.18":
"c9c78de380e459f8424f648d107d4ab5286273ab19622a5d17796dc6689de453",
"aarch64-unknown-linux-gnu-0.7.18":
"2af8d0d963f547deba09c52aca79a26113f0ed5c903c101241fedcac90c2d8f4",
"aarch64-unknown-linux-musl-0.7.18":
"32872da98e5c48945e45406d427b3b4fdc11f04e4b8f297f49f76724894eb61b",
"arm-unknown-linux-musleabihf-0.7.18":
"c6c9e718aee25142139b25bf6bb5f9566c57812abced3efa71b4677ac3ef1275",
"armv7-unknown-linux-gnueabihf-0.7.18":
"00cdc4c898a251ea0c12f5db7b22929ff6f73f87a51fc6f874dfb57aecdcc995",
"armv7-unknown-linux-musleabihf-0.7.18":
"92a07d26943b5e223e941b64fa22e048c13fb6462ccb35f18fe2e212cfdc1c18",
"i686-pc-windows-msvc-0.7.18":
"4293c65f1fce52bd5396ec4419ce1c76412e276e0f292ec2464c319b7f8d59be",
"i686-unknown-linux-gnu-0.7.18":
"e5db36cb7b7edbe405c70211802ffe3b161983027f7644ca9ddc9ed5605dd504",
"i686-unknown-linux-musl-0.7.18":
"5829e240206ca895f8e500e9432dd87553091459a80d2a40c0d144688d443336",
"powerpc64-unknown-linux-gnu-0.7.18":
"927af365bc8388da27d241149a52ee3b9772db87ebace6fec6b00062aedd4a24",
"powerpc64le-unknown-linux-gnu-0.7.18":
"dc7ca0bca11efd40a4f85c40e2d83d830dacb7b0f9626bc40360a6697aa035e6",
"riscv64gc-unknown-linux-gnu-0.7.18":
"2cd75769322d264151e9abc2cf89edd086239afa00c0a1354d52a700657f7deb",
"s390x-unknown-linux-gnu-0.7.18":
"bc63ad2eefe5278b121a78255e8c488eb69ae29784b69012439ef365701393db",
"x86_64-apple-darwin-0.7.18":
"7a4a3350224a3a3904589ea306041af68686d72ec4d4b68e34c15d25dfc5cb4a",
"x86_64-pc-windows-msvc-0.7.18":
"5a5b3ef7c6aee0bb1101ef047f35a0fc7cc82e34eef3286e54c5badd261cb599",
"x86_64-unknown-linux-gnu-0.7.18":
"bcb8093f59eb08539087faf895ea1e794fe3db395de79eb41ddaa41d8c25adf7",
"x86_64-unknown-linux-musl-0.7.18":
"c8b51ed978b5f95a7c34dfe39e1dce966f7497fc12179f27507d507d9f3ff40b",
"aarch64-apple-darwin-0.7.17":
"0777e13ba598ccb9a9f78df209c98922b219a195765b9f1b309457a08cbae43d",
"aarch64-pc-windows-msvc-0.7.17":
"be0e7263e4106ca73ac72b4f84ae1c203db446d42d764b2b6459bf1d84aa1859",
"aarch64-unknown-linux-gnu-0.7.17":
"b88fda8f37769d445dd4b433c83490112afa18fc009b75e3cb28412a1d189c53",
"aarch64-unknown-linux-musl-0.7.17":
"789f3749497181311fbc27d2da322f4f836d814389901e8a7917ee664f500a6b",
"arm-unknown-linux-musleabihf-0.7.17":
"7f39a83f2cd7925aa25020dce70f9d2617213b710aec1c9fd686c3314ee814a2",
"armv7-unknown-linux-gnueabihf-0.7.17":
"9a4ee0fe51b07b8badf7ca874b3a065a0d2cf3b04c69aa2c7618c03d6ddd46ce",
"armv7-unknown-linux-musleabihf-0.7.17":
"6a5d3fa02a7bb5696ac392d6277f29174f27bc38e0100016ee67c55c8a472e3b",
"i686-pc-windows-msvc-0.7.17":
"45ffa8cd52e6a0764c2bde7c97be840b6c7606f976e6ae51bab394a891653f52",
"i686-unknown-linux-gnu-0.7.17":
"043897d13541c11c1221761c768d4234b889ce1fa39f1f27a567e11ca2c86233",
"i686-unknown-linux-musl-0.7.17":
"0d7a846ff1ae9d620243da530adcc468bba4aa317cb3ba4210c724e2ec5734b4",
"powerpc64-unknown-linux-gnu-0.7.17":
"46331c3771dbc8aaaa4c75421b6195edb763bac5ca4b8d551efd2da013351252",
"powerpc64le-unknown-linux-gnu-0.7.17":
"9f7e13304c7f3977c2e1eaa068a6beb36e6974a2abcf8cb1b8e0d8b96c251203",
"riscv64gc-unknown-linux-gnu-0.7.17":
"789fea86b495397c7bd12c92221259f07c78ba738d568757b06500ac94b6ebe8",
"s390x-unknown-linux-gnu-0.7.17":
"208c6609012ca921aa3ca67d49dde34464e405041b1d8b041c15078687456570",
"x86_64-apple-darwin-0.7.17":
"c0aff6481443e7dc38c01dfb3535814db42c00ad3ab374e7b4ed4ebb7f5b2237",
"x86_64-pc-windows-msvc-0.7.17":
"b49d1a02662ac4a490c886fff8a340a4adc32da8d0634fc653a69459d2b5f863",
"x86_64-unknown-linux-gnu-0.7.17":
"e9bf64a66a318a82d3c37a74c31527df0ac7e7c821a10f5e1032415f000d7d43",
"x86_64-unknown-linux-musl-0.7.17":
"ffd877241741df0a6436ba6ed0d8cd6573f1f922ede3a967c32c57d2133c72b0",
"aarch64-apple-darwin-0.7.16":
"a157919a2a615fac5de0fcef5120a63de7e6582fb6e0ae4428238af347ed1054",
"aarch64-pc-windows-msvc-0.7.16":
"a832dd02c44cd8d373b226ca34128982aca5303dd3b477c90c5a1f83efa874b0",
"aarch64-unknown-linux-gnu-0.7.16":
"4ff5b8542514b453073cad1dfba08db751ada21981b869c69a2ac29fd639b586",
"aarch64-unknown-linux-musl-0.7.16":
"c1536a85aa85cae05c51d25b2819c5b9869f67c66c65948aadeb0c38c4bd51b3",
"arm-unknown-linux-musleabihf-0.7.16":
"20902d98f9a309df2a83ffd31ecfda444dfb75249c2779eedaeed7d73274f34b",
"armv7-unknown-linux-gnueabihf-0.7.16":
"72afc7e60eff20a1c2181f88c9d96e06553f854192b3a13069aba0f8b045a839",
"armv7-unknown-linux-musleabihf-0.7.16":
"c0b5300958a489330a9790b701f1491a1bec72e402281cdaf6a2362b51fa4c13",
"i686-pc-windows-msvc-0.7.16":
"6d4c4de0cc8c88fb7d94138c05091dac6746a7bc9d94b3743e804a485546154b",
"i686-unknown-linux-gnu-0.7.16":
"ee03aaf5d736524a8b6e74c273d5877be1bb720933cb8f7f5e70b42c70933418",
"i686-unknown-linux-musl-0.7.16":
"b815f060a689e0fe95ec36498533bb261b92dab5cdb60b02cc19fa30c6cd7e57",
"powerpc64-unknown-linux-gnu-0.7.16":
"a2b78151e50646b26cacef24de87d625d4b100efe69347c88a8a6d340b0e82cb",
"powerpc64le-unknown-linux-gnu-0.7.16":
"c231b3880c6584b6fe411b0c7507ed0c091856a64f84720b732ddd39b21b7e6c",
"riscv64gc-unknown-linux-gnu-0.7.16":
"6be4c3e27989ffd49befc689884b78b55c53c817a27040b8e232edd92185b037",
"s390x-unknown-linux-gnu-0.7.16":
"f4e1814f2326db1eb0d0d2ea96ee36c361a856e8c9d8d82817936aad9baa4299",
"x86_64-apple-darwin-0.7.16":
"414cb3c348b0482bc88fdabbc267973a11401e684a78fd471b2c4553fa8b6965",
"x86_64-pc-windows-msvc-0.7.16":
"409d19c14a9b1ce83bf7331dbda89984802efb3a2fbf9ffdf149b22ab9cf2826",
"x86_64-unknown-linux-gnu-0.7.16":
"c51f5dc9fd33e789992839d2957d6cfe0b6dce1cd7ec641740af456b12e9d468",
"x86_64-unknown-linux-musl-0.7.16":
"34c9da84a673e6c06d2e081d72d953f278fe5bb6aba0437210ba62817b340eb7",
"aarch64-apple-darwin-0.7.15":
"7a20f3d33cbbc75683d66e0562d4bdbd702ca656d7dc1b7be3c592de6a6517b9",
"aarch64-pc-windows-msvc-0.7.15":
"d15770be109fdde45c60a522fcc97bf19e0d9d9de8a0d2f0dadc772786110123",
"aarch64-unknown-linux-gnu-0.7.15":
"a8241809c6efcf5ff649d259276dabd297a2c46e9e2f78891a1f9b8ae858e1e8",
"aarch64-unknown-linux-musl-0.7.15":
"4351c1e2ec13f5eb4da058ac1c39f00ae3042de9d6fdb6480e0170f32813210f",
"arm-unknown-linux-musleabihf-0.7.15":
"26c7f1baf3f14857d8d5d2df86ea47a3ce5a0e6223c1db9af2a32bb3d216d5f1",
"armv7-unknown-linux-gnueabihf-0.7.15":
"6609e0f39c958a2b728ffec99ed53741cee92d5db168fb275448216a9e2f5a63",
"armv7-unknown-linux-musleabihf-0.7.15":
"3a60e3bfc6b927537eff1c6fdb359bdfb5a02a59820bb964e04144d731b12ca9",
"i686-pc-windows-msvc-0.7.15":
"831ac11382c9ae014f6f5d27506c8977bfba5aa6b104e278d3a87ff4d1e311d3",
"i686-unknown-linux-gnu-0.7.15":
"8d11cd225843aa7e7b25a5300721d48519a13bc82fc8b7bf63b063b8520b2db6",
"i686-unknown-linux-musl-0.7.15":
"8640a014e5ef7020b33a8e95fabd5e0c75adf80beeaf265ed50dfe2bee92aeb2",
"powerpc64-unknown-linux-gnu-0.7.15":
"6a4c0fe1075c4f3b9dfb8d0654a58ca547aaa84f829bc9e1b60a096153d18686",
"powerpc64le-unknown-linux-gnu-0.7.15":
"81f6d18b857cc3517f249fd7e321b9cad6e6c17bc7d7ad88cefc0c25cca3e486",
"riscv64gc-unknown-linux-gnu-0.7.15":
"6a0a6ef8fa3d03b6a6cab9185cd84e28c78db1e5736efa711e6f5efa4e6c27e3",
"s390x-unknown-linux-gnu-0.7.15":
"d5a2343934c7fec124fb0a140b12c4dd30e20c5473e67b11d064f5b6e52eead0",
"x86_64-apple-darwin-0.7.15":
"4c7c1fe116566b6f8725a3801a33fa5e066b8687643acd73249e5db1351c2103",
"x86_64-pc-windows-msvc-0.7.15":
"b78c2d265e74b21b1c04b5b4ffd61c5c7b8110f9188e24949ee9f6fd5fbaf0a8",
"x86_64-unknown-linux-gnu-0.7.15":
"b1dc0892749e93382decbd894755be0ba1535587f0bb8333572b072d1b0f652a",
"x86_64-unknown-linux-musl-0.7.15":
"c97afc120614c88bd8c13dac2d35015bc59656289633d61bc438e7e680a38710",
"aarch64-apple-darwin-0.7.14":
"7cb9cb6b3005a16356493887d7e7e297237b754b5753b91e826ada98ab2da172",
"aarch64-pc-windows-msvc-0.7.14":
"f28f27e529e30e96e7b289b724c8229cfc5ca25312c23bdae089d6998ffd0aae",
"aarch64-unknown-linux-gnu-0.7.14":
"c0932f428d24d87aaad6a6b7ad48aa09f260d2da5c69e877acd87c3ac90fbbad",
"aarch64-unknown-linux-musl-0.7.14":
"30e41b1f68b3e57c1375c0b2e7fe932a9eb5487fbcef7c4c7d03def3e05b9f7e",
"arm-unknown-linux-musleabihf-0.7.14":
"3b494d3d6a892d9c03d1fa6dcec8ac6077653939a6645570ab6f1f40adbd0b3c",
"armv7-unknown-linux-gnueabihf-0.7.14":
"d5d1f6c49559914678267ce9f3a57528ab45e26e907a816736306b4f10a7b4b8",
"armv7-unknown-linux-musleabihf-0.7.14":
"0016d3138edc52de9f2f4b0587afb6b579dc3bb3abfe2df151f97cc43a4ab421",
"i686-pc-windows-msvc-0.7.14":
"42391f3a71229342b17d944e956d116aabc5147b0ed28a26c59601feac1f24cd",
"i686-unknown-linux-gnu-0.7.14":
"71c358c315da7ddd2de334fe52a54719f9bdac8d6970e7966e2d080ae73ad028",
"i686-unknown-linux-musl-0.7.14":
"d02de9391fe7b7d7e97dc2fa63a539201a31eb51d2c6a87b7570cf8a5ac22398",
"powerpc64-unknown-linux-gnu-0.7.14":
"a2a43332f860520f7cd3d32f5a4ed5e0d938cc59e025372f8f1bfe47ea64355a",
"powerpc64le-unknown-linux-gnu-0.7.14":
"3c545528b601a75baad5e1cc93cbf973123e9e6df6d905b432d91ba9ca769c0b",
"riscv64gc-unknown-linux-gnu-0.7.14":
"4085fd8d4acb0a50a012fa63ae37e50472bf8742d58f4943529b5b5bda95a1a9",
"s390x-unknown-linux-gnu-0.7.14":
"b20a69092f3171dd99445fe0d71e3ed3e67ff85346cb0723a43a1b8d55ce0f33",
"x86_64-apple-darwin-0.7.14":
"352a56bb3823040f19f936dd5e277340cd304da03e5b00c0959800a72a9f55ac",
"x86_64-pc-windows-msvc-0.7.14":
"f9ac952c69d32b2263ba19ba93d18d9e708dcb9bddb8124555bbda96d6d5168f",
"x86_64-unknown-linux-gnu-0.7.14":
"2b38641d02bf107c5099f09778fda93bbaa4a4a2ee44ba303a4097102254e5e5",
"x86_64-unknown-linux-musl-0.7.14":
"8c62a823744630e6cf3fdf0bf38c4fe4558bfcbe082b076a76446a3aab2af5f5",
"aarch64-apple-darwin-0.7.13":
"721f532b73171586574298d4311a91d5ea2c802ef4db3ebafc434239330090c6",
"aarch64-pc-windows-msvc-0.7.13":
"bb40708ad549ad6a12209cb139dd751bf0ede41deb679ce7513ce197bd9ef234",
"aarch64-unknown-linux-gnu-0.7.13":
"0b2ad9fe4295881615295add8cc5daa02549d29cc9a61f0578e397efcf12f08f",
"aarch64-unknown-linux-musl-0.7.13":
"52baba71881c978d32b7c32216ad0cde4546a4dc62e606c9834ec4616c1610eb",
"arm-unknown-linux-musleabihf-0.7.13":
"ff2b11fff489301f9d55c851b9ebce7ca5530d743d2c0a3861cc45896715ea9b",
"armv7-unknown-linux-gnueabihf-0.7.13":
"903350811ee31b2b758c8afb853490c27a34382a535b236739705b104bc13894",
"armv7-unknown-linux-musleabihf-0.7.13":
"7e3b2aa966c54ced0fcd9febea6b913ee7ea12ee85246513895f199ab13296a8",
"i686-pc-windows-msvc-0.7.13":
"5cf71014fde208ee0833026b3828007f8eaf514ec003784dc1ae92633877179b",
"i686-unknown-linux-gnu-0.7.13":
"ff031258ff08b3aca46648398e21fe9679744501e3c9a928c8e42d596a708bbc",
"i686-unknown-linux-musl-0.7.13":
"41851d695bb5401bce5af81a156d63215087cf8e8e1275e69dd96de4bfa30c26",
"powerpc64-unknown-linux-gnu-0.7.13":
"02a80ce1436bf673b0d7276bb24dea0bbc70958dc91e5fb04ad37ac515be7424",
"powerpc64le-unknown-linux-gnu-0.7.13":
"60c8907cce089de97dcce732ae363eda0620f7196c25e8bd539f168b93f9e34c",
"riscv64gc-unknown-linux-gnu-0.7.13":
"521a5235bc5a053dd7f0221c363544cef6d033064cc9d92dbb4ef19771000052",
"s390x-unknown-linux-gnu-0.7.13":
"41e4b6093dd408b41dffb4c9e08c4aa31424ee4573ce9c95566c2617f7f2d0c6",
"x86_64-apple-darwin-0.7.13":
"d785753ac092e25316180626aa691c5dfe1fb075290457ba4fdb72c7c5661321",
"x86_64-pc-windows-msvc-0.7.13":
"e199b10bef1a7cc540014483e7f60f825a174988f41020e9d2a6b01bd60f0669",
"x86_64-unknown-linux-gnu-0.7.13":
"909278eb197c5ed0e9b5f16317d1255270d1f9ea4196e7179ce934d48c4c2545",
"x86_64-unknown-linux-musl-0.7.13":
"560bb64e060354e45138d7dd47c8dd48a4f7a349af5520d29cd3c704e79f286c",
"aarch64-apple-darwin-0.7.12":
"189108cd026c25d40fb086eaaf320aac52c3f7aab63e185bac51305a1576fc7e",
"aarch64-pc-windows-msvc-0.7.12":
"fbedfb71356d0e63c86b507cf1434a58406afe6eac77aee9d37b8282d4006e14",
"aarch64-unknown-linux-gnu-0.7.12":
"23233d2e950ed8187858350da5c6803b14cbbeaef780382093bb2f2bc4ba1200",
"aarch64-unknown-linux-musl-0.7.12":
"0589f6d27bbbe2e205aa6fc25e4cd28ab97e984cdba20842de8d3a00714e13e9",
"arm-unknown-linux-musleabihf-0.7.12":
"6996e32ac1c37af33a4c6e40ab0126a82d62ccb94edb164b7dae554be4dd8336",
"armv7-unknown-linux-gnueabihf-0.7.12":
"aee2dc202deed7e15984d71eb59803111052fbe8c0fb3ffad27ae0a6d290d74f",
"armv7-unknown-linux-musleabihf-0.7.12":
"87bd7676d31858d9e1937ab69d13e30cc93ebb09fb246dde6a8f183e9570a82c",
"i686-pc-windows-msvc-0.7.12":
"c7ec71ba64d01ef3cdb89553445de94ab4fd7375c8f2a7068353aec7a3a06342",
"i686-unknown-linux-gnu-0.7.12":
"d1def68ff10b30327a5cacab497664aaf8338e192ba277b76f45dad63208f2e2",
"i686-unknown-linux-musl-0.7.12":
"f56a0a9c84b35b7e910c4d628c667b843fb3fa1d9dddb0bbf4bf3f21eeaee07f",
"powerpc64-unknown-linux-gnu-0.7.12":
"6eafb546d1b8642a5c27e4dfda213659fee41b0fd150b4c33ef96c917e595344",
"powerpc64le-unknown-linux-gnu-0.7.12":
"0d550348d7a0f54352824cd751dc7baea0c23b17d744a5a7784b6b825e5fc909",
"s390x-unknown-linux-gnu-0.7.12":
"76f5a2c1c13446233312d140136f3f55fa7c162176327830eb109ccaae6c9cea",
"x86_64-apple-darwin-0.7.12":
"a338354420dba089218c05d4d585e4bcf174a65fe53260592b2af19ceec85835",
"x86_64-pc-windows-msvc-0.7.12":
"2cf29c8ffaa2549aa0f86927b2510008e8ca3dcd2100277d86faf437382a371b",
"x86_64-unknown-linux-gnu-0.7.12":
"735891fb553d0be129f3aa39dc8e9c4c49aaa76ec17f7dfb6a732e79a714873a",
"x86_64-unknown-linux-musl-0.7.12":
"bb493f1e6ae426c06b5a103cb71aa60c678976d2377f0590644538658656c2a7",
"aarch64-apple-darwin-0.7.11":
"b5f4cb27a3002d6590c3681377c6d826db0b52e2a9529c7144fcd53fec89ba79",
"aarch64-pc-windows-msvc-0.7.11":
"856bac93344a6980b2703a4143f26fc042c941b02f11ed21f55ec6be3fdfde87",
"aarch64-unknown-linux-gnu-0.7.11":
"80cf695c4e10b532e9db3c7fbbcfb0f8356f2e70e7a4a5040e005f0fae70923d",
"aarch64-unknown-linux-musl-0.7.11":
"2ad20d143c74d7f63d1c99db3999f239f045b7be041e23f6ac8b269c99fa54fe",
"arm-unknown-linux-musleabihf-0.7.11":
"21fec46f09d96cd9f51378fe01ed050dd2032c1fef823f8bd81fa50a2337bbcc",
"armv7-unknown-linux-gnueabihf-0.7.11":
"1a75aaff4695c07151d5b9abb50232ea9fb6f5ccc82d4b319abd8796605d9db8",
"armv7-unknown-linux-musleabihf-0.7.11":
"431b3115ab8fb5e2210d01f29b7901e6eb1174ff65545ec49318d6d4adf4c802",
"i686-pc-windows-msvc-0.7.11":
"985f5eabf42b8ad0166ae6b9f799564220fa932938a8401c890d5e07321ce7c0",
"i686-unknown-linux-gnu-0.7.11":
"619e205d56594fc530dbde6c6a543dd094c796791a5e2cfcd3bb70fa5767bf9d",
"i686-unknown-linux-musl-0.7.11":
"838c6336ba8e88818459b10c3520e83601b9c0a9850a209accef9782c050faad",
"powerpc64-unknown-linux-gnu-0.7.11":
"769c7f32cbc2ad918ccf9ae661d99a6c0d0fd3a0056691832b4a79049a9d06ec",
"powerpc64le-unknown-linux-gnu-0.7.11":
"c9bbbcc2d4f11c83e0edbff5868d95f07f81455adb6f2f909cdb9b992928101b",
"s390x-unknown-linux-gnu-0.7.11":
"0e7b9b27e9fef1b42aa052173a2a47a2ec33bad82425237dfac402b7f69bd073",
"x86_64-apple-darwin-0.7.11":
"97980b067dc3fea16534371b030eaf38554d701de5058004edcfd542a88a2e84",
"x86_64-pc-windows-msvc-0.7.11":
"0f4ef69fde75bb8bcfba7ecf0a4134d8875578cd2e98c9fcfc21573e746c70ac",
"x86_64-unknown-linux-gnu-0.7.11":
"df54b274e99b7ef26030dc21d105ce115bc21a644fc6a321bde9222cb1616de6",
"x86_64-unknown-linux-musl-0.7.11":
"e4e8948645ebea1950a3c77574ce079dfe1c71547ba5a8a141d6e362fa036684",
"aarch64-apple-darwin-0.7.10":
"316b80c19832ff4085748c3a20a3e05f36e1d19234e8b9399a6fd1c971241bce",
"aarch64-pc-windows-msvc-0.7.10":
"1eed0f11bca79403648195f8ce257763d956e861cb73de98c480dae15358bb26",
"aarch64-unknown-linux-gnu-0.7.10":
"8746acb754807050124c6dbcb05fcad2665a3f0cdb2a0fe9de528bd37b092656",
"aarch64-unknown-linux-musl-0.7.10":
"f9000f08850a5c575d5fe1ddc2ec928ecc9f287ecdcd9fa1ea4e3f405b23d4a3",
"arm-unknown-linux-musleabihf-0.7.10":
"657b1b8a534f7fe78e63aff56aac5bbcb21f6254df79825fe204d5c7c1219653",
"armv7-unknown-linux-gnueabihf-0.7.10":
"1cf4a8f40abbd802a7b44fe9695da356701100d267eb3567c17db27e0a24cf69",
"armv7-unknown-linux-musleabihf-0.7.10":
"5282b825f469295dc2b88c94eccd375a93135a279b0711cb10e615e7a71a0617",
"i686-pc-windows-msvc-0.7.10":
"f3c62ff935685d9d4312b82d01ed386493b97c3d22bd434d943fc99ce9aef83a",
"i686-unknown-linux-gnu-0.7.10":
"24a2a3eb0e89b74de6aac492516303747519439775d22254e838d33410ac27b2",
"i686-unknown-linux-musl-0.7.10":
"e317d35af60b38ad32935390a83d12adc3ed7ffdbc2ccccd3039bf6cef650eb3",
"powerpc64-unknown-linux-gnu-0.7.10":
"c1ab41ec53cd720179f3351b61b4ded73ec520804413b75051736829a125e4fe",
"powerpc64le-unknown-linux-gnu-0.7.10":
"ce2c3fdf177facf6c77c5316bb54b9deaf498bee9f664e01a4030ecf27063ab1",
"s390x-unknown-linux-gnu-0.7.10":
"b7603e3f4494e9093a86ace1103e3fcfa172a952989f0c7dca6eeac7f77be81f",
"x86_64-apple-darwin-0.7.10":
"9123e8aa944654404787f80731ec08850c4e9b9129c0d0445c9e41438828b8b8",
"x86_64-pc-windows-msvc-0.7.10":
"1568a71af55e9d9bc4a050ec79134a342a8a3765a73f6b7ec26490c2814f8797",
"x86_64-unknown-linux-gnu-0.7.10":
"ff2ef46298963fee8104ccb3c0a4ecbc97c057ac6a0bc5fec7636c855384252e",
"x86_64-unknown-linux-musl-0.7.10":
"b2cf1f63e83a873652ffef032681bbbe1469e3bab617f7e715e09529c30f5689",
"aarch64-apple-darwin-0.7.9":
"7a8b716a2b5905fb89512371ce6c6dbc0dd0344185bd1cd93a3fe27516eef7ec",
"aarch64-pc-windows-msvc-0.7.9":
"63c0990b9c49dc9f9a92aaaa27ba627cbf9cf6b2e42766588ef6f880208893de",
"aarch64-unknown-linux-gnu-0.7.9":
"23242a8051e2191ed8d61f71a6792f2fc069ef18e6cdf07dedac3d3f648643c5",
"aarch64-unknown-linux-musl-0.7.9":
"60f30508c9002b2b7af55d70db2741cf7ea24c066ced710ad09681a6d2d19b3a",
"arm-unknown-linux-musleabihf-0.7.9":
"57d8e43e257f0ccd9df2b8581338c5145b9937aba53e9c9bb81b31044b720c61",
"armv7-unknown-linux-gnueabihf-0.7.9":
"83353ee7e1724083ea94d7f488fa34c9159995a3996f87017fdf72e422c93242",
"armv7-unknown-linux-musleabihf-0.7.9":
"b2d8d81bc2abbdd857bad7cd3bf0d36c5155c0681aae8ac9fb8f49d54b95b3f2",
"i686-pc-windows-msvc-0.7.9":
"b5dc0dc10d9dd0dcf5729a94e98538418760d13877d4d4b1bc4efa9926280e78",
"i686-unknown-linux-gnu-0.7.9":
"fb8f1a7cb593c819c0fff71afa2dc480237ca80a3f5d8d433c8b51d2ae90ffdf",
"i686-unknown-linux-musl-0.7.9":
"a77592be13fea81ca42b2b7815784e769e1fd9ff476cfab69f2652823f99c55e",
"powerpc64-unknown-linux-gnu-0.7.9":
"26fee4867c158c04dd3a51ff9a23b4220a9ba69fae2e71be618d2cfa48164d96",
"powerpc64le-unknown-linux-gnu-0.7.9":
"d588fbb01cacccb7fd6e0f101d34282ebb0569381f967d332f8072055e39840e",
"s390x-unknown-linux-gnu-0.7.9":
"d823d68ff662b7e59c6791281427bf1019dae791a964ffae31ae1d2d723dfc08",
"x86_64-apple-darwin-0.7.9":
"a4c084568850588b77e4a34c21b7df5c8cf9e2160b4d614307ed92fa12411742",
"x86_64-pc-windows-msvc-0.7.9":
"f91d8a3322a10caf257fd416807bd8d2801285b80b46ee37f2d0c6e426b8822c",
"x86_64-unknown-linux-gnu-0.7.9":
"b8450a419c0bcc85841bbed8511eb59e2a5683ddd3f813f2b98b97babf6b1b8b",
"x86_64-unknown-linux-musl-0.7.9":
"95918a1e1faf851a39cad402f1a77318e8fc90b7f829833ebaff27de9722d60e",
"aarch64-apple-darwin-0.7.8":
"ad6b3825ba277de70b9d0a37055f7d828f3f37416aee1cde65000f330efd4587",
"aarch64-pc-windows-msvc-0.7.8":
"e43448e5e3267dffb6bbdc30ffa291f8db664d1da9d084c44f99dc568f459e0a",
"aarch64-unknown-linux-gnu-0.7.8":
"da9e1c97f1452b25c8955127c92da7b68be228ad0b43bf50bba4dadb25c8b337",
"aarch64-unknown-linux-musl-0.7.8":
"4d18efb46f93fa942dc4c212dea3b6b07e3db62fe57d0c3d08de6bf5d9f9bb51",
"arm-unknown-linux-musleabihf-0.7.8":
"133b1c3fb850ec496bfb4ef84379bfaeff1d2c322114a0984d8a5c2e10e63028",
"armv7-unknown-linux-gnueabihf-0.7.8":
"7d61c6e18e81447482dc80c090c65a6615a1232512899943566baf2808ca37bb",
"armv7-unknown-linux-musleabihf-0.7.8":
"0b6d6afcdb7c78e5df42cb2ab0929d2bec2654a350a8efacc6f95e830a31eb6e",
"i686-pc-windows-msvc-0.7.8":
"0d4b01372ca972543cd40366bb5480bb457e79dcf45b5f662721d709d6932dbd",
"i686-unknown-linux-gnu-0.7.8":
"db1c60961aea7a7f8c64a098801e0138e761b7556d1c1691fc4f3f771f0e47ae",
"i686-unknown-linux-musl-0.7.8":
"b765eb1817bc1d545f4860eff0adeb0c7907ea66be14536653192e588386b308",
"powerpc64-unknown-linux-gnu-0.7.8":
"2c894b104195ab194af05c6ad756ce8746a349a8620c83888207db5fccf29a8f",
"powerpc64le-unknown-linux-gnu-0.7.8":
"4b0d93385685f756068f76af1871dcb7cc8f427ab6d650afc07493d06dca71db",
"s390x-unknown-linux-gnu-0.7.8":
"e58fc9f6d846ccbf50d9bcf27920ff4bc061541df8a6a3aa6f13be24981e0772",
"x86_64-apple-darwin-0.7.8":
"f046249639014eb70b43cbaf83eb6f56aac724ada354f9b9aad65f9960737920",
"x86_64-pc-windows-msvc-0.7.8":
"355736ddf9a01ab9da918b35470027c12128d7ed1d7f54f54771507d79529679",
"x86_64-unknown-linux-gnu-0.7.8":
"285981409c746508c1fd125f66a1ea654e487bf1e4d9f45371a062338f788adb",
"x86_64-unknown-linux-musl-0.7.8":
"8a707e45e0d1a8bdbc5bd1af0ae7d19ffab55f3722c5e73471039561900e3d48",
"aarch64-apple-darwin-0.7.7": "aarch64-apple-darwin-0.7.7":
"6a06eaa8165d5abd89c3dc37ffbe1db60fcf49a87d7c612bfca7e87a1514695d", "6a06eaa8165d5abd89c3dc37ffbe1db60fcf49a87d7c612bfca7e87a1514695d",
"aarch64-pc-windows-msvc-0.7.7": "aarch64-pc-windows-msvc-0.7.7":

View File

@@ -7,6 +7,10 @@ import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms"; import type { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum"; import { validateChecksum } from "./checksum/checksum";
import { Octokit } from "../utils/octokit"; import { Octokit } from "../utils/octokit";
import {
getDownloadUrl,
getLatestKnownVersion as getLatestVersionInManifest,
} from "./version-manifest";
export function tryGetFromToolCache( export function tryGetFromToolCache(
arch: Architecture, arch: Architecture,
@@ -23,7 +27,7 @@ export function tryGetFromToolCache(
return { version: resolvedVersion, installedPath }; return { version: resolvedVersion, installedPath };
} }
export async function downloadVersion( export async function downloadVersionFromGithub(
serverUrl: string, serverUrl: string,
platform: Platform, platform: Platform,
arch: Architecture, arch: Architecture,
@@ -31,29 +35,77 @@ export async function downloadVersion(
checkSum: string | undefined, checkSum: string | undefined,
githubToken: string, githubToken: string,
): Promise<{ version: string; cachedToolDir: string }> { ): Promise<{ version: string; cachedToolDir: string }> {
const resolvedVersion = await resolveVersion(version, githubToken);
const artifact = `uv-${arch}-${platform}`; const artifact = `uv-${arch}-${platform}`;
let extension = ".tar.gz"; const extension = getExtension(platform);
if (platform === "pc-windows-msvc") { const downloadUrl = `${serverUrl}/${OWNER}/${REPO}/releases/download/${version}/${artifact}${extension}`;
extension = ".zip"; return await downloadVersion(
} downloadUrl,
const downloadUrl = `${serverUrl}/${OWNER}/${REPO}/releases/download/${resolvedVersion}/${artifact}${extension}`; artifact,
core.info(`Downloading uv from "${downloadUrl}" ...`); platform,
arch,
version,
checkSum,
githubToken,
);
}
export async function downloadVersionFromManifest(
manifestUrl: string | undefined,
platform: Platform,
arch: Architecture,
version: string,
checkSum: string | undefined,
githubToken: string,
): Promise<{ version: string; cachedToolDir: string }> {
const downloadUrl = await getDownloadUrl(
manifestUrl,
version,
arch,
platform,
);
if (!downloadUrl) {
core.info(
`manifest-file does not contain version ${version}, arch ${arch}, platform ${platform}. Falling back to GitHub releases.`,
);
return await downloadVersionFromGithub(
"https://github.com",
platform,
arch,
version,
checkSum,
githubToken,
);
}
return await downloadVersion(
downloadUrl,
`uv-${arch}-${platform}`,
platform,
arch,
version,
checkSum,
githubToken,
);
}
async function downloadVersion(
downloadUrl: string,
artifactName: string,
platform: Platform,
arch: Architecture,
version: string,
checkSum: string | undefined,
githubToken: string,
): Promise<{ version: string; cachedToolDir: string }> {
core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool( const downloadPath = await tc.downloadTool(
downloadUrl, downloadUrl,
undefined, undefined,
githubToken, githubToken,
); );
await validateChecksum( await validateChecksum(checkSum, downloadPath, arch, platform, version);
checkSum,
downloadPath,
arch,
platform,
resolvedVersion,
);
let uvDir: string; let uvDir: string;
const extension = getExtension(platform);
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
const fullPathWithExtension = `${downloadPath}${extension}`; const fullPathWithExtension = `${downloadPath}${extension}`;
await fs.copyFile(downloadPath, fullPathWithExtension); await fs.copyFile(downloadPath, fullPathWithExtension);
@@ -61,26 +113,39 @@ export async function downloadVersion(
// On windows extracting the zip does not create an intermediate directory // On windows extracting the zip does not create an intermediate directory
} else { } else {
const extractedDir = await tc.extractTar(downloadPath); const extractedDir = await tc.extractTar(downloadPath);
uvDir = path.join(extractedDir, artifact); uvDir = path.join(extractedDir, artifactName);
} }
const cachedToolDir = await tc.cacheDir( const cachedToolDir = await tc.cacheDir(
uvDir, uvDir,
TOOL_CACHE_NAME, TOOL_CACHE_NAME,
resolvedVersion, version,
arch, arch,
); );
return { version: resolvedVersion, cachedToolDir }; return { version: version, cachedToolDir };
}
function getExtension(platform: Platform): string {
return platform === "pc-windows-msvc" ? ".zip" : ".tar.gz";
} }
export async function resolveVersion( export async function resolveVersion(
versionInput: string, versionInput: string,
manifestFile: string | undefined,
githubToken: string, githubToken: string,
): Promise<string> { ): Promise<string> {
core.debug(`Resolving version: ${versionInput}`); core.debug(`Resolving version: ${versionInput}`);
const version = let version: string;
versionInput === "latest" if (manifestFile) {
? await getLatestVersion(githubToken) version =
: versionInput; versionInput === "latest"
? await getLatestVersionInManifest(manifestFile)
: versionInput;
} else {
version =
versionInput === "latest"
? await getLatestVersion(githubToken)
: versionInput;
}
if (tc.isExplicitVersion(version)) { if (tc.isExplicitVersion(version)) {
core.debug(`Version ${version} is an explicit version.`); core.debug(`Version ${version} is an explicit version.`);
return version; return version;

View File

@@ -1,8 +1,12 @@
import { promises as fs } from "node:fs"; import { promises as fs } from "node:fs";
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as semver from "semver"; import * as semver from "semver";
import { fetch } from "../utils/fetch";
import { join } from "node:path";
interface VersionManifestEntry { const localManifestFile = join(__dirname, "..", "..", "version-manifest.json");
interface ManifestEntry {
version: string; version: string;
artifactName: string; artifactName: string;
arch: string; arch: string;
@@ -11,22 +15,57 @@ interface VersionManifestEntry {
} }
export async function getLatestKnownVersion( export async function getLatestKnownVersion(
versionManifestFile: string, manifestUrl: string | undefined,
): Promise<string> { ): Promise<string> {
const data = await fs.readFile(versionManifestFile); const manifestEntries = await getManifestEntries(manifestUrl);
const versionManifestEntries: VersionManifestEntry[] = JSON.parse( return manifestEntries.reduce((a, b) =>
data.toString(),
);
return versionManifestEntries.reduce((a, b) =>
semver.gt(a.version, b.version) ? a : b, semver.gt(a.version, b.version) ? a : b,
).version; ).version;
} }
export async function getDownloadUrl(
manifestUrl: string | undefined,
version: string,
arch: string,
platform: string,
): Promise<string | undefined> {
const manifestEntries = await getManifestEntries(manifestUrl);
const entry = manifestEntries.find(
(entry) =>
entry.version === version &&
entry.arch === arch &&
entry.platform === platform,
);
return entry ? entry.downloadUrl : undefined;
}
async function getManifestEntries(
manifestUrl: string | undefined,
): Promise<ManifestEntry[]> {
let data: string;
if (manifestUrl !== undefined) {
core.info(`Fetching manifest-file from: ${manifestUrl}`);
const response = await fetch(manifestUrl, {});
if (!response.ok) {
throw new Error(
`Failed to fetch manifest-file: ${response.status} ${response.statusText}`,
);
}
data = await response.text();
} else {
core.info("manifest-file not provided, reading from local file.");
const fileContent = await fs.readFile(localManifestFile);
data = fileContent.toString();
}
return JSON.parse(data);
}
export async function updateVersionManifest( export async function updateVersionManifest(
versionManifestFile: string, manifestUrl: string,
downloadUrls: string[], downloadUrls: string[],
): Promise<void> { ): Promise<void> {
const versionManifest: VersionManifestEntry[] = []; const manifest: ManifestEntry[] = [];
for (const downloadUrl of downloadUrls) { for (const downloadUrl of downloadUrls) {
const urlParts = downloadUrl.split("/"); const urlParts = downloadUrl.split("/");
@@ -39,7 +78,7 @@ export async function updateVersionManifest(
continue; continue;
} }
const artifactParts = artifactName.split(".")[0].split("-"); const artifactParts = artifactName.split(".")[0].split("-");
versionManifest.push({ manifest.push({
version: version, version: version,
artifactName: artifactName, artifactName: artifactName,
arch: artifactParts[1], arch: artifactParts[1],
@@ -47,6 +86,6 @@ export async function updateVersionManifest(
downloadUrl: downloadUrl, downloadUrl: downloadUrl,
}); });
} }
core.debug(`Updating version manifest: ${JSON.stringify(versionManifest)}`); core.debug(`Updating manifest-file: ${JSON.stringify(manifest)}`);
await fs.writeFile(versionManifestFile, JSON.stringify(versionManifest)); await fs.writeFile(manifestUrl, JSON.stringify(manifest));
} }

View File

@@ -1,9 +1,10 @@
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as path from "node:path"; import * as path from "node:path";
import { import {
downloadVersion,
tryGetFromToolCache, tryGetFromToolCache,
resolveVersion, resolveVersion,
downloadVersionFromGithub,
downloadVersionFromManifest,
} from "./download/download-version"; } from "./download/download-version";
import { restoreCache } from "./cache/restore-cache"; import { restoreCache } from "./cache/restore-cache";
@@ -24,12 +25,14 @@ import {
toolBinDir, toolBinDir,
toolDir, toolDir,
version as versionInput, version as versionInput,
versionFile as versionFileInput,
workingDirectory, workingDirectory,
serverUrl, serverUrl,
manifestFile,
} from "./utils/inputs"; } from "./utils/inputs";
import * as exec from "@actions/exec"; import * as exec from "@actions/exec";
import fs from "node:fs"; import fs from "node:fs";
import { getUvVersionFromConfigFile } from "./utils/config-file"; import { getUvVersionFromFile } from "./version/resolve";
async function run(): Promise<void> { async function run(): Promise<void> {
detectEmptyWorkdir(); detectEmptyWorkdir();
@@ -85,7 +88,7 @@ async function setupUv(
checkSum: string | undefined, checkSum: string | undefined,
githubToken: string, githubToken: string,
): Promise<{ uvDir: string; version: string }> { ): Promise<{ uvDir: string; version: string }> {
const resolvedVersion = await determineVersion(); const resolvedVersion = await determineVersion(manifestFile);
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion); const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
if (toolCacheResult.installedPath) { if (toolCacheResult.installedPath) {
core.info(`Found uv in tool-cache for ${toolCacheResult.version}`); core.info(`Found uv in tool-cache for ${toolCacheResult.version}`);
@@ -95,14 +98,29 @@ async function setupUv(
}; };
} }
const downloadVersionResult = await downloadVersion( let downloadVersionResult: { version: string; cachedToolDir: string };
serverUrl, if (serverUrl !== "https://github.com") {
platform, core.warning(
arch, "The input server-url is deprecated. Please use manifest-file instead.",
resolvedVersion, );
checkSum, downloadVersionResult = await downloadVersionFromGithub(
githubToken, serverUrl,
); platform,
arch,
resolvedVersion,
checkSum,
githubToken,
);
} else {
downloadVersionResult = await downloadVersionFromManifest(
manifestFile,
platform,
arch,
resolvedVersion,
checkSum,
githubToken,
);
}
return { return {
uvDir: downloadVersionResult.cachedToolDir, uvDir: downloadVersionResult.cachedToolDir,
@@ -110,14 +128,25 @@ async function setupUv(
}; };
} }
async function determineVersion(): Promise<string> { async function determineVersion(
manifestFile: string | undefined,
): Promise<string> {
if (versionInput !== "") { if (versionInput !== "") {
return await resolveVersion(versionInput, githubToken); return await resolveVersion(versionInput, manifestFile, githubToken);
} }
const versionFromUvToml = getUvVersionFromConfigFile( if (versionFileInput !== "") {
const versionFromFile = getUvVersionFromFile(versionFileInput);
if (versionFromFile === undefined) {
throw new Error(
`Could not determine uv version from file: ${versionFileInput}`,
);
}
return await resolveVersion(versionFromFile, manifestFile, githubToken);
}
const versionFromUvToml = getUvVersionFromFile(
`${workingDirectory}${path.sep}uv.toml`, `${workingDirectory}${path.sep}uv.toml`,
); );
const versionFromPyproject = getUvVersionFromConfigFile( const versionFromPyproject = getUvVersionFromFile(
`${workingDirectory}${path.sep}pyproject.toml`, `${workingDirectory}${path.sep}pyproject.toml`,
); );
if (versionFromUvToml === undefined && versionFromPyproject === undefined) { if (versionFromUvToml === undefined && versionFromPyproject === undefined) {
@@ -127,6 +156,7 @@ async function determineVersion(): Promise<string> {
} }
return await resolveVersion( return await resolveVersion(
versionFromUvToml || versionFromPyproject || "latest", versionFromUvToml || versionFromPyproject || "latest",
manifestFile,
githubToken, githubToken,
); );
} }

View File

@@ -12,7 +12,7 @@ import {
async function run(): Promise<void> { async function run(): Promise<void> {
const checksumFilePath = process.argv.slice(2)[0]; const checksumFilePath = process.argv.slice(2)[0];
const versionsManifestFilePath = process.argv.slice(2)[1]; const versionsManifestFile = process.argv.slice(2)[1];
const githubToken = process.argv.slice(2)[2]; const githubToken = process.argv.slice(2)[2];
const octokit = new Octokit({ const octokit = new Octokit({
@@ -24,9 +24,7 @@ async function run(): Promise<void> {
repo: REPO, repo: REPO,
}); });
const latestKnownVersion = await getLatestKnownVersion( const latestKnownVersion = await getLatestKnownVersion(undefined);
versionsManifestFilePath,
);
if (semver.lte(latestRelease.tag_name, latestKnownVersion)) { if (semver.lte(latestRelease.tag_name, latestKnownVersion)) {
core.info( core.info(
@@ -52,7 +50,7 @@ async function run(): Promise<void> {
.map((asset) => asset.browser_download_url), .map((asset) => asset.browser_download_url),
); );
await updateVersionManifest(versionsManifestFilePath, artifactDownloadUrls); await updateVersionManifest(versionsManifestFile, artifactDownloadUrls);
core.setOutput("latest-version", latestRelease.tag_name); core.setOutput("latest-version", latestRelease.tag_name);
} }

View File

@@ -1,46 +0,0 @@
import fs from "node:fs";
import * as core from "@actions/core";
import * as toml from "smol-toml";
export function getUvVersionFromConfigFile(
filePath: string,
): string | undefined {
core.info(`Trying to find required-version for uv in: ${filePath}`);
if (!fs.existsSync(filePath)) {
core.info(`Could not find file: ${filePath}`);
return undefined;
}
let requiredVersion: string | undefined;
try {
requiredVersion = getRequiredVersion(filePath);
} catch (err) {
const message = (err as Error).message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
if (requiredVersion?.startsWith("==")) {
requiredVersion = requiredVersion.slice(2);
}
if (requiredVersion !== undefined) {
core.info(
`Found required-version for uv in ${filePath}: ${requiredVersion}`,
);
}
return requiredVersion;
}
function getRequiredVersion(filePath: string): string | undefined {
const fileContent = fs.readFileSync(filePath, "utf-8");
if (filePath.endsWith("pyproject.toml")) {
const tomlContent = toml.parse(fileContent) as {
tool?: { uv?: { "required-version"?: string } };
};
return tomlContent?.tool?.uv?.["required-version"];
}
const tomlContent = toml.parse(fileContent) as {
"required-version"?: string;
};
return tomlContent["required-version"];
}

21
src/utils/fetch.ts Normal file
View File

@@ -0,0 +1,21 @@
import { fetch as undiciFetch, ProxyAgent, type RequestInit } from "undici";
export function getProxyAgent() {
const httpProxy = process.env.HTTP_PROXY || process.env.http_proxy;
if (httpProxy) {
return new ProxyAgent(httpProxy);
}
const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
if (httpsProxy) {
return new ProxyAgent(httpsProxy);
}
return undefined;
}
export const fetch = async (url: string, opts: RequestInit) =>
await undiciFetch(url, {
dispatcher: getProxyAgent(),
...opts,
});

View File

@@ -1,7 +1,9 @@
import * as core from "@actions/core"; import * as core from "@actions/core";
import path from "node:path"; import path from "node:path";
import { getManifestFromRepo } from "@actions/tool-cache";
export const version = core.getInput("version"); export const version = core.getInput("version");
export const versionFile = core.getInput("version-file");
export const pythonVersion = core.getInput("python-version"); export const pythonVersion = core.getInput("python-version");
export const activateEnvironment = core.getBooleanInput("activate-environment"); export const activateEnvironment = core.getBooleanInput("activate-environment");
export const workingDirectory = core.getInput("working-directory"); export const workingDirectory = core.getInput("working-directory");
@@ -19,6 +21,7 @@ export const toolBinDir = getToolBinDir();
export const toolDir = getToolDir(); export const toolDir = getToolDir();
export const serverUrl = core.getInput("server-url"); export const serverUrl = core.getInput("server-url");
export const githubToken = core.getInput("github-token"); export const githubToken = core.getInput("github-token");
export const manifestFile = getManifestFile();
function getEnableCache(): boolean { function getEnableCache(): boolean {
const enableCacheInput = core.getInput("enable-cache"); const enableCacheInput = core.getInput("enable-cache");
@@ -85,3 +88,11 @@ function expandTilde(input: string): string {
} }
return input; return input;
} }
function getManifestFile(): string | undefined {
const manifestFileInput = core.getInput("manifest-file");
if (manifestFileInput !== "") {
return manifestFileInput;
}
return undefined;
}

View File

@@ -8,7 +8,7 @@ import {
type PaginateInterface, type PaginateInterface,
} from "@octokit/plugin-paginate-rest"; } from "@octokit/plugin-paginate-rest";
import { legacyRestEndpointMethods } from "@octokit/plugin-rest-endpoint-methods"; import { legacyRestEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
import { fetch as undiciFetch, ProxyAgent, type RequestInit } from "undici"; import { fetch as customFetch } from "./fetch";
export type { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods"; export type { RestEndpointMethodTypes } from "@octokit/plugin-rest-endpoint-methods";
@@ -17,26 +17,6 @@ const DEFAULTS = {
userAgent: "setup-uv", userAgent: "setup-uv",
}; };
export function getProxyAgent() {
const httpProxy = process.env.HTTP_PROXY || process.env.http_prox;
if (httpProxy) {
return new ProxyAgent(httpProxy);
}
const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
if (httpsProxy) {
return new ProxyAgent(httpsProxy);
}
return undefined;
}
export const customFetch = async (url: string, opts: RequestInit) =>
await undiciFetch(url, {
dispatcher: getProxyAgent(),
...opts,
});
export const Octokit: typeof Core & export const Octokit: typeof Core &
Constructor< Constructor<
{ {

View File

@@ -0,0 +1,22 @@
import fs from "node:fs";
import * as toml from "smol-toml";
export function getRequiredVersionFromConfigFile(
filePath: string,
): string | undefined {
if (!filePath.endsWith(".toml")) {
return undefined;
}
const fileContent = fs.readFileSync(filePath, "utf-8");
if (filePath.endsWith("pyproject.toml")) {
const tomlContent = toml.parse(fileContent) as {
tool?: { uv?: { "required-version"?: string } };
};
return tomlContent?.tool?.uv?.["required-version"];
}
const tomlContent = toml.parse(fileContent) as {
"required-version"?: string;
};
return tomlContent["required-version"];
}

View File

@@ -0,0 +1,43 @@
import * as toml from "smol-toml";
import fs from "node:fs";
export function getUvVersionFromRequirementsFile(
filePath: string,
): string | undefined {
const fileContent = fs.readFileSync(filePath, "utf-8");
if (filePath.endsWith(".txt")) {
return getUvVersionFromAllDependencies(fileContent.split("\n"));
}
const dependencies = parsePyprojectDependencies(fileContent);
return getUvVersionFromAllDependencies(dependencies);
}
function getUvVersionFromAllDependencies(
allDependencies: string[],
): string | undefined {
return allDependencies
.find((dep: string) => dep.startsWith("uv"))
?.match(/^uv([^A-Z0-9._-]+.*)$/)?.[1]
.trim();
}
interface Pyproject {
project?: {
dependencies?: string[];
"optional-dependencies"?: Record<string, string[]>;
};
"dependency-groups"?: Record<string, Array<string | object>>;
}
function parsePyprojectDependencies(pyprojectContent: string): string[] {
const pyproject: Pyproject = toml.parse(pyprojectContent);
const dependencies: string[] = pyproject?.project?.dependencies || [];
const optionalDependencies: string[] = Object.values(
pyproject?.project?.["optional-dependencies"] || {},
).flat();
const devDependencies: string[] = Object.values(
pyproject?.["dependency-groups"] || {},
)
.flat()
.filter((item: string | object) => typeof item === "string");
return dependencies.concat(optionalDependencies, devDependencies);
}

30
src/version/resolve.ts Normal file
View File

@@ -0,0 +1,30 @@
import * as core from "@actions/core";
import fs from "node:fs";
import { getRequiredVersionFromConfigFile } from "./config-file";
import { getUvVersionFromRequirementsFile } from "./requirements-file";
export function getUvVersionFromFile(filePath: string): string | undefined {
core.info(`Trying to find version for uv in: ${filePath}`);
if (!fs.existsSync(filePath)) {
core.info(`Could not find file: ${filePath}`);
return undefined;
}
let uvVersion: string | undefined;
try {
uvVersion = getRequiredVersionFromConfigFile(filePath);
if (uvVersion === undefined) {
uvVersion = getUvVersionFromRequirementsFile(filePath);
}
} catch (err) {
const message = (err as Error).message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
if (uvVersion?.startsWith("==")) {
uvVersion = uvVersion.slice(2);
}
if (uvVersion !== undefined) {
core.info(`Found version for uv in ${filePath}: ${uvVersion}`);
}
return uvVersion;
}

File diff suppressed because it is too large Load Diff