5
0
mirror of https://github.com/astral-sh/setup-uv.git synced 2025-12-15 11:07:14 +00:00

Compare commits

..

3 Commits

Author SHA1 Message Date
Kevin Stillhammer
2233977af9 leave uv.exe in D: 2024-09-18 20:49:20 +02:00
Kevin Stillhammer
363497d0ae mv uv.exe onto D: 2024-09-18 18:17:51 +02:00
Kevin Stillhammer
561bff6f70 Add tool bin dir to PATH on windows 2024-09-18 18:00:23 +02:00
25 changed files with 11872 additions and 7016 deletions

4
.eslintignore Normal file
View File

@@ -0,0 +1,4 @@
dist/
lib/
node_modules/
jest.config.js

61
.eslintrc.json Normal file
View File

@@ -0,0 +1,61 @@
{
"plugins": ["jest", "@typescript-eslint"],
"extends": ["plugin:github/recommended"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 9,
"sourceType": "module",
"project": "./tsconfig.json"
},
"rules": {
"no-shadow": "off",
"@typescript-eslint/no-shadow": ["error"],
"i18n-text/no-en": "off",
"eslint-comments/no-use": "off",
"import/no-namespace": "off",
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/explicit-member-accessibility": [
"error",
{ "accessibility": "no-public" }
],
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/array-type": "error",
"@typescript-eslint/await-thenable": "error",
"@typescript-eslint/ban-ts-comment": "error",
"camelcase": "off",
"@typescript-eslint/consistent-type-assertions": "error",
"@typescript-eslint/explicit-function-return-type": [
"error",
{ "allowExpressions": true }
],
"@typescript-eslint/func-call-spacing": ["error", "never"],
"@typescript-eslint/no-array-constructor": "error",
"@typescript-eslint/no-empty-interface": "error",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-extraneous-class": "error",
"@typescript-eslint/no-for-in-array": "error",
"@typescript-eslint/no-inferrable-types": "error",
"@typescript-eslint/no-misused-new": "error",
"@typescript-eslint/no-namespace": "error",
"@typescript-eslint/no-non-null-assertion": "warn",
"@typescript-eslint/no-unnecessary-qualifier": "error",
"@typescript-eslint/no-unnecessary-type-assertion": "error",
"@typescript-eslint/no-useless-constructor": "error",
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/prefer-for-of": "warn",
"@typescript-eslint/prefer-function-type": "warn",
"@typescript-eslint/prefer-includes": "error",
"@typescript-eslint/prefer-string-starts-ends-with": "error",
"@typescript-eslint/promise-function-async": "error",
"@typescript-eslint/require-array-sort-compare": "error",
"@typescript-eslint/restrict-plus-operands": "error",
"@typescript-eslint/type-annotation-spacing": "error",
"@typescript-eslint/unbound-method": "error"
},
"env": {
"node": true,
"es6": true,
"jest/globals": true
}
}

View File

@@ -21,7 +21,7 @@ jobs:
uses: ./
with:
enable-cache: true
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
- run: uv sync
working-directory: __tests__/fixtures/uv-project
test-restore-cache:
@@ -37,7 +37,7 @@ jobs:
uses: ./
with:
enable-cache: true
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
- name: Cache was hit
run: |
if [ "$CACHE_HIT" != "true" ]; then
@@ -59,7 +59,7 @@ jobs:
cache-dependency-glob: |
__tests__/fixtures/uv-project/uv.lock
**/pyproject.toml
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-dependency-glob
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
- run: uv sync
working-directory: __tests__/fixtures/uv-project
test-restore-cache-dependency-glob:
@@ -79,8 +79,7 @@ jobs:
cache-dependency-glob: |
__tests__/fixtures/uv-project/uv.lock
**/pyproject.toml
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-dependency-glob
ignore-nothing-to-cache: true
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
- name: Cache was not hit
run: |
if [ "$CACHE_HIT" == "true" ]; then
@@ -90,19 +89,19 @@ jobs:
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
test-setup-cache-local:
runs-on: selfhosted-ubuntu-arm64
runs-on: oracle-aarch64
steps:
- uses: actions/checkout@v4
- name: Setup with cache
uses: ./
with:
enable-cache: true
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
cache-local-path: /tmp/uv-cache
- run: uv sync
working-directory: __tests__/fixtures/uv-project
test-restore-cache-local:
runs-on: selfhosted-ubuntu-arm64
runs-on: oracle-aarch64
needs: test-setup-cache-local
steps:
- uses: actions/checkout@v4
@@ -111,7 +110,7 @@ jobs:
uses: ./
with:
enable-cache: true
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}-test-setup-cache-local
cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }}
cache-local-path: /tmp/uv-cache
- name: Cache was hit
run: |
@@ -122,49 +121,3 @@ jobs:
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
- run: uv sync
working-directory: __tests__/fixtures/uv-project
test-tilde-expansion-cache-local-path:
runs-on: selfhosted-ubuntu-arm64
steps:
- uses: actions/checkout@v4
- name: Create cache directory
run: mkdir -p ~/uv-cache
shell: bash
- name: Setup with cache
uses: ./
with:
cache-local-path: ~/uv-cache/cache-local-path
- run: uv sync
working-directory: __tests__/fixtures/uv-project
test-tilde-expansion-cache-dependency-glob:
runs-on: selfhosted-ubuntu-arm64
steps:
- uses: actions/checkout@v4
- name: Create cache directory
run: mkdir -p ~/uv-cache
shell: bash
- name: Create cache dependency glob file
run: touch ~/uv-cache.glob
shell: bash
- name: Setup with cache
uses: ./
with:
enable-cache: true
cache-local-path: ~/uv-cache/cache-dependency-glob
cache-dependency-glob: "~/uv-cache.glob"
- run: uv sync
working-directory: __tests__/fixtures/uv-project
cleanup-tilde-expansion-tests:
needs:
- test-tilde-expansion-cache-local-path
- test-tilde-expansion-cache-dependency-glob
runs-on: selfhosted-ubuntu-arm64
steps:
- name: Remove cache directory
run: rm -rf ~/uv-cache
shell: bash
- name: Remove cache dependency glob file
run: rm -f ~/uv-cache.glob
shell: bash

View File

@@ -28,7 +28,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, macos-14, selfhosted-ubuntu-arm64]
os: [ubuntu-latest, macos-latest, macos-14, oracle-aarch64]
steps:
- uses: actions/checkout@v4
- name: Install default version
@@ -39,7 +39,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, macos-14, selfhosted-ubuntu-arm64]
os: [ubuntu-latest, macos-latest, macos-14, oracle-aarch64]
uv-version: ["latest", "0.3.0", "0.3.2", "0.3", "0.3.x", ">=0.3.0"]
steps:
- uses: actions/checkout@v4
@@ -53,7 +53,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, selfhosted-ubuntu-arm64]
os: [ubuntu-latest, oracle-aarch64]
steps:
- uses: actions/checkout@v4
- name: Install version 0.3
@@ -72,14 +72,14 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, selfhosted-ubuntu-arm64]
os: [ubuntu-latest, oracle-aarch64]
checksum:
["4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd"]
exclude:
- os: selfhosted-ubuntu-arm64
- os: oracle-aarch64
checksum: "4d9279ad5ca596b1e2d703901d508430eb07564dc4d8837de9e2fca9c90f8ecd"
include:
- os: selfhosted-ubuntu-arm64
- os: oracle-aarch64
checksum: "e11b01402ab645392c7ad6044db63d37e4fd1e745e015306993b07695ea5f9f8"
steps:
- uses: actions/checkout@v4
@@ -109,38 +109,10 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
[
ubuntu-latest,
macos-latest,
macos-14,
windows-latest,
selfhosted-ubuntu-arm64,
]
os: [windows-latest]
steps:
- uses: actions/checkout@v4
- name: Install default version
uses: ./
- run: uv tool install ruff
- run: ruff --version
test-tilde-expansion-tool-dirs:
runs-on: selfhosted-ubuntu-arm64
steps:
- uses: actions/checkout@v4
- name: Setup with cache
uses: ./
with:
tool-bin-dir: "~/tool-bin-dir"
tool-dir: "~/tool-dir"
- name: "Check if tool dirs are expanded"
run: |
if ! echo "$PATH" | grep -q "/home/ubuntu/tool-bin-dir"; then
echo "PATH does not contain /home/ubuntu/tool-bin-dir: $PATH"
exit 1
fi
if [ "$UV_TOOL_DIR" != "/home/ubuntu/tool-dir" ]; then
echo "UV_TOOL_DIR does not contain /home/ubuntu/tool-dir: $UV_TOOL_DIR"
exit 1
fi

View File

@@ -17,7 +17,7 @@ jobs:
src/download/checksum/known-checksums.ts ${{ secrets.GITHUB_TOKEN }}
- run: npm install && npm run all
- name: Create Pull Request
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # v7.0.3
with:
commit-message: "chore: update known checksums"
title:

3
.prettierignore Normal file
View File

@@ -0,0 +1,3 @@
dist/
lib/
node_modules/

4
.prettierrc.json Normal file
View File

@@ -0,0 +1,4 @@
{
"trailingComma": "all",
"proseWrap": "always"
}

117
README.md
View File

