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
24 changed files with 11468 additions and 6024 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

@@ -47,10 +47,3 @@ jobs:
with:
name: dist
path: dist/
test-sudo-system-install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./
- run: uv run --python=3.13t -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple --with cython cython

View File

@@ -89,7 +89,7 @@ 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
@@ -101,7 +101,7 @@ jobs:
- 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

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,24 +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-system-install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./
- run: uv pip install --system black

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"
}

View File

@@ -19,7 +19,6 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
- [Cache dependency glob](#cache-dependency-glob)
- [Local cache path](#local-cache-path)
- [GitHub authentication token](#github-authentication-token)
- [UV_TOOL_DIR](#uv_tool_dir)
- [UV_TOOL_BIN_DIR](#uv_tool_bin_dir)
- [How it works](#how-it-works)
- [FAQ](#faq)
@@ -62,20 +61,20 @@ to install the latest version that satisfies the range.
- 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 also specify a checksum to validate the downloaded file. Checksums up to the default version
are automatically verified by this action. The sha256 hashes can be found on the
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
@@ -154,10 +153,8 @@ changes. The glob matches files 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
@@ -166,26 +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.
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
```
### GitHub authentication token
This action uses the GitHub API to fetch the uv release artifacts. To avoid hitting the GitHub API
@@ -203,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).
@@ -237,7 +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"
tool-bin-dir: "/path/to/tool/bin"
```
## How it works

View File

@@ -29,12 +29,6 @@ inputs:
cache-local-path:
description: "Local path to store the cache."
default: ""
prune-cache:
description: "Prune cache before saving."
default: true
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"
}
}
}

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

File diff suppressed because one or more lines are too long

4139
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

6315
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.2.4",
"@actions/core": "^1.11.1",
"@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.7.9",
"@types/node": "^22.5.5",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.2",
"@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,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,545 +1,5 @@
// AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"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,10 +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 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,
@@ -39,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> {
@@ -67,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,8 +1,8 @@
import * as core from "@actions/core";
import * as tc from "@actions/tool-cache";
import * as path from "node:path";
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";

View File

@@ -5,11 +5,7 @@ import {
STATE_CACHE_MATCHED_KEY,
STATE_CACHE_KEY,
} from "./cache/restore-cache";
import {
cacheLocalPath,
enableCache,
pruneCache as shouldPruneCache,
} from "./utils/inputs";
import { cacheLocalPath, enableCache } from "./utils/inputs";
export async function run(): Promise<void> {
try {
@@ -30,15 +26,12 @@ 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}`);
await cache.saveCache([cacheLocalPath], cacheKey);

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,9 +7,7 @@ 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 toolBinDir = getToolBinDir();
export const toolDir = getToolDir();
export const githubToken = core.getInput("github-token");
function getToolBinDir(): string | undefined {
@@ -18,28 +16,7 @@ function getToolBinDir(): string | undefined {
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 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;
}
@@ -52,7 +29,8 @@ function getCacheLocalPath(): string {
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",
);
if (process.platform === "win32") {
return "D:\\a\\_temp\\setup-uv-cache";
}
return "/tmp/setup-uv-cache";
}