@@ -18,12 +18,8 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
- [Enable Caching](#enable-caching)
- [Cache dependency glob](#cache-dependency-glob)
- [Local cache path](#local-cache-path)
- [Disable cache pruning](#disable-cache-pruning)
- [Ignore nothing to cache](#ignore-nothing-to-cache)
- [GitHub authentication token](#github-authentication-token)
- [UV_TOOL_DIR](#uv_tool_dir)
- [UV_TOOL_BIN_DIR](#uv_tool_bin_dir)
- [Tilde Expansion](#tilde-expansion)
- [How it works](#how-it-works)
- [FAQ](#faq)
@@ -43,7 +39,7 @@ For an example workflow, see
> [!TIP]
>
> Using `latest` requires to download the uv executable on every run, which incurs a cost
> Using `latest` requires that uv download the executable on every run, which incurs a cost
> (especially on self-hosted runners). As a best practice, consider pinning the version to a
> specific release.
@@ -58,27 +54,27 @@ For an example workflow, see
### Install a version by supplying a semver range
You can specify a [semver range](https://github.com/npm/node-semver?tab=readme-ov-file#ranges)
You can also specify a [semver range](https://github.com/npm/node-semver?tab=readme-ov-file#ranges)
to install the latest version that satisfies the range.
```yaml
- name: Install a semver range of uv
uses: astral-sh/setup-uv@v3
with:
version: ">=0.4.0"
version: ">=0.3.0"
```
```yaml
- name: Pinning a minor version of uv
uses: astral-sh/setup-uv@v3
with:
version: "0.4.x"
version: "0.3.x"
```
### Validate checksum
You can specify a checksum to validate the downloaded executable. Checksums up to the default version
are automatically verified by this action. The sha256 hashes can be found on the
You can also specify a checksum to validate the downloaded file. Checksums up to the default version
are automatically verified by this action. The sha265 hashes can be found on the
[releases page](https://github.com/astral-sh/uv/releases) of the uv repo.
```yaml
@@ -91,8 +87,8 @@ are automatically verified by this action. The sha256 hashes can be found on the
### Enable caching
If you enable caching, the [uv cache](https://docs.astral.sh/uv/concepts/cache/) will be uploaded to
the GitHub Actions cache. This can speed up runs that reuse the cache by several minutes.
If you enable caching, the [uv cache](https://docs.astral.sh/uv/concepts/cache/) will be cached to
the GitHub Actions Cache. This can speed up runs that reuse the cache by several minutes.
> [!TIP]
>
@@ -121,9 +117,9 @@ use it in subsequent steps. For example, to use the cache in the above case:
#### Cache dependency glob
If you want to control when the GitHub Actions cache is invalidated, specify a glob pattern with the
`cache-dependency-glob` input. The GitHub Actions cache will be invalidated if any file matching the glob pattern
changes. If you use relative paths, they are relative to the repository root.
If you want to control when the cache is invalidated, specify a glob pattern with the
`cache-dependency-glob` input. The cache will be invalidated if any file matching the glob pattern
changes. The glob matches files relative to the repository root.
> [!NOTE]
>
@@ -147,14 +143,6 @@ changes. If you use relative paths, they are relative to the repository root.
**/pyproject.toml
```
```yaml
- name: Define an absolute cache dependency glob
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
cache-dependency-glob: "/tmp/my-folder/requirements*.txt"
```
```yaml
- name: Never invalidate the cache
uses: astral-sh/setup-uv@v3
@@ -165,10 +153,8 @@ changes. If you use relative paths, they are relative to the repository root.
### Local cache path
This action controls where uv stores its cache on the runner's filesystem by setting `UV_CACHE_DIR`.
It defaults to `setup-uv-cache` in the `TMP` dir, `D:\a\_temp\uv-tool-dir` on Windows and
`/tmp/setup-uv-cache` on Linux/macOS. You can change the default by specifying the path with the
`cache-local-path` input.
This action controls where uv stores its cache on the runner's filesystem. You can change the
default (`/tmp/setup-uv-cache`) by specifying the path with the `cache-local-path` input.
```yaml
- name: Define a custom uv cache path
@@ -177,39 +163,6 @@ It defaults to `setup-uv-cache` in the `TMP` dir, `D:\a\_temp\uv-tool-dir` on Wi
cache-local-path: "/path/to/cache"
```
### Disable cache pruning
By default, the uv cache is pruned after every run, removing pre-built wheels, but retaining any
wheels that were built from source. On GitHub-hosted runners, it's typically faster to omit those
pre-built wheels from the cache (and instead re-download them from the registry on each run).
However, on self-hosted or local runners, preserving the cache may be more efficient. See
the [documentation](https://docs.astral.sh/uv/concepts/cache/#caching-in-continuous-integration) for
more information.
If you want to persist the entire cache across runs, disable cache pruning with the `prune-cache`
input.
```yaml
- name: Don't prune the cache before saving it
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
prune-cache: false
```
### Ignore nothing to cache
By default, the action will fail if there is nothing to cache (the uv cache directory does not exist).
If you want to ignore this, set the `ignore-nothing-to-cache` input to `true`.
```yaml
- name: Ignore nothing to cache
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
ignore-nothing-to-cache: true
```
### GitHub authentication token
This action uses the GitHub API to fetch the uv release artifacts. To avoid hitting the GitHub API
@@ -227,29 +180,10 @@ are not sufficient, you can provide a custom GitHub token with the necessary per
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
```
### UV_TOOL_DIR
On Windows `UV_TOOL_DIR` is set to `uv-tool-dir` in the `TMP` dir (e.g. `D:\a\_temp\uv-tool-dir`).
On GitHub hosted runners this is on the much faster `D:` drive.
On all other platforms the tool environments are placed in the
[default location](https://docs.astral.sh/uv/concepts/tools/#tools-directory).
If you want to change this behaviour (especially on self-hosted runners) you can use the `tool-dir`
input:
```yaml
- name: Install the latest version of uv with a custom tool dir
uses: astral-sh/setup-uv@v3
with:
tool-dir: "/path/to/tool/dir"
```
### UV_TOOL_BIN_DIR
On Windows `UV_TOOL_BIN_DIR` is set to `uv-tool-bin-dir` in the `TMP` dir (e.g.
`D:\a\_temp\uv-tool-bin-dir`). On GitHub hosted runners this is on the much faster `D:` drive. This
path is also automatically added to the PATH.
On Windows `UV_TOOL_BIN_DIR` is set to the `TMP` dir. On GitHub hosted runners this is on the much
faster `D:` drive. This path is also automatically added to the PATH.
On all other platforms the tool binaries get installed to the
[default location](https://docs.astral.sh/uv/concepts/tools/#the-bin-directory).
@@ -261,26 +195,7 @@ If you want to change this behaviour (especially on self-hosted runners) you can
- name: Install the latest version of uv with a custom tool bin dir
uses: astral-sh/setup-uv@v3
with:
tool-bin-dir: "/path/to/tool-bin/dir"
```
### Tilde Expansion
This action supports expanding the `~` character to the user's home directory for the following inputs:
- `cache-local-path`
- `tool-dir`
- `tool-bin-dir`
- `cache-dependency-glob`
```yaml
- name: Expand the tilde character
uses: astral-sh/setup-uv@v3
with:
cache-local-path: "~/path/to/cache"
tool-dir: "~/path/to/tool/dir"
tool-bin-dir: "~/path/to/tool-bin/dir"
cache-dependency-glob: "~/my-cache-buster"
tool-bin-dir: "/path/to/tool/bin"
```
## How it works

View File

@@ -29,15 +29,6 @@ inputs:
cache-local-path:
description: "Local path to store the cache."
default: ""
prune-cache:
description: "Prune cache before saving."
default: "true"
ignore-nothing-to-cache:
description: "Ignore when nothing is found to cache."
default: "false"
tool-dir:
description: "Custom path to set UV_TOOL_DIR to."
required: false
tool-bin-dir:
description: "Custom path to set UV_TOOL_BIN_DIR to."
required: false

View File

@@ -1,31 +0,0 @@
{
"$schema": "https://biomejs.dev/schemas/1.9.2/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": false
},
"files": {
"ignoreUnknown": false,
"ignore": ["dist", "lib", "node_modules"]
},
"formatter": {
"enabled": true,
"indentStyle": "space"
},
"organizeImports": {
"enabled": true
},
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"javascript": {
"formatter": {
"quoteStyle": "double",
"trailingCommas": "all"
}
}
}

3988
dist/save-cache/index.js generated vendored

File diff suppressed because one or more lines are too long

4569
dist/setup/index.js generated vendored

File diff suppressed because one or more lines are too long

2518
dist/update-known-checksums/index.js generated vendored

File diff suppressed because one or more lines are too long

6343
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -6,9 +6,9 @@
"main": "dist/index.js",
"scripts": {
"build": "tsc",
"format": "biome format --fix",
"format-check": "biome format",
"lint": "biome lint --fix",
"format": "prettier --write .",
"format-check": "prettier --check .",
"lint": "eslint src/**/*.ts --fix",
"package": "ncc build -o dist/setup src/setup-uv.ts && ncc build -o dist/save-cache src/save-cache.ts && ncc build -o dist/update-known-checksums src/update-known-checksums.ts",
"test": "jest",
"act": "act pull_request -W .github/workflows/test.yml --container-architecture linux/amd64 -s GITHUB_TOKEN=\"$(gh auth token)\"",
@@ -19,12 +19,17 @@
"type": "git",
"url": "git+https://github.com/astral-sh/setup-uv.git"
},
"keywords": ["actions", "python", "setup", "uv"],
"keywords": [
"actions",
"python",
"setup",
"uv"
],
"author": "@eifinger",
"license": "MIT",
"dependencies": {
"@actions/cache": "^3.3.0",
"@actions/core": "^1.11.1",
"@actions/cache": "^3.2.4",
"@actions/core": "^1.10.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^6.0.0",
"@actions/glob": "^0.5.0",
@@ -33,13 +38,20 @@
"@octokit/rest": "^21.0.2"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.9.1",
"@types/node": "^22.5.5",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.3",
"@typescript-eslint/eslint-plugin": "^7.15.0",
"@typescript-eslint/parser": "^7.18.0",
"@vercel/ncc": "^0.38.1",
"eslint": "^8.57.1",
"eslint-plugin-github": "^5.0.2",
"eslint-plugin-import": "^2.30.0",
"eslint-plugin-jest": "^28.8.3",
"eslint-plugin-prettier": "^5.2.1",
"jest": "^29.7.0",
"js-yaml": "^4.1.0",
"prettier": "^3.3.3",
"ts-jest": "^29.2.5",
"typescript": "^5.6.3"
"typescript": "^5.6.2"
}
}

View File

@@ -1,4 +1,5 @@
import * as cache from "@actions/cache";
import * as glob from "@actions/glob";
import * as core from "@actions/core";
import {
cacheDependencyGlob,
@@ -6,7 +7,6 @@ import {
cacheSuffix,
} from "../utils/inputs";
import { getArch, getPlatform } from "../utils/platforms";
import { hashFiles } from "../hash/hash-files";
export const STATE_CACHE_KEY = "cache-key";
export const STATE_CACHE_MATCHED_KEY = "cache-matched-key";
@@ -39,10 +39,15 @@ async function computeKeys(version: string): Promise<string> {
core.info(
`Searching files using cache dependency glob: ${cacheDependencyGlob.split("\n").join(",")}`,
);
cacheDependencyPathHash += await hashFiles(cacheDependencyGlob, true);
cacheDependencyPathHash += await glob.hashFiles(
cacheDependencyGlob,
undefined,
undefined,
true,
);
if (cacheDependencyPathHash === "-") {
throw new Error(
`No file matched to [${cacheDependencyGlob.split("\n").join(",")}], make sure you have checked out the target repository`,
`No file in ${process.cwd()} matched to [${cacheDependencyGlob.split("\n").join(",")}], make sure you have checked out the target repository`,
);
}
} else {

View File

@@ -1,9 +1,9 @@
import * as fs from "node:fs";
import * as crypto from "node:crypto";
import * as fs from "fs";
import * as crypto from "crypto";
import * as core from "@actions/core";
import { KNOWN_CHECKSUMS } from "./known-checksums";
import type { Architecture, Platform } from "../../utils/platforms";
import { Architecture, Platform } from "../../utils/platforms";
export async function validateChecksum(
checkSum: string | undefined,
@@ -12,11 +12,11 @@ export async function validateChecksum(
platform: Platform,
version: string,
): Promise<void> {
let isValid: boolean | undefined = undefined;
let isValid = true;
if (checkSum !== undefined && checkSum !== "") {
isValid = await validateFileCheckSum(downloadPath, checkSum);
} else {
core.debug("Checksum not provided. Checking known checksums.");
core.debug(`Checksum not provided. Checking known checksums.`);
const key = `${arch}-${platform}-${version}`;
if (key in KNOWN_CHECKSUMS) {
const knownChecksum = KNOWN_CHECKSUMS[`${arch}-${platform}-${version}`];
@@ -27,12 +27,10 @@ export async function validateChecksum(
}
}
if (isValid === false) {
if (!isValid) {
throw new Error(`Checksum for ${downloadPath} did not match ${checkSum}.`);
}
if (isValid === true) {
core.debug(`Checksum for ${downloadPath} is valid.`);
}
core.debug(`Checksum for ${downloadPath} is valid.`);
}
async function validateFileCheckSum(

View File

@@ -1,869 +1,5 @@
// AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"undefined-0.5.4":
"10c2c0f34d520fa39cde9e9941c23facc01682c44621b407c3bca0d685d1e0bf",
"aarch64-apple-darwin-0.5.4":
"f924d82255a0b25fd04a78c7012f90300cdadfb72ca0af4508f3eeaf9509010f",
"aarch64-unknown-linux-gnu-0.5.4":
"7a1d505fa5c8425b0391398a49efc747836fcfbb7df82d1cc5b2a048c5d79ccb",
"aarch64-unknown-linux-musl-0.5.4":
"3efc0e33d6f6f2c9e6b6567c713f4a02bf21339ca850465983997fd18fbc1bf8",
"arm-unknown-linux-musleabihf-0.5.4":
"6033792a905d9fd4159a7e932a65a730920c2b7d706bd7ee24cf67db5ee0b0b2",
"armv7-unknown-linux-gnueabihf-0.5.4":
"f650b2c618c77a535e32d9594ac07f60019f338bb9c244d13f75579851d9b8e7",
"armv7-unknown-linux-musleabihf-0.5.4":
"55267162c22bd10ac1f6a45e6417be776eb7b3246403eb302c508f2311b37f24",
"i686-pc-windows-msvc-0.5.4":
"357ecb0b64de0e0c4ddb9d30818d8569a1b524df115aed181ade34f96cde9dfd",
"i686-unknown-linux-gnu-0.5.4":
"07cd53252ac1a95e5639cd5bc40b09236ac6d314f26d3de83df44a581c357ed9",
"i686-unknown-linux-musl-0.5.4":
"5489b2207e2a6d44a9553bccb3eb93e87c92092abeee489799b5d412aa5d36ec",
"powerpc64-unknown-linux-gnu-0.5.4":
"1c5b0edc2e1c5195e110fc5c11c6e0b7d7e043264e9c6e18bbff114b4dae34da",
"powerpc64le-unknown-linux-gnu-0.5.4":
"99f357c6461ff687e13bd28f20d2115166a0d9de0f54c80eea2605cb30b03e19",
"powerpc64le-unknown-linux-musl-0.5.4":
"e9f5c4c25a3aea450c93b23fb0d09d69cd9355150cae965ae01be4fc799f4a90",
"s390x-unknown-linux-gnu-0.5.4":
"4a93135b8b1336fb6877da2b5426b4b42b4e0e2b8a23275d853fea0876e66c0d",
"x86_64-apple-darwin-0.5.4":
"f879864954b2229611155bb201088d0f09becf1436b0ec8707c8f560e98e9209",
"x86_64-pc-windows-msvc-0.5.4":
"db68a1850f156c89b82ecec359d09ba298fb1ce2a35dabc5072de458b175d8fb",
"x86_64-unknown-linux-gnu-0.5.4":
"c5b63d1cd0a894246195250c034f9d82d646dc8f718f1f424cec2bb1a42e7b17",
"x86_64-unknown-linux-musl-0.5.4":
"054016bcb6c7171feccd4234738d65727e67d39eddb500146edc779845b8846f",
"undefined-0.5.3":
"ee4a3027f0ddff52c89df8d37cba54b6c40cd320d6fdb6ef033c7f11a6918f56",
"aarch64-apple-darwin-0.5.3":
"634a7bd1250ab42a1b185789ceb733b7a186791eb78f995ecee283758abe44f6",
"aarch64-unknown-linux-gnu-0.5.3":
"bebf7c00cad982137346ed30b31d0d2de2868d5925f98fcdb950380b27cdee8f",
"aarch64-unknown-linux-musl-0.5.3":
"8a348779ea5b5698827ab0787dce9a9e6a16b7ac69beb9a7cb244e6aad8a8f1b",
"arm-unknown-linux-musleabihf-0.5.3":
"79ad77f1260fb6147c4f7ba6292c62b667e64e6e139343a1aaf0e75868ebf208",
"armv7-unknown-linux-gnueabihf-0.5.3":
"750037a75d9333365051afb0801a236bc07f7bbf28976abb1b0d77fb0dd7ccd7",
"armv7-unknown-linux-musleabihf-0.5.3":
"e143cbc82ed16fa19d92a9ef3117aee27f043f784d55f909f9796edb2887ab35",
"i686-pc-windows-msvc-0.5.3":
"fc10c2d9660893f0e8409742ac4af3767f04564b0be016dfd2088fe86c1427c7",
"i686-unknown-linux-gnu-0.5.3":
"5a9f5d61ce8906589b8bd399710f659dcabf2f52504533dc9c9a14d125492a5a",
"i686-unknown-linux-musl-0.5.3":
"517182e5cfc84fe9d7bfe5bd2d49ea9aff9ffa5ab279ae744dc796771118e594",
"powerpc64-unknown-linux-gnu-0.5.3":
"c21e205404b9613b9cfcd82cb84222dc71d4f4534bef822c7306b44847ff7842",
"powerpc64le-unknown-linux-gnu-0.5.3":
"b68f0f2a1a3a90808fbf0f82d09ad50857b430eaa7b086982824af040f13bda8",
"powerpc64le-unknown-linux-musl-0.5.3":
"c2621d3b9db558147c3290a15c1968d016a236147c122a2540eff7c5970883f7",
"s390x-unknown-linux-gnu-0.5.3":
"f18ce59914e4d4a8e51e4fd13b6f0f2c57eb6d529abbb7d90c355bb0fb867dc8",
"x86_64-apple-darwin-0.5.3":
"f4b4f2b24b8f91704a4d821ac0ca4262de3d64bb15c3090cab549834bdf77753",
"x86_64-pc-windows-msvc-0.5.3":
"146e5d6305b6f3c1a4d87d344bee80c2aea5439f9a540365e940b1b54caa20c2",
"x86_64-unknown-linux-gnu-0.5.3":
"ba8828266c79c299ca24a1d9f2f78172667254d0f8ff07e24e1735d50c03d9b7",
"x86_64-unknown-linux-musl-0.5.3":
"73b06fce21772d1c279d33bf53fa2f69c1ed9f929b5b06b14405bbf7244394fc",
"undefined-0.5.2":
"60465d87552cd6febfdee8c58176d699e00d5549f2d35db3261ec5a113996099",
"aarch64-apple-darwin-0.5.2":
"b4dc200d88ee9a8c9c3d5c755d9641fdf0e22b7d77239b4eeda08f204571f871",
"aarch64-unknown-linux-gnu-0.5.2":
"e118c53908dc5baf779319129ed93ac783796fbe0b8416db03066877f0425ee6",
"aarch64-unknown-linux-musl-0.5.2":
"4de0933b3a2dbdbf0bc17579ddda21e13d1a2cd6dfbc644e45ddab558f45e827",
"arm-unknown-linux-musleabihf-0.5.2":
"926a0f6effd0439360fef7a6726320f0a5212da2259e68046882d4f32e69e933",
"armv7-unknown-linux-gnueabihf-0.5.2":
"01e9c31b32f894b8e7b500991dfb35ed7f110d4c91ee9b2ead5f0408d8d91df5",
"armv7-unknown-linux-musleabihf-0.5.2":
"b099de4fa747ea34f3f96122906143bf48de4c1c2529348e0651c95b53a0eea4",
"i686-pc-windows-msvc-0.5.2":
"66e5934ee5f384270c39e54e5833411dca0c07f8e972d29e6c3c3e87fa53b9a8",
"i686-unknown-linux-gnu-0.5.2":
"c91111b470608555c3ed4dc140071d7b041be7fd4a3328cf5ed2ffc5b011b024",
"i686-unknown-linux-musl-0.5.2":
"ce67a80b31785268e7252521565b8aca7db8cf7d2f5b4a712a3173d919ad6e33",
"powerpc64-unknown-linux-gnu-0.5.2":
"ca6c5dd9f02dbf97b0dce1005ff299632a36a9bc28dd343f26a5ae7aaae4d778",
"powerpc64le-unknown-linux-gnu-0.5.2":
"2c60b1537b82c0c873ca0666b69452775566c4519a85efab51f47e2e3e59841a",
"powerpc64le-unknown-linux-musl-0.5.2":
"14126a436daf913c86fad68e13db002e7c92ced381a72e8f2df186c1a729a9cf",
"s390x-unknown-linux-gnu-0.5.2":
"cad1e4ad85f29fc73ec8fe79b1c0498fdea8e0071e38ecacb953633f1b553c71",
"x86_64-apple-darwin-0.5.2":
"00bf6b346cc8fcf57df7653f48fc4bad1b47c6024f75e96e32e3193e9bc8ff73",
"x86_64-pc-windows-msvc-0.5.2":
"0e97899b5c800da39730d3a612d8359ad2f346bdea540f973fa6c6ad17129a17",
"x86_64-unknown-linux-gnu-0.5.2":
"d2d9d4b9ce536ab7ebb09d33629694385a3ebb72d156ae0b4dd28c9b6f6cbd13",
"x86_64-unknown-linux-musl-0.5.2":
"61c386972ce13850cf20308de0be98a056d932e58d4154d1aec663714ac57067",
"undefined-0.5.1":
"bdb7aa8f79ea3af27b1c618901fda6a622ae67700195f4c351085fa868c0c3d5",
"aarch64-apple-darwin-0.5.1":
"240bc4dc0d424ce652746ea030e61798c07e3d22426c0e0fb46d1b408078df91",
"aarch64-unknown-linux-gnu-0.5.1":
"aab7f31071c548e3ce64de5f622494f8d8679ef838d5b07e53e74399d14ee79f",
"aarch64-unknown-linux-musl-0.5.1":
"f7b2b4dfb45d6a6c1b98ce1b40b0a3b67b72263f5f722fc8b452d340325fd169",
"arm-unknown-linux-musleabihf-0.5.1":
"0205c18b606dd9e496bd664190ab380da27cedb09a84857367431c48bec71c82",
"armv7-unknown-linux-gnueabihf-0.5.1":
"f91a59e1fbd3f913464841afd6d7a65b570b2e9255e8df0b36866a8ccbe82833",
"armv7-unknown-linux-musleabihf-0.5.1":
"6285fc7f9c3c6872c55846fe57c643e47ba8fabf3c8be825ccbbd373369dba5c",
"i686-pc-windows-msvc-0.5.1":
"7b0d716352f36730b3bdd40e1785e5e0299a2fa84929537c69f0b7ad9a1040e7",
"i686-unknown-linux-gnu-0.5.1":
"db2950f841070db17192fbba149aebfe64f4087eb6ba842974a03ee12c66fddb",
"i686-unknown-linux-musl-0.5.1":
"bac54f3c4afc0508fc91d03091dbce87efc8ab30e8d6ed2fcb7b9fc23533d040",
"powerpc64-unknown-linux-gnu-0.5.1":
"40c415fa19fbaa4fe7452bea6248a381cc509c43eb25aa77b1d207b4d201987a",
"powerpc64le-unknown-linux-gnu-0.5.1":
"1ce2764b411864597309fc331a31009dfb44abdd5ce767b83e4fa8208b9a7a9a",
"powerpc64le-unknown-linux-musl-0.5.1":
"44239fdc81cd3eaf510683009aea1728cd7f647aea8b5901fa6e17071e77cbfa",
"s390x-unknown-linux-gnu-0.5.1":
"362fbe64935721239c7e75e96ad1b313b30a2fc13b4a87470a5ff040c883bf2c",
"x86_64-apple-darwin-0.5.1":
"817c11ee1808a775290d694c28090e032076be2c97e04c3fb7d5563a2aa52041",
"x86_64-pc-windows-msvc-0.5.1":
"3dcb47a9334d7527e402eba8ba5aae3a62c77cddc3ce400f57fe2a40a621000d",
"x86_64-unknown-linux-gnu-0.5.1":
"942e29ff6769b096c7c99e9c3b1c08276869667d0d5d6121852dd9b9d875b3f3",
"x86_64-unknown-linux-musl-0.5.1":
"c446a98876ed86c810a80621a43e2378c35f39794020f8de99da72b003b17dd5",
"undefined-0.5.0":
"2a5a63a6d7ddc2413c2f31e17d841b6d9b0815825f6e72789b7b9b405f5dacf5",
"aarch64-apple-darwin-0.5.0":
"400f1e87d211af5ba4c412984b6d0e1e885cae480ee37cab58b5fabe9f9539c5",
"aarch64-unknown-linux-gnu-0.5.0":
"ae2832e4e4cc923cdc62072eb23eab784be10450d6c1f10da58a24a3d552aa46",
"aarch64-unknown-linux-musl-0.5.0":
"f49e979a2d64de50006951f15eb303524548a40c240b111acf3bf422abba7aa8",
"arm-unknown-linux-musleabihf-0.5.0":
"9d77d34abbae1e77fdeb022dffc3dc736ddb193e2fd5e99068d16ebd0583b7ef",
"armv7-unknown-linux-gnueabihf-0.5.0":
"e18fd84a30b89da3d850c003381b7946ac9a2c10e097206883c6f3d041a8b4ab",
"armv7-unknown-linux-musleabihf-0.5.0":
"e1ccf1342253f5124442981b1fd01e8715a6ae20932370b8ebb4ddae06dd0003",
"i686-pc-windows-msvc-0.5.0":
"288a13a986ac78c6f6a8b303b537e5eafc0501aab77249b2724484fa6ffae21f",
"i686-unknown-linux-gnu-0.5.0":
"2edca509d6a57d07ad4b755cd992e4733531954374b7220c5795fcdef267af71",
"i686-unknown-linux-musl-0.5.0":
"509a326cff65ca2fcf467b117ecb30c689b98ed35f79542fd358b44958fd7aa3",
"powerpc64-unknown-linux-gnu-0.5.0":
"be94c615d8767f174beaf354fdb3fa3374bddb4ff88b8c157ce3c9e648ce4f95",
"powerpc64le-unknown-linux-gnu-0.5.0":
"04c5883f4f4f1bcdfee452db51e97e00a2fbdc5abfd20a080aede481e7478743",
"powerpc64le-unknown-linux-musl-0.5.0":
"4d8b6b581344d4ebd3fa3cb7c144e62be6671c62eca6f1dee8e799f0daf23707",
"s390x-unknown-linux-gnu-0.5.0":
"68bb232360d081407674f740460071c6c34567dda0ff1782eb352ff7ca437b8f",
"x86_64-apple-darwin-0.5.0":
"e0b64fb827ad2d93e0bf5fc508c38a9c6cdd295949f66efee92448c89a786913",
"x86_64-pc-windows-msvc-0.5.0":
"47ce6713934f9c692a2051551e04cc9d63ee2e418f4179dd3ec8545b5cc22cb3",
"x86_64-unknown-linux-gnu-0.5.0":
"e8f8c7e55ef2dfb0b57faba265faeb5049e30b9065a38e2a4fef89d6f6a492d0",
"x86_64-unknown-linux-musl-0.5.0":
"a82a2e9c0cf4af58aa1f8d4a6f910c2d36abd38dd6d3315a6e11e7176c872a8d",
"undefined-0.4.30":
"f077365676f0ed0e2275bd55015ad32f381a9d8684559ce9ee4d0e3c84906a0a",
"aarch64-apple-darwin-0.4.30":
"5fb068be1d0c77d0829a0a611a470f74318f114c4dc8671cfaf1e606ab81e40a",
"aarch64-unknown-linux-gnu-0.4.30":
"1beafc7773f20dc89154a338d5d4cfda98a8004d40249fe040806c5780ecb33f",
"aarch64-unknown-linux-musl-0.4.30":
"c6b267c78d4dd2dc90853b4dd265d9508de2b454b20ef03bd242848d5994df9c",
"arm-unknown-linux-musleabihf-0.4.30":
"1a7f220167a49128b3dce0b96b3f71ec5c8b9eb4f85c9b520f0d849c0c55f348",
"armv7-unknown-linux-gnueabihf-0.4.30":
"18f4fcdc86a9c1cb6cf65aed94ac72e9cc9486b0aa4266dec75e332d65f14cdb",
"armv7-unknown-linux-musleabihf-0.4.30":
"589a642bf0d9c9ef98a3cabb67fe87a899ada28bb576a8d3d825d4088e74848b",
"i686-pc-windows-msvc-0.4.30":
"c809f327b9347e95d5743ff65538d31fff2ca2bd7a1504d3abe19641d66256bc",
"i686-unknown-linux-gnu-0.4.30":
"66b3193e64a97249f24b8f743957a65c8e28ffcb951d048e37067d4003604568",
"i686-unknown-linux-musl-0.4.30":
"550e5643bf396bcc6f5ef44bee1da0e8ac934fccbc4bb5c9d0a4642c55b15c5a",
"powerpc64-unknown-linux-gnu-0.4.30":
"134fa292c8a51520b9c5cc25a486d5420a2b902b40a27c172844bb1ae741b468",
"powerpc64le-unknown-linux-gnu-0.4.30":
"92e9e1c766108be851fbf7a6fb9e6152d98582d7cb32c1501ee088f524514815",
"powerpc64le-unknown-linux-musl-0.4.30":
"4f5c6b7eeabd81bf9a12cb4d709d9ababa89ab2ac2e53c765de50dce342b6f06",
"s390x-unknown-linux-gnu-0.4.30":
"b894d5f74d7b250805b12d0d241528023c611bc6331303ce4581c1518ba00cc9",
"x86_64-apple-darwin-0.4.30":
"a56b550c08e3315bfa450c134410bbe91318ae2f39a0ce2649b882a76cd9b601",
"x86_64-pc-windows-msvc-0.4.30":
"0a2315679441bb3f861b814fd3900a3f2bbf05d7f77eb43612371f9710f1feb4",
"x86_64-unknown-linux-gnu-0.4.30":
"5637be5d163ccdcb9f0fe625890d84bbc3596810320be1f56b53bb111edb5dd7",
"x86_64-unknown-linux-musl-0.4.30":
"f01c55c20eb356bfb7316020ec79d18ac2846ce2dd5bc68ef68858810ccac7c5",
"undefined-0.4.29":
"259a292505fe1dbb59de3018b44a0627880365d2076e53ab910536fe224dd7b7",
"aarch64-apple-darwin-0.4.29":
"0679dd093e97c1d8996caee91ce5aed76533f023fef639b281b2479574d22338",
"aarch64-unknown-linux-gnu-0.4.29":
"985f7909af497dce312fe57c6f34d8e7a213445ebb219dd002bc4f0b60261b2a",
"aarch64-unknown-linux-musl-0.4.29":
"5c052a5ffcfe3e9ebf42bd0af57c1be76842cee3aaec74c0c87d57882b53eb1e",
"arm-unknown-linux-musleabihf-0.4.29":
"39aa63a330bd6eb458965fed2dff31511c75ff3c9da17640f30742a7d698529d",
"armv7-unknown-linux-gnueabihf-0.4.29":
"4c515eab94b3c008ce4cbfb082f3f804827793495ab4d72b5643bfdfe582ce52",
"armv7-unknown-linux-musleabihf-0.4.29":
"28f0aef0e5b667c9e131345215915dde3e95e73f6c9c7fc06efd2df6efdf92e2",
"i686-pc-windows-msvc-0.4.29":
"3d22457614bd80280d385166da1e38e4e046610730be5e1a74e053b7ffc4a1ab",
"i686-unknown-linux-gnu-0.4.29":
"660736950f58bfbe2c2ed2427c93d54dd733f002dd6057e174ab906cb6d51488",
"i686-unknown-linux-musl-0.4.29":
"c4d398316eaaa0d9a024370d8e4694fbca4c8afb5d86911b612a823d1a2bdf08",
"powerpc64-unknown-linux-gnu-0.4.29":
"f256106ee2a69ac3b632e65f8d240b6f01f1150c98c343386d3729eaa580a7c0",
"powerpc64le-unknown-linux-gnu-0.4.29":
"a81f1c190562b372f081b630be7b459e66a151b1a18c09bfb1a1944b3a560cc1",
"powerpc64le-unknown-linux-musl-0.4.29":
"3fcfe1b5d0e6b4e81d852d0d60adcafe1e8c49f03e14cd9bec8607cef198fd80",
"s390x-unknown-linux-gnu-0.4.29":
"d55dc29f3b071cbb873a099144be6e498bf6961e5acf0d6f75e18791667574a4",
"x86_64-apple-darwin-0.4.29":
"3c0336e162707938b6b37d516522607128045f9cdd8443b5ff6434df4c66c97e",
"x86_64-pc-windows-msvc-0.4.29":
"5b7c6d0ee94a6b389fa289d09642352793dc972701a6ad50a73a02431f392e17",
"x86_64-unknown-linux-gnu-0.4.29":
"c755b97c0c555eb449538b6d8c7cc5555a5668f08ff23a300eb874277fa58668",
"x86_64-unknown-linux-musl-0.4.29":
"3b4030b5f4c0a57c5f2691db47c29c8e14d3712ea81dae0c7fdae0034ae1f353",
"undefined-0.4.28":
"cf9d32e161ada0695823066037e3ec3eae49ace36ddcf38020be06891b6c714a",
"aarch64-apple-darwin-0.4.28":
"ac75193926e6295ee0b8715296054b48b758f63fcf3732d8538c69140b9793f4",
"aarch64-unknown-linux-gnu-0.4.28":
"d7dcda636da601a9f5578e5448eb6de00f56a06e37bdb05d6669f91ed7191555",
"aarch64-unknown-linux-musl-0.4.28":
"a18f1d1a356bfa0b20b0218f5d83a05da38380b087ffe56ab82adbeb9ab5c1f1",
"arm-unknown-linux-musleabihf-0.4.28":
"2742349f37c96b0bbfecc6c4c240c17cfbbe247470cb2b3e2c18af05ccd4e795",
"armv7-unknown-linux-gnueabihf-0.4.28":
"2df2aced6e8fb601bfd0f0a17bc82c5d35d0117a9df8ef14ddef6693b8c38d48",
"armv7-unknown-linux-musleabihf-0.4.28":
"94c3960e02899e839d3fed43de61208281e3b81b72c4934172b369ef647660ee",
"i686-pc-windows-msvc-0.4.28":
"118bbc97bd416b63b0d49ed20f198ac3801bcd177598fa431f87fa30aac5c8b0",
"i686-unknown-linux-gnu-0.4.28":
"5bc1598815cc261b01d107252b653617b4e2601f5c27780cbfc2d8caaa26001a",
"i686-unknown-linux-musl-0.4.28":
"e80d6481943123fcc29f86dcdd723a3a3680dc0c3420010823016f1f7b572b0b",
"powerpc64-unknown-linux-gnu-0.4.28":
"91a7b40a678119451250126816b773dc73f3f54c8339e5693f28087214f2d3b0",
"powerpc64le-unknown-linux-gnu-0.4.28":
"b041d98ca978c09e4d957b9a55d997b63d8b9c97675b32c88e7973187aa9da7a",
"powerpc64le-unknown-linux-musl-0.4.28":
"7ad21951e1cdf66a9ca2402aaee294e0d62922b01049bc48132373c1d9500176",
"s390x-unknown-linux-gnu-0.4.28":
"b46121ac837af41fbeba0a1caabd62413a33a6f638a4650b3123385e92580d5f",
"x86_64-apple-darwin-0.4.28":
"445e3f3ef48725bfd838f7ce3163cd7757797186ea2c89f6d374e6fffe24cc8b",
"x86_64-pc-windows-msvc-0.4.28":
"8341760e108c8584c5d3ce4ff45d174cbb5f9ba5adf1a97c50af14f47f3b7699",
"x86_64-unknown-linux-gnu-0.4.28":
"fa0183aa09a410bec74c70f4e750ab6f9e91c152a452da4a06692938a3d5556d",
"x86_64-unknown-linux-musl-0.4.28":
"6c0317109500cd38cb27dfe1e8d0fad032caaab1afaa1062a7a9480606da6cac",
"undefined-0.4.27":
"6ebf2732b3c4af6c0d433258cd938c40193602ddccf4996a757e2d5392a6b22b",
"aarch64-apple-darwin-0.4.27":
"f2424efb16c5e646901a8c09b604e3cec3adfa871481c401947a4ae8476ae02f",
"aarch64-unknown-linux-gnu-0.4.27":
"474ec2797950ccb0ed7a7300a20d9b84e0af71cac48d24ed8dacb0ab3e8ffd73",
"aarch64-unknown-linux-musl-0.4.27":
"31a6aaa90b9948c1b738a0e30ae80f1e0d69938a7e76f5ef7d755d619547e7d8",
"arm-unknown-linux-musleabihf-0.4.27":
"7e2ad3c1a30580ec6e7065ac12737b8a078c81d30de54b24717ecfc6caa7b364",
"armv7-unknown-linux-gnueabihf-0.4.27":
"8b5b195913bfbcfe0cdfc013d6a3e073afbde347b68261c66d4fbb182ab5b073",
"armv7-unknown-linux-musleabihf-0.4.27":
"70bb9bc564fc88a4b76b55c6ec9c8e3e6a3f7cdcbb05affd93bed5e9bc26f71a",
"i686-pc-windows-msvc-0.4.27":
"5dd59d011bf19968628a25a76ff7e7d0ff5ed0b43ba1c6bc0e2ce960802048bf",
"i686-unknown-linux-gnu-0.4.27":
"23fd57db751b7e919ba72c0c38566ddab808447b74ab582cd80580733c781f65",
"i686-unknown-linux-musl-0.4.27":
"f21a27146c88107597440d79f3cc9c5d40a049b2e8241f11cdeafd0f74b91d70",
"powerpc64-unknown-linux-gnu-0.4.27":
"ed16a3983285267abe92309219694cf06f8711d217f9aa609638d756201a442a",
"powerpc64le-unknown-linux-gnu-0.4.27":
"ec0f343b330d380dca7808be3262d55c5559fdbc09abafcafc9ab2396fb108a3",
"powerpc64le-unknown-linux-musl-0.4.27":
"7fd1b021b807e255c7742e8a0b0ac6738742a6faedee16229f9cac6a27f3283d",
"s390x-unknown-linux-gnu-0.4.27":
"d6ec2c48705f0e3eb319cafcd3fe7265f7ad831a4ce9f75ccec2f45f2ee18cda",
"x86_64-apple-darwin-0.4.27":
"607810910c630333a6dca3e75257bc69ccaf0531febde41c00c7e7ac2b173d3d",
"x86_64-pc-windows-msvc-0.4.27":
"6ad21f2d42ff61740666133de00b6195bcb806780d08d7734d1ba1adad940700",
"x86_64-unknown-linux-gnu-0.4.27":
"5565ad9d050a08fef2951d28aef1372ccfe39ccd41dec6fea13167589baae087",
"x86_64-unknown-linux-musl-0.4.27":
"6b8233d4890b28575f3636f974d906089b9c4a6e9903ddfea257a2f16f3ca28a",
"undefined-0.4.26":
"5b36575a355193cb3dd3461e477ad7bfddf12d67d941f805caa4aaff52157491",
"aarch64-apple-darwin-0.4.26":
"42cdc5e7adad5348c8763ec3d57ef7972a25c034121d13424614b83849585303",
"aarch64-unknown-linux-gnu-0.4.26":
"3f4bd759d3c089b6db87b278642aac1a681ef22a0d413dc3d6da7afb0606649b",
"aarch64-unknown-linux-musl-0.4.26":
"8ce7ac4d93cf145b9d67642cb54f2311142fad62a59fadb7ca36ad68a3108f98",
"arm-unknown-linux-musleabihf-0.4.26":
"5fd4cf5be34a90eccfe0c86137a06be77b9e6355fbcd7581aa9a69c6de275568",
"armv7-unknown-linux-gnueabihf-0.4.26":
"e680cd84efd4f2b7ced6ff566afa8ab88e38c3bf33d66989f6ff905ff9cb1abf",
"armv7-unknown-linux-musleabihf-0.4.26":
"4decb4481b10fcf862ddbfb03f3dbf270652180086eb6dc40e36684f592daa49",
"i686-pc-windows-msvc-0.4.26":
"bd3599762172f1d321be22f1f788cf2a6b981123f53bc7aa5336901e31e9a9bd",
"i686-unknown-linux-gnu-0.4.26":
"4db90f578dffb5cd0017c5d4e77f01756961fccb1144e1770efea740af771532",
"i686-unknown-linux-musl-0.4.26":
"8b3a73585b3d7a868190f44373be62c38c05877e1636d467b68850a0b98a0930",
"powerpc64-unknown-linux-gnu-0.4.26":
"47d14be9be1c5b63518a3170acb9191bf4a8a39f4ee98e54c666b9384fe7a781",
"powerpc64le-unknown-linux-gnu-0.4.26":
"c65b94d17c4f06ca8d2d443851e9eff00a428a2dc147925fd5de1654fd1a9620",
"powerpc64le-unknown-linux-musl-0.4.26":
"220979e1f842263e00039d44a7f774f0d798a9ecd8e1a75187c8db192ea67b3d",
"s390x-unknown-linux-gnu-0.4.26":
"22bd9d010316bc78a0a2f5bf5c726dbac8c84df5856fa745621aaf1691d7a2fd",
"x86_64-apple-darwin-0.4.26":
"b424403d93939fa025b3f1dcc34f23b0676ad48d3c33c9486a4e55d095b8ad07",
"x86_64-pc-windows-msvc-0.4.26":
"1dfb521253945f381279d21b7c3f4e6539100a7fefdcd0bc7080668237575cd3",
"x86_64-unknown-linux-gnu-0.4.26":
"6fab73c9e2ea841852bc3c7157c1e49470ba62d1cde4af401436f13468b8d709",
"x86_64-unknown-linux-musl-0.4.26":
"c9dfe6a38354a85b3c4c4718703c23682c8cd7f5ad2e592458cb081b970f4c02",
"undefined-0.4.25":
"b3c707e3b7a21acb8e949dd7a0db524623df8beae7bca86708ecd5799f01a28c",
"aarch64-apple-darwin-0.4.25":
"bb2ff4348114ef220ca52e44d5086640c4a1a18f797a5f1ab6f8559fc37b1230",
"aarch64-unknown-linux-gnu-0.4.25":
"4485852eb8013530c4275cd222c0056ce123f92742321f012610f1b241463f39",
"aarch64-unknown-linux-musl-0.4.25":
"d08a7a8adfa7f1e7e6d427b9ab38b071a50dcf63a11b3cbfaaad9b8e68e69df6",
"arm-unknown-linux-musleabihf-0.4.25":
"31255c91483407ab20000a7e46d702aa1c83c886a7639aac1583d3b5ab77b563",
"armv7-unknown-linux-gnueabihf-0.4.25":
"789f18e18b0623e34dfdf9f1cf340d7c432eea575c00f87c0ed2a1004a4ca386",
"armv7-unknown-linux-musleabihf-0.4.25":
"09b8fc32bfbf8bd53251f46a6896f17e86ddb61ef96ee8249a541a73cc8742aa",
"i686-pc-windows-msvc-0.4.25":
"328e36c4a3e262e27f714d580d7f9e8eb9bfe66ed8c65cf9aaf63a6d44d3fa16",
"i686-unknown-linux-gnu-0.4.25":
"496bc5ba76a1d7fcb6fee2f3520333acb7fab6153f54059426e69d0f98db6bae",
"i686-unknown-linux-musl-0.4.25":
"e99caee76fa1e73fd335c164fbfd3bc3a5fcf1dace8a7c846b3707e6ede5222b",
"powerpc64-unknown-linux-gnu-0.4.25":
"b7a1aadea6eb9aa225404d4f9ee79982304864668a6ed4c9dbaed236fad55032",
"powerpc64le-unknown-linux-gnu-0.4.25":
"32421c61e8d497243171b28c7efd74f039251256ae9e57ce4a457fdd7d045e24",
"powerpc64le-unknown-linux-musl-0.4.25":
"57effa74e70011be0579a2d8e0590c636d43f4758c18e52b02c287f677c87be9",
"s390x-unknown-linux-gnu-0.4.25":
"9afa342d87256f5178a592d3eeb44ece8a93e9359db37e31be1b092226338469",
"x86_64-apple-darwin-0.4.25":
"f0ec1f79f4791294382bff242691c6502e95853acef080ae3f7c367a8e1beb6f",
"x86_64-pc-windows-msvc-0.4.25":
"c5c7fa084ae4e8ac9e3b0b6c4c7b61e9355eb0c86801c4c7728c0cb142701f38",
"x86_64-unknown-linux-gnu-0.4.25":
"6cb6eaf711cd7ce5fb1efaa539c5906374c762af547707a2041c9f6fd207769a",
"x86_64-unknown-linux-musl-0.4.25":
"2e19246cb4ac903b9bbe9b52b09de673885785dfe64e5faa818ac13c1e5dfa21",
"undefined-0.4.24":
"917be4e4e96ef555e2c739e3b91eac21b7df6f1b45d80e25fe4e50d1249d6846",
"aarch64-apple-darwin-0.4.24":
"69dbd88647d260dac051db11004f1e6438d1296da23cfec084a5ef9100e46c4b",
"aarch64-unknown-linux-gnu-0.4.24":
"6b2fc7cf361ee7075ddec6d2ba1d724fce887d2fd38014314357821fb52897cc",
"aarch64-unknown-linux-musl-0.4.24":
"887e1aa6e6b616894e273fe543879f4d1f117519275a1c224a3ef03499c54445",
"arm-unknown-linux-musleabihf-0.4.24":
"d43e56087c97b2f2c4bb58926f8c1092a6c653065b4644e21b2ae2b21811b3bf",
"armv7-unknown-linux-gnueabihf-0.4.24":
"7b41b20a13307100c88688e60048bfb5216e0967e884d9fbd3fb22d68d56a085",
"armv7-unknown-linux-musleabihf-0.4.24":
"d1ab37d51e333dac1191e1e7d5359d8405f5b2b05d257b2d5e4dc9dfa618d77a",
"i686-pc-windows-msvc-0.4.24":
"a2a05cecc1252a356528f912688e84fca768eead930082fafba39b1488115b09",
"i686-unknown-linux-gnu-0.4.24":
"0471c00736fd1d101b8d8fc3a73128833ad712e5cc113f3e955ebb79fde4d572",
"i686-unknown-linux-musl-0.4.24":
"735249b972407ea5a714863f1638e3d374b9a8270f1a81a5b1db5e1d59565a4e",
"powerpc64-unknown-linux-gnu-0.4.24":
"51e8aff9c901d57628d565a498c06df1baeec16e6efc0eb7b1cfc73809fcb564",
"powerpc64le-unknown-linux-gnu-0.4.24":
"c2e87f03900f7a386b2e5a541979943295cd44aa9e397854aa295b59a738172c",
"powerpc64le-unknown-linux-musl-0.4.24":
"9d29dfb1b7240fb1672f710cbbc30f59f2fdf52f764fac80bda00c2df7f6b92b",
"s390x-unknown-linux-gnu-0.4.24":
"fccc7c481c33f8f252fcdfaebde8313a6d7881d89e0af6b946b580097f800073",
"x86_64-apple-darwin-0.4.24":
"5cfe28aae1472d3e3dde8323d9351e53425bf56ade838318487b76cb97785684",
"x86_64-pc-windows-msvc-0.4.24":
"a990d2f067c7922493921662e403e9961733d159deb6393f05bf59fdd9e0b0cf",
"x86_64-unknown-linux-gnu-0.4.24":
"06bc8c7de34cedb1dcb6a32a2462b09f92984ceb9d6aec9035424c8fe30ca510",
"x86_64-unknown-linux-musl-0.4.24":
"1d06fbda8f87232acd7b315c1202925e44627821901c49d0920e9bbec34b09b8",
"undefined-0.4.23":
"f9ed8ea5f138e98a8c018112ca59ab82a2983a17738c9d3df577d975f22382a9",
"aarch64-apple-darwin-0.4.23":
"be5cdbdcba170a989f9be991d89277eb42eb3fdf9c020fa4d3ac4d3d292a74e8",
"aarch64-unknown-linux-gnu-0.4.23":
"8139b22b648085c1a89cb56aff05c7c081c544868f323bbd574c41423cc170da",
"aarch64-unknown-linux-musl-0.4.23":
"d35c4849fa12755749450593852859276c52f21a8e9d7457bf058bd84a1263dc",
"arm-unknown-linux-musleabihf-0.4.23":
"9ef3d377a543aa2c5ec4bed4c25327610852af09d9969cc65f2da337632d13d6",
"armv7-unknown-linux-gnueabihf-0.4.23":
"c01cbc3432500394f6c4709879011b499087d3cb37effd162cfca3d6250b72c2",
"armv7-unknown-linux-musleabihf-0.4.23":
"0d4c8eca6b22d062cdf761320d83835508f2504f352ab467e0e3a372d711e3e5",
"i686-pc-windows-msvc-0.4.23":
"640c5c5d23c0ce629a2f68fb1b6de447bcb35388dc9885a998b040b4c34327dd",
"i686-unknown-linux-gnu-0.4.23":
"5c30e7cd12fc1d3ea224a7aa3818cf614c809bb895bcb09e515ecee1bd1c3ee2",
"i686-unknown-linux-musl-0.4.23":
"2ba9a7fcc2a5b9521107dc3614d8cfbd526f195fbe5fb4749ce2ffd938e0fd77",
"powerpc64-unknown-linux-gnu-0.4.23":
"6ccb7bd0a45d6a4cab1ef58172df499676fbbdbca73c2bb1a6d8c3554507a8b9",
"powerpc64le-unknown-linux-gnu-0.4.23":
"c43e004c7cb8b1db4eeb7f751d811e11c9b799c31e2beef239342c5b007e3e2e",
"powerpc64le-unknown-linux-musl-0.4.23":
"fab6d53a945bfd03e738a636f5f2e323c0eeaee12d3c4c8b455e3d95e458a24f",
"s390x-unknown-linux-gnu-0.4.23":
"cd6461ece4c0627890a4f71487dcd538706fc5535c636eaa7cb6908752839d10",
"x86_64-apple-darwin-0.4.23":
"48679f4185aee4f844515a93e22ed9a9dfc9c18356ecd7547d2ddddbb446bce5",
"x86_64-pc-windows-msvc-0.4.23":
"906b19adc9cd7c47e6bd50e5f68e2e64ebc7abaeee90e44e97e560d9bc01a677",
"x86_64-unknown-linux-gnu-0.4.23":
"337d693e4700d7b963ee35ecf12572d2d7f97507bbc151a671eee12e91fcc994",
"x86_64-unknown-linux-musl-0.4.23":
"4545997b54bf405f5dcb2379b4b3c0e1d0bb930e198733f7b8325598a8e95cbf",
"undefined-0.4.22":
"1d72ea82b337c767e2ba5c3ffa11cfccdca99321ab1dca3d4c035f8d52d7ad47",
"aarch64-apple-darwin-0.4.22":
"a58779b2009926745cabbe075ab16824dec53e1ff635a47a43115f6b95fda607",
"aarch64-unknown-linux-gnu-0.4.22":
"bf0f5249da890474c216856e8e4de2a24c33b8a8cc3b5df058f10a38c6f5b234",
"aarch64-unknown-linux-musl-0.4.22":
"4951dd9e5b5fda712db5f30bb76fad4701a85cd8e6dab61d7a78acf040f4c211",
"arm-unknown-linux-musleabihf-0.4.22":
"78de0183e9e7ca4f37a3ab8bed199b07273f010eba95e4e80af07b7717be2f14",
"armv7-unknown-linux-gnueabihf-0.4.22":
"09cb6ed3e3d3ea4ecd7c51a784cdbde920b7bb749cf91589866ecc914910a677",
"armv7-unknown-linux-musleabihf-0.4.22":
"5707dee00cb3b998ca8fe085fd90e19e8e5cf845840a04bebe7636eb75b636c6",
"i686-pc-windows-msvc-0.4.22":
"818250c85496f54f6b703ced9a8e78ac518fb9137eba657e60bfff4a27b28574",
"i686-unknown-linux-gnu-0.4.22":
"57e9465238723814f5f5f78c164bc3f80d7741fc96d3bfcc89b11ccd89cfedec",
"i686-unknown-linux-musl-0.4.22":
"15e2f00e96a12ff5554b86be6a549335d9b1ec8599984daa582c269b2b18ba9e",
"powerpc64-unknown-linux-gnu-0.4.22":
"e9308e5e2e856a28c3080792d93ff8528130ecf327719a19651f8da130779800",
"powerpc64le-unknown-linux-gnu-0.4.22":
"61ff11a99f31036883ce6d1185b7cb3e49b7d37ab79764fecbb7cb11749b01e1",
"powerpc64le-unknown-linux-musl-0.4.22":
"d8f3c7e3a4348816eac7208d40ad4c560f1739b3a34f274b1e50ba7f7f4668ee",
"s390x-unknown-linux-gnu-0.4.22":
"26d737cfafdde8f2a3588915cf2ec4f2a448f03b83f7f15b6f561820a3ecefd2",
"x86_64-apple-darwin-0.4.22":
"90185ec1b8d67cd15e6342a9c82dd404381f42f37ab9721abcfa028034441fc0",
"x86_64-pc-windows-msvc-0.4.22":
"709ab9ccf3958131ad2fac4590ebf005f9dbffb43d801d489492b654f321e49f",
"x86_64-unknown-linux-gnu-0.4.22":
"11c3b92be7b0a72d1b3fe0140485a55ab581ea11e5f61baf9975a89c6d70018f",
"x86_64-unknown-linux-musl-0.4.22":
"4e89a6a01caab6eec0490c8dc47079aaac086ad1723e00ba2b6f2536d8ffd561",
"undefined-0.4.21":
"045d90f82f97e136d29439b20cb0bc910e312e77a2e674350a321fe7a0474ccb",
"aarch64-apple-darwin-0.4.21":
"a7e40398954d45c58573bfd79eb2cb4c329552d50101b519c3477ef525ffa8bb",
"aarch64-unknown-linux-gnu-0.4.21":
"52db7b44b57d904ae336610c5c857087a80cd4ad8e7d30784ca06ce70dc5061e",
"aarch64-unknown-linux-musl-0.4.21":
"1a0f764fbed8b76b7aaf8d866844bca62645b8aaf257d89ef332f4ec17a0dfff",
"arm-unknown-linux-musleabihf-0.4.21":
"b0b0caf931b94e740c68de80ad0c9310fb85e06d0268ed2ffd6ef0a7c5afa836",
"armv7-unknown-linux-gnueabihf-0.4.21":
"2c05350217b3045d010df11758a36f23f17e51594c10533c0d3f0b42a3bf8e29",
"armv7-unknown-linux-musleabihf-0.4.21":
"93a1960fe8edb2ea720615a0c544877bd9e1ce24ac12fb0015c0b38aed09b640",
"i686-pc-windows-msvc-0.4.21":
"f170a08e146cd9c7beb17041e23affc3f379fe39ab8c7035891275cf10e4cda8",
"i686-unknown-linux-gnu-0.4.21":
"29d805ff63e8a31a0e42d50914d8ed714bbbe1148ebd0cf94cdeb62f5c6522c0",
"i686-unknown-linux-musl-0.4.21":
"ed1ba4f8216bcf14ff7f2592fcd4c0c75a88841f2703ba36713f2495b27f0fe3",
"powerpc64-unknown-linux-gnu-0.4.21":
"56cd5bae87ce3c7eb8c8dd678689def06facb8ca5dd91a35a037cafa74b9c761",
"powerpc64le-unknown-linux-gnu-0.4.21":
"9dfa72df994379a8670c9a108f4e9526efc6aaba246168636047f4b3b1466a97",
"powerpc64le-unknown-linux-musl-0.4.21":
"dccd70ddf999f5efc425cba92a7fc3aa423b750d6d46d35902e565bd1c8c22e0",
"s390x-unknown-linux-gnu-0.4.21":
"37c0ca423f7d3fbc708fc6331c62805dbebafb883a9d1360ef9254c2169052cd",
"x86_64-apple-darwin-0.4.21":
"21e3144995d3f8fb44bda6ed859fe0d3dd0d2de0d33a13beb37bb2d99f094057",
"x86_64-pc-windows-msvc-0.4.21":
"9ac448e5406e2e187cfe9b60b767985e1e7d25d479fe39ef7f0423edc2c08939",
"x86_64-unknown-linux-gnu-0.4.21":
"2fb2fd070b27f2ea741fafde8a73ab7bf8e945c802bc92e07db01337d387c8e7",
"x86_64-unknown-linux-musl-0.4.21":
"32902e33b46ef011257d44af1f515eb824b1b17d7f24c139bcecc8eb1984762c",
"undefined-0.4.20":
"68d0b5dc0295baf93c2539a04f3aede44e4a7230d3c470430561ecb119ca5353",
"aarch64-apple-darwin-0.4.20":
"b4a8df5b37ccc80a08a6a39647aa1b329645e932fb770158aa1453ffde11e1ab",
"aarch64-unknown-linux-gnu-0.4.20":
"e7b173900e155210aebf205a3041ba8f896febb05d4863ba6390a3cb79c5a722",
"aarch64-unknown-linux-musl-0.4.20":
"48373b07772021df32f7fbb38226e4ad9f3bbc27f0acf2634e0bf9591d133902",
"arm-unknown-linux-musleabihf-0.4.20":
"fac2d2647ab8651743a144dc5bc9329de5b3f5724817a05c36891b6ede6e4103",
"armv7-unknown-linux-gnueabihf-0.4.20":
"affeb6a9e9d03df245bb5ab252d3b3562f90228bfa4c4029842e8370445b3feb",
"armv7-unknown-linux-musleabihf-0.4.20":
"59c9bba80f7f4c91576b1add15a5d695d931833f7c9193c9dd252e2ca6786a0a",
"i686-pc-windows-msvc-0.4.20":
"3abe03202575bd26fa0e7deb1790dc149f90879561a241ed04b6886461f5e3b1",
"i686-unknown-linux-gnu-0.4.20":
"33a92cb1316de5e28f69e99a8e66eff435b6cc721366be31c46bf603c070d1ae",
"i686-unknown-linux-musl-0.4.20":
"29547e66c0b73a15760416e57be3d1fc58eb4c9c3953f451cc2a6cb432ffacca",
"powerpc64-unknown-linux-gnu-0.4.20":
"233de85af024cc2e724829d183261df574ee69c295646f032fb9ef1da09d0791",
"powerpc64le-unknown-linux-gnu-0.4.20":
"75f0f0f35fd3fd002c546765191fea45a65c88d07ef9bac8417c42acaed8b548",
"powerpc64le-unknown-linux-musl-0.4.20":
"a65075eb916ca738a50e27be0d01afbd6b655ac0c67a0399e84971232ce3a637",
"s390x-unknown-linux-gnu-0.4.20":
"23269967f868b2ad1b8844fefc241604e1217cc7b6e703a084e26f4bd9506d86",
"x86_64-apple-darwin-0.4.20":
"d5ec2279da6bfa06d63a6a79461d07fa678a50d6aa9381d1783a6072d4df558b",
"x86_64-pc-windows-msvc-0.4.20":
"f3a88e0d8a160b696fb4c838521142d2a766b6bd29915c5d5df1a2ddc531030b",
"x86_64-unknown-linux-gnu-0.4.20":
"2283626b627f33382338b7621e5b1c8df5432c5deff9e64e217ff33652beb7f0",
"x86_64-unknown-linux-musl-0.4.20":
"2b826106f075b11e195390385650f16df79b85ea6e51a7e1f3dbf5acd7457899",
"undefined-0.4.19":
"79adb36dc4233272f863d7cbc861907ee3b91685cde6c9cac3d40ec9307de202",
"aarch64-apple-darwin-0.4.19":
"6eba1317f46c1533ad3ea8098b732752d298a1b2726a87d96f146f0c45dae1cd",
"aarch64-unknown-linux-gnu-0.4.19":
"290740d9b749d9ddc3e313230c88dd6618d052a4b32dc9b900d734036e5b4b31",
"aarch64-unknown-linux-musl-0.4.19":
"2ae6ac4f5e3b465ced1f14520d30305924a02ab38e6c20def341b0c50f3b2d0f",
"arm-unknown-linux-musleabihf-0.4.19":
"56bc058c4f92aecaa1b0843790f475d3a8d759f70d2456a64f7a804324406446",
"armv7-unknown-linux-gnueabihf-0.4.19":
"7b94f62297447cdc5d9857cbef2afde685ed74c2f87e1b0606b50647f5b438a5",
"armv7-unknown-linux-musleabihf-0.4.19":
"915827e42348e93877ead47733d721579a837fe4c88e839396f5eb18afbb8bd5",
"i686-pc-windows-msvc-0.4.19":
"97f827433e351140e693c05743d59bf15d5e0b784cf2a7b900113901f0f60268",
"i686-unknown-linux-gnu-0.4.19":
"68b93d15880dd87da1a0866942128d637ccbd399bf4742bdfc3219364f606aea",
"i686-unknown-linux-musl-0.4.19":
"df660a0c66c33bb7c59c1d1e65e352b0b2d14b04469a8448f9d80c621ef594da",
"powerpc64-unknown-linux-gnu-0.4.19":
"e1acc1ae67111b91af895a75ba743510af088d375d1d0dce5bbdb38eccc3feb7",
"powerpc64le-unknown-linux-gnu-0.4.19":
"697e70caa5e4b0d0f7302b5e9e8c9b31c7ccd4e6a91cf03c52b4d783f3527341",
"powerpc64le-unknown-linux-musl-0.4.19":
"3edc272f490d9758e05f1a88db6989606ed6f180c072c7913fbca8c2de2b6845",
"s390x-unknown-linux-gnu-0.4.19":
"64a24a57fee65f5d54573f82354e5fb6d77753fe3ba8d8b62bf0097f76760be7",
"x86_64-apple-darwin-0.4.19":
"2e591e055a2c38734cb35927aa6d7799b1d3b492bc74cede6b9b1be16163c3e2",
"x86_64-pc-windows-msvc-0.4.19":
"b172ec03cbe46b6cc7a328b2cbcdb8d144f53cc18150b288b4476d58d6f69f13",
"x86_64-unknown-linux-gnu-0.4.19":
"72d33be21956a1bed0621cd94ef42a22456fc2731c376947b15f581bce3355a5",
"x86_64-unknown-linux-musl-0.4.19":
"34b780a752ceda46efbd5fe05ac1c058e75eb78eba5308c40c87ddf2547d0ef9",
"undefined-0.4.18":
"9b2ae8c5a8db7b0106f636510b76cf21273ead5cb1162c19c7b2a5d1b1b6782e",
"aarch64-apple-darwin-0.4.18":
"49929e29bad25dfdb2f4ec49973c2265fbb538ddef3b1fa46fdb20245fa7a605",
"aarch64-unknown-linux-gnu-0.4.18":
"6a949b7230ea5c557faf1a2974940036b1b732d2fd073ef35b665fccc11fa34b",
"aarch64-unknown-linux-musl-0.4.18":
"59d50976e32d18ea94210dcd8da4eea3306690e3edc1cb5a40342ca1f7db2c47",
"arm-unknown-linux-musleabihf-0.4.18":
"13a232efd19792802831e13137efae692cb467eb17e53118e4f4dbf65fa37def",
"armv7-unknown-linux-gnueabihf-0.4.18":
"15665159b7f5d27b45eb833f3448714b9069472ccd165af5b9c26ae24306a013",
"armv7-unknown-linux-musleabihf-0.4.18":
"714a63650fddc889053ad27f41ee513f2a736fbecf3fd5ba5051b7a13564d0aa",
"i686-pc-windows-msvc-0.4.18":
"acc6e07df1b96e42d8e3becea4aa70110c921e6f77f69b521f7477222651bc75",
"i686-unknown-linux-gnu-0.4.18":
"908df3634d34f90e49b2e5e67fb627b0a4d8c0571719c60edf28e1a1ee277154",
"i686-unknown-linux-musl-0.4.18":
"48aad5171df7e21d22438bf3af3fbe6cdae409e09cee3842d5782dfd11428003",
"powerpc64-unknown-linux-gnu-0.4.18":
"0f500d33f5c52addf735329ce6818c8b9226ed379dc63593b0a6a51ef5274c04",
"powerpc64le-unknown-linux-gnu-0.4.18":
"8991bddaaad0c06305dd5c4a91e3ece36016de816eeb75f6ee1e3ff9148f65b3",
"powerpc64le-unknown-linux-musl-0.4.18":
"0f12157dab6cd370a5f71d9c6d83d5875a3e11ea91977e4f189115ed9f56805d",
"s390x-unknown-linux-gnu-0.4.18":
"5c4c101fdf5d29677a4b7ed2bb54d0a7b5c3cfa7abadb8d9ef58f02f68703e38",
"x86_64-apple-darwin-0.4.18":
"a99d009f16b6681825ab8a672f83bcf838e851a8914c497ccf65f310b5be17b9",
"x86_64-pc-windows-msvc-0.4.18":
"f6cffb80499da1e3ca0a3bb4710cb3601f6933315f5568ce4b785c664d65c644",
"x86_64-unknown-linux-gnu-0.4.18":
"946243fa93da15d33e2d2bb59cf9bc622806b5bf5776da8b0e27562e608ad8a1",
"x86_64-unknown-linux-musl-0.4.18":
"f0cc269adcad633f06ad50755af38d8f5bf745fbe7e4edafa35cfbb286706397",
"undefined-0.4.17":
"68ad7bf18029bcc9f0c8556e5fb96814fa30d8f67b3ccbc5db19e38b487c9326",
"aarch64-apple-darwin-0.4.17":
"af8e68a0e831e8b482d9e2f5443af63d24d003b0c53e0d5f921c2bcb5eed1644",
"aarch64-unknown-linux-gnu-0.4.17":
"5b7c0269aa15aca1f6171e06db39e24a5ec81f1b484ab382a8db218424afc5b4",
"aarch64-unknown-linux-musl-0.4.17":
"7dc33d60655e7a78bf13ad68bff89da6233b24484cd01a668d72a4ca88c7e70d",
"arm-unknown-linux-musleabihf-0.4.17":
"1e409703fa3639ac01d5c2b277763987b3b6e856097bb7c59dec168861ad9d9b",
"armv7-unknown-linux-gnueabihf-0.4.17":
"b14484ed08fe0073db869ed73c12f2ca1d45f22daabba241e2aa12086793ba51",
"armv7-unknown-linux-musleabihf-0.4.17":
"6920000627deb6f101dd6a144f1930f4649550d9bf2eb9189fa7d38270d85900",
"i686-pc-windows-msvc-0.4.17":
"c8a2c21e23694e4d8079693d8d980642ceabad7589a8da5d5c112844cd9a1530",
"i686-unknown-linux-gnu-0.4.17":
"67d1ed2af42d7f355eb08325645013e24fc3797f33cfa9d5aca18f74a98c4885",
"i686-unknown-linux-musl-0.4.17":
"771dbc2b9bda1653029018eb6b7e98d83935df26595a2194bc7f57251bdd9caf",
"powerpc64-unknown-linux-gnu-0.4.17":
"f2c4ea4bed0f4f42686742bc1078761a232b1ce51532169f17bd99ebb2595ec3",
"powerpc64le-unknown-linux-gnu-0.4.17":
"915a06db243c43cc88f96bf271dd25a3f564ebdda097b79b6d0ee3a6835fc6e2",
"powerpc64le-unknown-linux-musl-0.4.17":
"faaefdc9ed84ab263d0be277b4cccd0a7cd0870fb3bc77a50e293a5d2d74d207",
"s390x-unknown-linux-gnu-0.4.17":
"a49de0293c8177367bd90c527dc88c105e100d04a866ed15898a2f9778e1c648",
"x86_64-apple-darwin-0.4.17":
"7ed2445e83cb919525535774004e294061a8c79253367490647c6aab0e9d06b8",
"x86_64-pc-windows-msvc-0.4.17":
"929407c72ec63c54502c3aef61a2195c2b6a145d6d4b15fd9a0528475cc5cd50",
"x86_64-unknown-linux-gnu-0.4.17":
"9282496b24585c54f4cb71c1cb1dbdecd650f2311237f71ddf217f8756136f79",
"x86_64-unknown-linux-musl-0.4.17":
"6f703368f2d5d4c974e3ece239f64815fb0c6e040eba078ffc87c421a9375deb",
"undefined-0.4.16":
"942296098d4738db464ea170c654d61281f35cd98fc1ecc6c6df784ba9373bb3",
"aarch64-apple-darwin-0.4.16":
"cbfb46932ced7319e0b90cff87bfff759bc319e719cca369ace476906b178f25",
"aarch64-unknown-linux-gnu-0.4.16":
"c5f4f0a7acdbcb6273d117ac9a72767406e2a8da3cc2c72b5818ca08165e90c9",
"aarch64-unknown-linux-musl-0.4.16":
"7f093031e442181b7504fd55e9d0211358646b4fead1317d45aba44efcab719e",
"arm-unknown-linux-musleabihf-0.4.16":
"ec9ca782be4eabb583423539fd335cc1ff9edcbcca8f73cd4cc4a6cdc433023a",
"armv7-unknown-linux-gnueabihf-0.4.16":
"ee55becb4a3e861fdc25eb42fb9fd224625bc6cb06391894aa2b064aa00682d0",
"armv7-unknown-linux-musleabihf-0.4.16":
"5c8dc9de0130004b63ac0b104b460f93bbccc47bc2274294c27ad922142f8d8a",
"i686-pc-windows-msvc-0.4.16":
"44e1d1cb1bb87b18ef6a106585e6860cbe4cda7cd9475cd20eb68b741d4d9293",
"i686-unknown-linux-gnu-0.4.16":
"72799882d18ea4b8ad7cf8b12768c35311d25f6c4eb241a12d44d52b2b02efc3",
"i686-unknown-linux-musl-0.4.16":
"0bb65ab130e6cad00c4d28c8c4f359157bf752ec92145ca44769e66a1143804b",
"powerpc64-unknown-linux-gnu-0.4.16":
"5699b114794b83b42753f4ddeefd00c902e10564733879efeb45b60dd25b04f5",
"powerpc64le-unknown-linux-gnu-0.4.16":
"65f61fc69579d7f6a7238bd180588481ea4b20ff5d45ee62ce590229d53dbb3d",
"powerpc64le-unknown-linux-musl-0.4.16":
"48c83cf9ce5b3e4ecce2fe305aa3f4f8fc0a633f8a0398c7f59f501e8db61fb6",
"s390x-unknown-linux-gnu-0.4.16":
"112e6dea4ddbc6c0dbf416bc7d5dff79fcacd3e0f7fa52772f7647b8cd26ca25",
"x86_64-apple-darwin-0.4.16":
"ecf035262115b216f6cc709917418df9dbafe47d49b8048c465faa406face032",
"x86_64-pc-windows-msvc-0.4.16":
"93a6df8f8225fb73dda275d06455fe5026f00c42e8dccc787812841c0c104291",
"x86_64-unknown-linux-gnu-0.4.16":
"f4f4de434206fb610ecb2dbc3fc44c62adb6b61e8d1237d858a10b407a2737c4",
"x86_64-unknown-linux-musl-0.4.16":
"aab3a3ef8e4ffa641210b1ed374eebd08b5e612b1a928c291a543d3b624d46d1",
"undefined-0.4.15":
"22b605c86cfcb8db9922387151fd8e79d3d2a1caf6f2a03a238ca7ebe058853f",
"aarch64-apple-darwin-0.4.15":
"32f6ad64b9dcf164fa75efef73e0e9a9b769073e6bfe844560329a3176b39b9b",
"aarch64-unknown-linux-gnu-0.4.15":
"cf3f9f98642bd2a7e9d6fa27d880bdbdccc16b6a525b240013789d3048c02348",
"aarch64-unknown-linux-musl-0.4.15":
"fbc0433275134fc50d25ce3c291b3e7a53ffb70b447741398c31d6c4deeba4b8",
"arm-unknown-linux-musleabihf-0.4.15":
"4cc15f1cd1bf5b3508886baa005c6dd51ae7cf995e8699c100ee5a32da70f13b",
"armv7-unknown-linux-gnueabihf-0.4.15":
"380366651e5c924239f1e085fade96ec04d1a312c8a9db7a9f383fcf87e073d1",
"armv7-unknown-linux-musleabihf-0.4.15":
"50eb304472f7b6b02c4fed987e0931f02a0b5e7c1620559f0246416e725297f5",
"i686-pc-windows-msvc-0.4.15":
"3ad9d42a4308adc69dd7061b0ba9451b26d118032d3937dd92e3acef4aa62a40",
"i686-unknown-linux-gnu-0.4.15":
"2e90ee238cba49c5f096c8b0648c7fc531a75dcf0c26eb0cde4d9ce5447d8d82",
"i686-unknown-linux-musl-0.4.15":
"0120dfe81ebc98d20dec01f8ce7a8c571673155dbd67ab08a6cf4000de85df65",
"powerpc64-unknown-linux-gnu-0.4.15":
"ef10cefd6db62ea6c4ae082457b720332927e86ad3e1dc404da75961d9bd987c",
"powerpc64le-unknown-linux-gnu-0.4.15":
"e58fa6d325e81bd845265c980f3dc7ffcd6ae6b912c525bc165938964bc2b0c0",
"powerpc64le-unknown-linux-musl-0.4.15":
"c64194823946c45640990c1616f2043bda63e05a2fcfdcc33fd64bbadcc6408b",
"s390x-unknown-linux-gnu-0.4.15":
"662f0bee11f330a80b002eb3b6d74f574832b1ceee6943a6bdc0486dabde3514",
"x86_64-apple-darwin-0.4.15":
"ab91ee8c6461e9ac385a2f96d23d77e027b4e4274e983d0aedf1d64abfb6353b",
"x86_64-pc-windows-msvc-0.4.15":
"17e7ecb448c8b507bb08347df6aa974f58a7536b6fbe21f0ce57372509e409a0",
"x86_64-unknown-linux-gnu-0.4.15":
"f590376432bcb26c2aff86b6ec495d55ba2384d068c62dca477f498902721674",
"x86_64-unknown-linux-musl-0.4.15":
"70e331be83d97f42fd355f18cb1f8b3f4cadc4973b29fec659109fad4a053a8f",
"undefined-0.4.14":
"d73771243ecb8f38a925f16894126644aec95da7557eef22d7c161d9b8af69e9",
"aarch64-apple-darwin-0.4.14":
"e7368a2ffe19cc39e4b733c0b5ddced9952da85fad5d5eb55c75c4a67c7e4747",
"aarch64-unknown-linux-gnu-0.4.14":
"3647ba1da46b7b2dde959c03e3dfd54ad63e7fefe3de7789e1d88931712da1c1",
"aarch64-unknown-linux-musl-0.4.14":
"11a871df0ca91843e09871e7ee8f5d000a3df73f8dd6d7d1ebf0f237feaa18c8",
"arm-unknown-linux-musleabihf-0.4.14":
"8aaf34ca8078db54597173961788f7a9f292ce473629e0b684f7c7b346fb5a68",
"armv7-unknown-linux-gnueabihf-0.4.14":
"6a59fc0794760c20f01dac7594a7559f871d8428b5440303a9e450ae72a53c96",
"armv7-unknown-linux-musleabihf-0.4.14":
"099db2dc91ea868864c55e0820bfa1c279af07259aee4ccfe151e2f3a208aaf4",
"i686-pc-windows-msvc-0.4.14":
"a6d255d229d2447a259d8affe9e537aadb12079852c1bc9097664371e2406a82",
"i686-unknown-linux-gnu-0.4.14":
"6389b5000e256b150f8c185ff3fb28c6bfc4116ad35f07b7b49088675d7c9ceb",
"i686-unknown-linux-musl-0.4.14":
"2307c79f88b9302b4ec2db9d500a240b0710f9e011548e776dfbd15fa1c084e7",
"powerpc64-unknown-linux-gnu-0.4.14":
"01d94b9de93a424781d5a4b4890b6f4e5f5ea59d98363415d4f90fa75ee80426",
"powerpc64le-unknown-linux-gnu-0.4.14":
"0ab4524a49d201368da79ff3d69a01b780cefcec7115acc1448d4a3b71fa3c24",
"powerpc64le-unknown-linux-musl-0.4.14":
"51cc5cbb145f09e60a4a739a8e664657fd0b3d81053b2973ac133513aa43aae2",
"s390x-unknown-linux-gnu-0.4.14":
"f30bb00682299ca9e10e98f387178f839e136414b66ab99f2e28b6f160258315",
"x86_64-apple-darwin-0.4.14":
"442b93a10d3d5d5422c615f73bb13bd491ee88bc2ea913185728940a31c51b35",
"x86_64-pc-windows-msvc-0.4.14":
"dbde8853a1d7c005e34dee03ec1bfc337374c111c86b26701c403bba6076254c",
"x86_64-unknown-linux-gnu-0.4.14":
"873b4b95c5d3d49ae1306122256cb0b116b5c725e068db8100a76efb13d7669d",
"x86_64-unknown-linux-musl-0.4.14":
"1985046d3e36acd02395c704dcd9d1aff03114afe13fdc166754675bae8ad294",
"undefined-0.4.13":
"1164572b6a4700821bd3cb72594f7421aafa414c8d1a94e9570e530ca7a5c635",
"aarch64-apple-darwin-0.4.13":
"32d73e0257dab4371254d26bd9328de4e43b7817ee154d7c77e879df130b15c4",
"aarch64-unknown-linux-gnu-0.4.13":
"0f653d8ece44da59056dd2fda6bddc7e274ed4d6431787bd7aa26ae7e02a66d3",
"aarch64-unknown-linux-musl-0.4.13":
"c24306c2cfc3bcaeab57f866c2501f07e21098fa03db7c1e5961280d44404443",
"arm-unknown-linux-musleabihf-0.4.13":
"f8b9375a7ff918e6b4ec2fbaa4fbac0707b85d9a391ab82a888ec07f4d7ae813",
"armv7-unknown-linux-gnueabihf-0.4.13":
"ab59e9586b89d11ee043aff7410712fa2bc178b6aa83eb70173b81d6f2ef93b5",
"armv7-unknown-linux-musleabihf-0.4.13":
"bdb133e0ecfe889661910bb52f77c54268b82161fdb8af2b1f6c867537626a39",
"i686-pc-windows-msvc-0.4.13":
"b4a92170b85d63ee9d7ac3a9b07fa444e4257e3dfb91a22774c1f76f94a06ddb",
"i686-unknown-linux-gnu-0.4.13":
"a4f2dc1eb9526ae9f1a617fddfc8e565817540ee06b022cc85a31f8915b8130e",
"i686-unknown-linux-musl-0.4.13":
"0f72e2a16e55b57feb8741f86f3e968f3e080868da6c848f6a115149b7d63652",
"powerpc64-unknown-linux-gnu-0.4.13":
"44471a861399b11870b41f8c0e4b8080490803b2c6be5ebf906a09ac0e67b5c9",
"powerpc64le-unknown-linux-gnu-0.4.13":
"4a95260671f6578f773c70aab21da55f1995dde7dbd38794e510a6b5b0fd0c1e",
"powerpc64le-unknown-linux-musl-0.4.13":
"bf3fef07eeb29f1bd79b677afcc52deb1f594fd13bfe25c0d4f05c171957d717",
"s390x-unknown-linux-gnu-0.4.13":
"548e6cfb8ac09cf422d6fef9886ed8ba73bda8333f69ae420aab2cd5f676d7cc",
"x86_64-apple-darwin-0.4.13":
"fb58d588c237218c275f63b6b77eda9477d2c1e1007605e10207c2504ae2a6d5",
"x86_64-pc-windows-msvc-0.4.13":
"888e73d16bc7c67ee2e369e4660249ec107efaf998583cce68dbcd942b76d047",
"x86_64-unknown-linux-gnu-0.4.13":
"0f955f51eaa3ccf56215ace06dab2e9b78437e22002eabc2cedcfcf541d997b2",
"x86_64-unknown-linux-musl-0.4.13":
"c8f73e30407a6e15eea7334f7067ac84ae1526a1ae7f4420dc873492bdfe626e",
"undefined-0.4.12":
"335861d17540501e2c5f82f5b8955b07034c450edb292fd2d628a837f52e0054",
"aarch64-apple-darwin-0.4.12":
"507aeb4efbb4a2b97654df8333aaa9d78109c55e3c3d5959f50cf0d93baa0263",
"aarch64-unknown-linux-gnu-0.4.12":
"73c6f84462895eb924b6fddc2cfef6b9fde0e0c15ff45a0eb882ec5275f5a2f7",
"aarch64-unknown-linux-musl-0.4.12":
"7329992bee100397b3520f1e93512804aa47ea01404c05609aedd181311cdf3b",
"arm-unknown-linux-musleabihf-0.4.12":
"21e4bcaf22259b4a473912403e9a89debd7f8f052e2f5d7d52f350539adade9e",
"armv7-unknown-linux-gnueabihf-0.4.12":
"7a0433a46595b40d9e50eb9a8aeb193b18eb5d545a677a646f86760b716f4b6e",
"armv7-unknown-linux-musleabihf-0.4.12":
"3803d4ef65fea709940bd897c9d27123cd60ca1f72b173eadad69a9949bf1e69",
"i686-pc-windows-msvc-0.4.12":
"e0550b4db9d9074560cdff66e81298288ddeb75347585514601c598ea46df54f",
"i686-unknown-linux-gnu-0.4.12":
"4c0a025f4b1f40a4248435410cbc1c6df0656ccee02f145aecedefac0efac392",
"i686-unknown-linux-musl-0.4.12":
"a0572decd32eb5917bb80bc8d1de0351be362b6a06423ae36bd03c745292c1f7",
"powerpc64-unknown-linux-gnu-0.4.12":
"51e624d5317e4ac6bcd67d1cae49e092c0186cab3dab4f7fa15c2e32066e16f8",
"powerpc64le-unknown-linux-gnu-0.4.12":
"5eafc18d05671ad38488f1b1d48712e829f4eb7f0d25eac423be79e7d8834cdf",
"powerpc64le-unknown-linux-musl-0.4.12":
"926d3caff745f4b4c376ff4328cf5129b8f61af6671d84614270ed8fa05816ca",
"s390x-unknown-linux-gnu-0.4.12":
"810cd900581925ee16e7d606e30fa39912123f9d96a740dbc1f4f9aa3d7e9760",
"x86_64-apple-darwin-0.4.12":
"d2934f4afba1f33d4078cbde301e780db132df6d33f2f5b27df466775e01b236",
"x86_64-pc-windows-msvc-0.4.12":
"4dc5e08f2f69245859b8ff57c7e6f844ebd1a65df12ae13f66a068268af17389",
"x86_64-unknown-linux-gnu-0.4.12":
"db44453ec57d6e3a35b7af2bb7938b47bdc9e7ca397269e978c53dd3065b1195",
"x86_64-unknown-linux-musl-0.4.12":
"ef9551ecf6f0efd51264f8a6a683b8b0210789aeaeab664863a90535a553b985",
"undefined-0.4.11":
"e6e38118aaa7436d31d3aed0f4b0beb188c273c137bd3185e8b4ebdb301682aa",
"aarch64-apple-darwin-0.4.11":

View File

@@ -1,4 +1,4 @@
import { promises as fs } from "node:fs";
import { promises as fs } from "fs";
import * as tc from "@actions/tool-cache";
export async function updateChecksums(
filePath: string,

View File

@@ -1,11 +1,10 @@
import * as core from "@actions/core";
import * as tc from "@actions/tool-cache";
import * as exec from "@actions/exec";
import * as path from "node:path";
import { promises as fs } from "node:fs";
import type { Architecture, Platform } from "../utils/platforms";
import * as path from "path";
import { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import { OWNER, REPO } from "../utils/constants";
export async function downloadLatest(
platform: Platform,
@@ -14,11 +13,12 @@ export async function downloadLatest(
githubToken: string | undefined,
): Promise<{ cachedToolDir: string; version: string }> {
const artifact = `uv-${arch}-${platform}`;
let extension = ".tar.gz";
let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${artifact}`;
if (platform === "pc-windows-msvc") {
extension = ".zip";
downloadUrl += ".zip";
} else {
downloadUrl += ".tar.gz";
}
const downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool(
@@ -29,9 +29,7 @@ export async function downloadLatest(
let uvExecutablePath: string;
let uvDir: string;
if (platform === "pc-windows-msvc") {
const fullPathWithExtension = `${downloadPath}${extension}`;
await fs.copyFile(downloadPath, fullPathWithExtension);
uvDir = await tc.extractZip(fullPathWithExtension);
uvDir = await tc.extractZip(downloadPath);
// On windows extracting the zip does not create an intermediate directory
uvExecutablePath = path.join(uvDir, "uv.exe");
} else {
@@ -41,14 +39,8 @@ export async function downloadLatest(
}
const version = await getVersion(uvExecutablePath);
await validateChecksum(checkSum, downloadPath, arch, platform, version);
const cachedToolDir = await tc.cacheDir(
uvDir,
TOOL_CACHE_NAME,
version,
arch,
);
return { cachedToolDir, version };
return { cachedToolDir: uvDir, version };
}
async function getVersion(uvExecutablePath: string): Promise<string> {
@@ -69,5 +61,5 @@ async function getVersion(uvExecutablePath: string): Promise<string> {
};
await exec.exec(uvExecutablePath, execArgs, options);
const parts = output.split(" ");
return parts[1].trim();
return parts[1];
}

View File

@@ -1,9 +1,8 @@
import * as core from "@actions/core";
import * as tc from "@actions/tool-cache";
import * as path from "node:path";
import { promises as fs } from "node:fs";
import * as path from "path";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms";
import { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum";
import * as github from "@actions/github";
@@ -31,11 +30,12 @@ export async function downloadVersion(
): Promise<{ version: string; cachedToolDir: string }> {
const resolvedVersion = await resolveVersion(version, githubToken);
const artifact = `uv-${arch}-${platform}`;
let extension = ".tar.gz";
let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${resolvedVersion}/${artifact}`;
if (platform === "pc-windows-msvc") {
extension = ".zip";
downloadUrl += ".zip";
} else {
downloadUrl += ".tar.gz";
}
const downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${resolvedVersion}/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool(
@@ -53,9 +53,7 @@ export async function downloadVersion(
let uvDir: string;
if (platform === "pc-windows-msvc") {
const fullPathWithExtension = `${downloadPath}${extension}`;
await fs.copyFile(downloadPath, fullPathWithExtension);
uvDir = await tc.extractZip(fullPathWithExtension);
uvDir = await tc.extractZip(downloadPath);
// On windows extracting the zip does not create an intermediate directory
} else {
const extractedDir = await tc.extractTar(downloadPath);

View File

@@ -1,48 +0,0 @@
import * as crypto from "node:crypto";
import * as core from "@actions/core";
import * as fs from "node:fs";
import * as stream from "node:stream";
import * as util from "node:util";
import { create } from "@actions/glob";
/**
* Hashes files matching the given glob pattern.
*
* Copied from https://github.com/actions/toolkit/blob/20ed2908f19538e9dfb66d8083f1171c0a50a87c/packages/glob/src/internal-hash-files.ts#L9-L49
* But supports hashing files outside the GITHUB_WORKSPACE.
* @param pattern The glob pattern to match files.
* @param verbose Whether to log the files being hashed.
*/
export async function hashFiles(
pattern: string,
verbose = false,
): Promise<string> {
const globber = await create(pattern);
let hasMatch = false;
const writeDelegate = verbose ? core.info : core.debug;
const result = crypto.createHash("sha256");
let count = 0;
for await (const file of globber.globGenerator()) {
writeDelegate(file);
if (fs.statSync(file).isDirectory()) {
writeDelegate(`Skip directory '${file}'.`);
continue;
}
const hash = crypto.createHash("sha256");
const pipeline = util.promisify(stream.pipeline);
await pipeline(fs.createReadStream(file), hash);
result.write(hash.digest());
count++;
if (!hasMatch) {
hasMatch = true;
}
}
result.end();
if (hasMatch) {
writeDelegate(`Found ${count} files to hash.`);
return result.digest("hex");
}
writeDelegate("No matches found for glob");
return "";
}

View File

@@ -1,33 +1,22 @@
import * as cache from "@actions/cache";
import * as core from "@actions/core";
import * as exec from "@actions/exec";
import * as fs from "node:fs";
import {
STATE_CACHE_MATCHED_KEY,
STATE_CACHE_KEY,
} from "./cache/restore-cache";
import {
cacheLocalPath,
enableCache,
ignoreNothingToCache,
pruneCache as shouldPruneCache,
} from "./utils/inputs";
import { cacheLocalPath, enableCache } from "./utils/inputs";
export async function run(): Promise<void> {
try {
if (enableCache) {
await saveCache();
// node will stay alive if any promises are not resolved,
// which is a possibility if HTTP requests are dangling
// due to retries or timeouts. We know that if we got here
// that all promises that we care about have successfully
// resolved, so simply exit with success.
process.exit(0);
}
} catch (error) {
const err = error as Error;
core.setFailed(err.message);
}
process.exit(0);
}
async function saveCache(): Promise<void> {
@@ -37,38 +26,17 @@ async function saveCache(): Promise<void> {
if (!cacheKey) {
core.warning("Error retrieving cache key from state.");
return;
}
if (matchedKey === cacheKey) {
} else if (matchedKey === cacheKey) {
core.info(`Cache hit occurred on key ${cacheKey}, not saving cache.`);
return;
}
if (shouldPruneCache) {
await pruneCache();
}
await pruneCache();
core.info(`Saving cache path: ${cacheLocalPath}`);
if (!fs.existsSync(cacheLocalPath) && !ignoreNothingToCache) {
throw new Error(
`Cache path ${cacheLocalPath} does not exist on disk. This likely indicates that there are no dependencies to cache. Consider disabling the cache input if it is not needed.`,
);
}
try {
await cache.saveCache([cacheLocalPath], cacheKey);
core.info(`cache saved with the key: ${cacheKey}`);
} catch (e) {
if (
e instanceof Error &&
e.message ===
"Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved."
) {
core.info(
"No cacheable paths were found. Ignoring because ignore-nothing-to-save is enabled.",
);
} else {
throw e;
}
}
await cache.saveCache([cacheLocalPath], cacheKey);
core.info(`cache saved with the key: ${cacheKey}`);
}
async function pruneCache(): Promise<void> {

View File

@@ -1,5 +1,5 @@
import * as core from "@actions/core";
import * as path from "node:path";
import * as path from "path";
import {
downloadVersion,
tryGetFromToolCache,
@@ -8,10 +8,10 @@ import { restoreCache } from "./cache/restore-cache";
import { downloadLatest } from "./download/download-latest";
import {
type Architecture,
Architecture,
getArch,
getPlatform,
type Platform,
Platform,
} from "./utils/platforms";
import {
cacheLocalPath,
@@ -19,7 +19,6 @@ import {
enableCache,
githubToken,
toolBinDir,
toolDir,
version,
} from "./utils/inputs";
@@ -44,7 +43,6 @@ async function run(): Promise<void> {
addUvToPath(setupResult.uvDir);
addToolBinToPath();
setToolDir();
core.setOutput("uv-version", setupResult.version);
core.info(`Successfully installed uv version ${setupResult.version}`);
@@ -112,24 +110,6 @@ function addToolBinToPath(): void {
core.info(`Set UV_TOOL_BIN_DIR to ${toolBinDir}`);
core.addPath(toolBinDir);
core.info(`Added ${toolBinDir} to the path`);
} else {
if (process.env.XDG_BIN_HOME !== undefined) {
core.addPath(process.env.XDG_BIN_HOME);
core.info(`Added ${process.env.XDG_BIN_HOME} to the path`);
} else if (process.env.XDG_DATA_HOME !== undefined) {
core.addPath(`${process.env.XDG_DATA_HOME}/../bin`);
core.info(`Added ${process.env.XDG_DATA_HOME}/../bin to the path`);
} else {
core.addPath(`${process.env.HOME}/.local/bin`);
core.info(`Added ${process.env.HOME}/.local/bin to the path`);
}
}
}
function setToolDir(): void {
if (toolDir !== undefined) {
core.exportVariable("UV_TOOL_DIR", toolDir);
core.info(`Set UV_TOOL_DIR to ${toolDir}`);
}
}

View File

@@ -1,5 +1,5 @@
import * as core from "@actions/core";
import path from "node:path";
import path from "path";
export const version = core.getInput("version");
export const checkSum = core.getInput("checksum");
@@ -7,41 +7,16 @@ export const enableCache = core.getInput("enable-cache") === "true";
export const cacheSuffix = core.getInput("cache-suffix") || "";
export const cacheLocalPath = getCacheLocalPath();
export const cacheDependencyGlob = core.getInput("cache-dependency-glob");
export const pruneCache = core.getInput("prune-cache") === "true";
export const ignoreNothingToCache =
core.getInput("ignore-nothing-to-cache") === "true";
export const toolBinDir = getToolBinDir();
export const toolDir = getToolDir();
export const githubToken = core.getInput("github-token");
function getToolBinDir(): string | undefined {
const toolBinDirInput = core.getInput("tool-bin-dir");
if (toolBinDirInput !== "") {
return expandTilde(toolBinDirInput);
return toolBinDirInput;
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
return `${process.env.RUNNER_TEMP}${path.sep}uv-tool-bin-dir`;
}
throw Error(
"Could not determine UV_TOOL_BIN_DIR. Please make sure RUNNER_TEMP is set or provide the tool-bin-dir input",
);
}
return undefined;
}
function getToolDir(): string | undefined {
const toolDirInput = core.getInput("tool-dir");
if (toolDirInput !== "") {
return expandTilde(toolDirInput);
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
return `${process.env.RUNNER_TEMP}${path.sep}uv-tool-dir`;
}
throw Error(
"Could not determine UV_TOOL_DIR. Please make sure RUNNER_TEMP is set or provide the tool-dir input",
);
return "D:\\a\\_temp\\uv-tool-bin-dir";
}
return undefined;
}
@@ -49,19 +24,13 @@ function getToolDir(): string | undefined {
function getCacheLocalPath(): string {
const cacheLocalPathInput = core.getInput("cache-local-path");
if (cacheLocalPathInput !== "") {
return expandTilde(cacheLocalPathInput);
return cacheLocalPathInput;
}
if (process.env.RUNNER_TEMP !== undefined) {
return `${process.env.RUNNER_TEMP}${path.sep}setup-uv-cache`;
}
throw Error(
"Could not determine UV_CACHE_DIR. Please make sure RUNNER_TEMP is set or provide the cache-local-path input",
);
}
function expandTilde(input: string): string {
if (input.startsWith("~")) {
return `${process.env.HOME}${input.substring(1)}`;
if (process.platform === "win32") {
return "D:\\a\\_temp\\setup-uv-cache";
}
return input;
return "/tmp/setup-uv-cache";
}