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

Compare commits

...

16 Commits

Author SHA1 Message Date
Kevin Stillhammer
caf0cab7a6 Expand TILDE (~) in path inputs (#160)
Closes: #159
2024-11-23 09:21:51 +01:00
github-actions[bot]
7c238111e6 chore: update known checksums for 0.5.4 (#158)
chore: update known checksums for 0.5.4

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-11-20 22:32:28 +00:00
dependabot[bot]
3eca4c2715 Bump @types/node from 22.9.0 to 22.9.1 (#157)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 22.9.0 to 22.9.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.9.0&new-version=22.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-20 16:02:30 +01:00
github-actions[bot]
aee2e918ee chore: update known checksums for 0.5.3 (#156)
chore: update known checksums for 0.5.3

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-11-19 22:03:11 +00:00
dependabot[bot]
4ffb6d766c Bump @vercel/ncc from 0.38.2 to 0.38.3 (#155)
Bumps [@vercel/ncc](https://github.com/vercel/ncc) from 0.38.2 to
0.38.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/ncc/releases"><code>@​vercel/ncc</code>'s
releases</a>.</em></p>
<blockquote>
<h2>0.38.3</h2>
<h2><a
href="https://github.com/vercel/ncc/compare/0.38.2...0.38.3">0.38.3</a>
(2024-11-15)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>add missing <code>--asset-builds</code> to cli help message (<a
href="https://redirect.github.com/vercel/ncc/issues/1228">#1228</a>) (<a
href="84f8c52872">84f8c52</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="84f8c52872"><code>84f8c52</code></a>
fix: add missing <code>--asset-builds</code> to cli help message (<a
href="https://redirect.github.com/vercel/ncc/issues/1228">#1228</a>)</li>
<li><a
href="0ff93c67f8"><code>0ff93c6</code></a>
chore(deps): Bump elliptic from 6.5.7 to 6.6.0 (<a
href="https://redirect.github.com/vercel/ncc/issues/1223">#1223</a>)</li>
<li><a
href="ae5bf16cb3"><code>ae5bf16</code></a>
chore(deps): Bump amannn/action-semantic-pull-request from 5.3.0 to
5.5.3 (<a
href="https://redirect.github.com/vercel/ncc/issues/1">#1</a>...</li>
<li><a
href="738a2bfe3d"><code>738a2bf</code></a>
chore(deps-dev): Bump axios from 0.21.4 to 1.7.7 (<a
href="https://redirect.github.com/vercel/ncc/issues/1209">#1209</a>)</li>
<li>See full diff in <a
href="https://github.com/vercel/ncc/compare/0.38.2...0.38.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@vercel/ncc&package-manager=npm_and_yarn&previous-version=0.38.2&new-version=0.38.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 11:15:58 +01:00
github-actions[bot]
e779db7426 chore: update known checksums for 0.5.2 (#154)
chore: update known checksums for 0.5.2

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-11-15 06:53:19 +00:00
github-actions[bot]
cb1ce8a914 chore: update known checksums for 0.5.1 (#152)
chore: update known checksums for 0.5.1

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-11-09 11:01:15 +01:00
github-actions[bot]
cf7bbf8f13 chore: update known checksums for 0.5.0 (#151)
chore: update known checksums for 0.5.0

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-11-08 09:39:20 +01:00
Kevin Stillhammer
2e657c127d Avoid leftover files by using temp dir (#150)
Fixes: #149
2024-11-06 12:52:46 +01:00
dependabot[bot]
a7e15805d2 Bump @actions/cache from 3.2.4 to 3.3.0 (#143)
Bumps
[@actions/cache](https://github.com/actions/toolkit/tree/HEAD/packages/cache)
from 3.2.4 to 3.3.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/toolkit/blob/main/packages/cache/RELEASES.md"><code>@​actions/cache</code>'s
changelog</a>.</em></p>
<blockquote>
<h3>3.3.0</h3>
<ul>
<li>Update <code>@actions/core</code> to <code>1.11.1</code></li>
<li>Remove dependency on <code>uuid</code> package <a
href="https://redirect.github.com/actions/toolkit/pull/1824">#1824</a>,
<a
href="https://redirect.github.com/actions/toolkit/pull/1842">#1842</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/actions/toolkit/commits/HEAD/packages/cache">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@actions/cache&package-manager=npm_and_yarn&previous-version=3.2.4&new-version=3.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-05 20:57:00 +00:00
dependabot[bot]
2a578ce17f Bump @types/node from 22.8.6 to 22.9.0 (#146)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 22.8.6 to 22.9.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.8.6&new-version=22.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-05 21:48:02 +01:00
Kevin Stillhammer
6f467a02b3 add archive extension to downloaded assets (#148)
Fixes missing .zip extensions
which breaks on old PowerShell versions

Fixes: #147
2024-11-05 21:21:57 +01:00
github-actions[bot]
d2242d1901 chore: update known checksums for 0.4.30 (#145)
chore: update known checksums for 0.4.30

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-11-05 06:55:55 +00:00
dependabot[bot]
5552ab3709 Bump @types/node from 22.7.9 to 22.8.6 (#142)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 22.7.9 to 22.8.6.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.7.9&new-version=22.8.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-02 14:48:47 +01:00
github-actions[bot]
3e4fe09ab3 chore: update known checksums for 0.4.29 (#140)
chore: update known checksums for 0.4.29

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-10-31 08:15:34 +00:00
github-actions[bot]
56f89d8124 chore: update known checksums for 0.4.28 (#136)
chore: update known checksums for 0.4.28

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2024-10-29 09:22:48 +00:00
13 changed files with 962 additions and 429 deletions

View File

@@ -121,3 +121,49 @@ jobs:
CACHE_HIT: ${{ steps.restore.outputs.cache-hit }}
- run: uv sync
working-directory: __tests__/fixtures/uv-project
prepare-tilde-expansion-tests:
runs-on: selfhosted-ubuntu-arm64
steps:
- name: Create cache directory
run: mkdir -p ~/uv-cache
shell: bash
- name: Create cache dependency glob file
run: touch ~/uv-cache.glob
shell: bash
test-tilde-expansion-cache-local-path:
needs: prepare-tilde-expansion-tests
runs-on: selfhosted-ubuntu-arm64
steps:
- uses: actions/checkout@v4
- name: Setup with cache
uses: ./
with:
enable-cache: true
cache-local-path: ~/uv-cache/cache-local-path
test-tilde-expansion-cache-dependency-glob:
needs: prepare-tilde-expansion-tests
runs-on: selfhosted-ubuntu-arm64
steps:
- uses: actions/checkout@v4
- name: Setup with cache
uses: ./
with:
enable-cache: true
cache-local-path: ~/uv-cache/cache-dependency-glob
cache-dependency-glob: "~/uv-cache.glob"
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

@@ -123,3 +123,24 @@ jobs:
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

@@ -21,6 +21,7 @@ Set up your GitHub Actions workflow with a specific version of [uv](https://docs
- [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)
@@ -120,7 +121,7 @@ use it in subsequent steps. For example, to use the cache in the above case:
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.
changes. If you use relative paths, the glob matches files relative to the repository root.
> [!NOTE]
>
@@ -144,6 +145,14 @@ changes. The glob matches files 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
@@ -240,6 +249,25 @@ If you want to change this behaviour (especially on self-hosted runners) you can
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"
```
## How it works
This action downloads uv from the uv repo's official

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

@@ -562,11 +562,11 @@ const core = __importStar(__nccwpck_require__(7484));
const exec = __importStar(__nccwpck_require__(5236));
const glob = __importStar(__nccwpck_require__(9688));
const io = __importStar(__nccwpck_require__(4994));
const crypto = __importStar(__nccwpck_require__(6982));
const fs = __importStar(__nccwpck_require__(9896));
const path = __importStar(__nccwpck_require__(6928));
const semver = __importStar(__nccwpck_require__(9318));
const util = __importStar(__nccwpck_require__(9023));
const uuid_1 = __nccwpck_require__(7723);
const constants_1 = __nccwpck_require__(8287);
// From https://github.com/actions/toolkit/blob/main/packages/tool-cache/src/tool-cache.ts#L23
function createTempDirectory() {
@@ -589,7 +589,7 @@ function createTempDirectory() {
}
tempDirectory = path.join(baseLocation, 'actions', 'temp');
}
const dest = path.join(tempDirectory, (0, uuid_1.v4)());
const dest = path.join(tempDirectory, crypto.randomUUID());
yield io.mkdirP(dest);
return dest;
});
@@ -44599,7 +44599,7 @@ exports.ContextAPI = ContextAPI;
*/
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DiagAPI = void 0;
const ComponentLogger_1 = __nccwpck_require__(104);
const ComponentLogger_1 = __nccwpck_require__(7723);
const logLevelLogger_1 = __nccwpck_require__(3514);
const types_1 = __nccwpck_require__(2573);
const global_utils_1 = __nccwpck_require__(9923);
@@ -45321,7 +45321,7 @@ exports.diag = diag_1.DiagAPI.instance();
/***/ }),
/***/ 104:
/***/ 7723:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
"use strict";
@@ -75293,221 +75293,6 @@ module.exports = {
}
/***/ }),
/***/ 7723:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
var v1 = __nccwpck_require__(6626);
var v4 = __nccwpck_require__(9021);
var uuid = v4;
uuid.v1 = v1;
uuid.v4 = v4;
module.exports = uuid;
/***/ }),
/***/ 8682:
/***/ ((module) => {
/**
* Convert array of 16 byte values to UUID string format of the form:
* XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
*/
var byteToHex = [];
for (var i = 0; i < 256; ++i) {
byteToHex[i] = (i + 0x100).toString(16).substr(1);
}
function bytesToUuid(buf, offset) {
var i = offset || 0;
var bth = byteToHex;
// join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
return ([
bth[buf[i++]], bth[buf[i++]],
bth[buf[i++]], bth[buf[i++]], '-',
bth[buf[i++]], bth[buf[i++]], '-',
bth[buf[i++]], bth[buf[i++]], '-',
bth[buf[i++]], bth[buf[i++]], '-',
bth[buf[i++]], bth[buf[i++]],
bth[buf[i++]], bth[buf[i++]],
bth[buf[i++]], bth[buf[i++]]
]).join('');
}
module.exports = bytesToUuid;
/***/ }),
/***/ 1694:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
// Unique ID creation requires a high quality random # generator. In node.js
// this is pretty straight-forward - we use the crypto API.
var crypto = __nccwpck_require__(6982);
module.exports = function nodeRNG() {
return crypto.randomBytes(16);
};
/***/ }),
/***/ 6626:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
var rng = __nccwpck_require__(1694);
var bytesToUuid = __nccwpck_require__(8682);
// **`v1()` - Generate time-based UUID**
//
// Inspired by https://github.com/LiosK/UUID.js
// and http://docs.python.org/library/uuid.html
var _nodeId;
var _clockseq;
// Previous uuid creation time
var _lastMSecs = 0;
var _lastNSecs = 0;
// See https://github.com/uuidjs/uuid for API details
function v1(options, buf, offset) {
var i = buf && offset || 0;
var b = buf || [];
options = options || {};
var node = options.node || _nodeId;
var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;
// node and clockseq need to be initialized to random values if they're not
// specified. We do this lazily to minimize issues related to insufficient
// system entropy. See #189
if (node == null || clockseq == null) {
var seedBytes = rng();
if (node == null) {
// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
node = _nodeId = [
seedBytes[0] | 0x01,
seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]
];
}
if (clockseq == null) {
// Per 4.2.2, randomize (14 bit) clockseq
clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;
}
}
// UUID timestamps are 100 nano-second units since the Gregorian epoch,
// (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
// time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
// (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();
// Per 4.2.1.2, use count of uuid's generated during the current clock
// cycle to simulate higher resolution clock
var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
// Time since last uuid creation (in msecs)
var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;
// Per 4.2.1.2, Bump clockseq on clock regression
if (dt < 0 && options.clockseq === undefined) {
clockseq = clockseq + 1 & 0x3fff;
}
// Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
// time interval
if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
nsecs = 0;
}
// Per 4.2.1.2 Throw error if too many uuids are requested
if (nsecs >= 10000) {
throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec');
}
_lastMSecs = msecs;
_lastNSecs = nsecs;
_clockseq = clockseq;
// Per 4.1.4 - Convert from unix epoch to Gregorian epoch
msecs += 12219292800000;
// `time_low`
var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
b[i++] = tl >>> 24 & 0xff;
b[i++] = tl >>> 16 & 0xff;
b[i++] = tl >>> 8 & 0xff;
b[i++] = tl & 0xff;
// `time_mid`
var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;
b[i++] = tmh >>> 8 & 0xff;
b[i++] = tmh & 0xff;
// `time_high_and_version`
b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
b[i++] = tmh >>> 16 & 0xff;
// `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
b[i++] = clockseq >>> 8 | 0x80;
// `clock_seq_low`
b[i++] = clockseq & 0xff;
// `node`
for (var n = 0; n < 6; ++n) {
b[i + n] = node[n];
}
return buf ? buf : bytesToUuid(b);
}
module.exports = v1;
/***/ }),
/***/ 9021:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
var rng = __nccwpck_require__(1694);
var bytesToUuid = __nccwpck_require__(8682);
function v4(options, buf, offset) {
var i = buf && offset || 0;
if (typeof(options) == 'string') {
buf = options === 'binary' ? new Array(16) : null;
options = null;
}
options = options || {};
var rnds = options.random || (options.rng || rng)();
// Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
rnds[6] = (rnds[6] & 0x0f) | 0x40;
rnds[8] = (rnds[8] & 0x3f) | 0x80;
// Copy bytes to buffer, if provided
if (buf) {
for (var ii = 0; ii < 16; ++ii) {
buf[i + ii] = rnds[ii];
}
}
return buf || bytesToUuid(rnds);
}
module.exports = v4;
/***/ }),
/***/ 7125:
@@ -82519,10 +82304,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.STATE_CACHE_MATCHED_KEY = exports.STATE_CACHE_KEY = void 0;
exports.restoreCache = restoreCache;
const cache = __importStar(__nccwpck_require__(5116));
const glob = __importStar(__nccwpck_require__(7206));
const core = __importStar(__nccwpck_require__(7484));
const inputs_1 = __nccwpck_require__(9612);
const platforms_1 = __nccwpck_require__(8361);
const hash_files_1 = __nccwpck_require__(9660);
exports.STATE_CACHE_KEY = "cache-key";
exports.STATE_CACHE_MATCHED_KEY = "cache-matched-key";
const CACHE_VERSION = "1";
@@ -82549,7 +82334,7 @@ function computeKeys(version) {
let cacheDependencyPathHash = "-";
if (inputs_1.cacheDependencyGlob !== "") {
core.info(`Searching files using cache dependency glob: ${inputs_1.cacheDependencyGlob.split("\n").join(",")}`);
cacheDependencyPathHash += yield glob.hashFiles(inputs_1.cacheDependencyGlob, undefined, undefined, true);
cacheDependencyPathHash += yield (0, hash_files_1.hashFiles)(inputs_1.cacheDependencyGlob, true);
if (cacheDependencyPathHash === "-") {
throw new Error(`No file in ${process.cwd()} matched to [${inputs_1.cacheDependencyGlob.split("\n").join(",")}], make sure you have checked out the target repository`);
}
@@ -82573,6 +82358,114 @@ function handleMatchResult(matchedKey, primaryKey) {
}
/***/ }),
/***/ 9660:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __asyncValues = (this && this.__asyncValues) || function (o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.hashFiles = hashFiles;
const crypto = __importStar(__nccwpck_require__(7598));
const core = __importStar(__nccwpck_require__(7484));
const fs = __importStar(__nccwpck_require__(3024));
const stream = __importStar(__nccwpck_require__(7075));
const util = __importStar(__nccwpck_require__(7975));
const glob_1 = __nccwpck_require__(7206);
/**
* 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.
*/
function hashFiles(pattern_1) {
return __awaiter(this, arguments, void 0, function* (pattern, verbose = false) {
var _a, e_1, _b, _c;
const globber = yield (0, glob_1.create)(pattern);
let hasMatch = false;
const writeDelegate = verbose ? core.info : core.debug;
const result = crypto.createHash("sha256");
let count = 0;
try {
for (var _d = true, _e = __asyncValues(globber.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
_c = _f.value;
_d = false;
const file = _c;
writeDelegate(file);
if (fs.statSync(file).isDirectory()) {
writeDelegate(`Skip directory '${file}'.`);
continue;
}
const hash = crypto.createHash("sha256");
const pipeline = util.promisify(stream.pipeline);
yield pipeline(fs.createReadStream(file), hash);
result.write(hash.digest());
count++;
if (!hasMatch) {
hasMatch = true;
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
}
finally { if (e_1) throw e_1.error; }
}
result.end();
if (hasMatch) {
writeDelegate(`Found ${count} files to hash.`);
return result.digest("hex");
}
writeDelegate("No matches found for glob");
return "";
});
}
/***/ }),
/***/ 1653:
@@ -82716,7 +82609,7 @@ exports.githubToken = core.getInput("github-token");
function getToolBinDir() {
const toolBinDirInput = core.getInput("tool-bin-dir");
if (toolBinDirInput !== "") {
return toolBinDirInput;
return expandTilde(toolBinDirInput);
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
@@ -82729,7 +82622,7 @@ function getToolBinDir() {
function getToolDir() {
const toolDirInput = core.getInput("tool-dir");
if (toolDirInput !== "") {
return toolDirInput;
return expandTilde(toolDirInput);
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
@@ -82742,13 +82635,19 @@ function getToolDir() {
function getCacheLocalPath() {
const cacheLocalPathInput = core.getInput("cache-local-path");
if (cacheLocalPathInput !== "") {
return cacheLocalPathInput;
return expandTilde(cacheLocalPathInput);
}
if (process.env.RUNNER_TEMP !== undefined) {
return `${process.env.RUNNER_TEMP}${node_path_1.default.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) {
if (input.startsWith("~")) {
return `${process.env.HOME}${input.substring(1)}`;
}
return input;
}
/***/ }),
@@ -82899,6 +82798,14 @@ module.exports = require("net");
/***/ }),
/***/ 7598:
/***/ ((module) => {
"use strict";
module.exports = require("node:crypto");
/***/ }),
/***/ 8474:
/***/ ((module) => {
@@ -82907,6 +82814,14 @@ module.exports = require("node:events");
/***/ }),
/***/ 3024:
/***/ ((module) => {
"use strict";
module.exports = require("node:fs");
/***/ }),
/***/ 6760:
/***/ ((module) => {

451
dist/setup/index.js generated vendored
View File

@@ -562,11 +562,11 @@ const core = __importStar(__nccwpck_require__(7484));
const exec = __importStar(__nccwpck_require__(5236));
const glob = __importStar(__nccwpck_require__(9688));
const io = __importStar(__nccwpck_require__(4994));
const crypto = __importStar(__nccwpck_require__(6982));
const fs = __importStar(__nccwpck_require__(9896));
const path = __importStar(__nccwpck_require__(6928));
const semver = __importStar(__nccwpck_require__(9318));
const util = __importStar(__nccwpck_require__(9023));
const uuid_1 = __nccwpck_require__(7723);
const constants_1 = __nccwpck_require__(8287);
// From https://github.com/actions/toolkit/blob/main/packages/tool-cache/src/tool-cache.ts#L23
function createTempDirectory() {
@@ -589,7 +589,7 @@ function createTempDirectory() {
}
tempDirectory = path.join(baseLocation, 'actions', 'temp');
}
const dest = path.join(tempDirectory, (0, uuid_1.v4)());
const dest = path.join(tempDirectory, crypto.randomUUID());
yield io.mkdirP(dest);
return dest;
});
@@ -49274,7 +49274,7 @@ exports.ContextAPI = ContextAPI;
*/
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.DiagAPI = void 0;
const ComponentLogger_1 = __nccwpck_require__(104);
const ComponentLogger_1 = __nccwpck_require__(7723);
const logLevelLogger_1 = __nccwpck_require__(3514);
const types_1 = __nccwpck_require__(2573);
const global_utils_1 = __nccwpck_require__(9923);
@@ -49996,7 +49996,7 @@ exports.diag = diag_1.DiagAPI.instance();
/***/ }),
/***/ 104:
/***/ 7723:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
"use strict";
@@ -80252,21 +80252,6 @@ exports.getUserAgent = getUserAgent;
//# sourceMappingURL=index.js.map
/***/ }),
/***/ 7723:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
var v1 = __nccwpck_require__(6626);
var v4 = __nccwpck_require__(9021);
var uuid = v4;
uuid.v1 = v1;
uuid.v4 = v4;
module.exports = uuid;
/***/ }),
/***/ 8682:
@@ -80315,122 +80300,6 @@ module.exports = function nodeRNG() {
};
/***/ }),
/***/ 6626:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
var rng = __nccwpck_require__(1694);
var bytesToUuid = __nccwpck_require__(8682);
// **`v1()` - Generate time-based UUID**
//
// Inspired by https://github.com/LiosK/UUID.js
// and http://docs.python.org/library/uuid.html
var _nodeId;
var _clockseq;
// Previous uuid creation time
var _lastMSecs = 0;
var _lastNSecs = 0;
// See https://github.com/uuidjs/uuid for API details
function v1(options, buf, offset) {
var i = buf && offset || 0;
var b = buf || [];
options = options || {};
var node = options.node || _nodeId;
var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;
// node and clockseq need to be initialized to random values if they're not
// specified. We do this lazily to minimize issues related to insufficient
// system entropy. See #189
if (node == null || clockseq == null) {
var seedBytes = rng();
if (node == null) {
// Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
node = _nodeId = [
seedBytes[0] | 0x01,
seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]
];
}
if (clockseq == null) {
// Per 4.2.2, randomize (14 bit) clockseq
clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;
}
}
// UUID timestamps are 100 nano-second units since the Gregorian epoch,
// (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
// time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
// (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();
// Per 4.2.1.2, use count of uuid's generated during the current clock
// cycle to simulate higher resolution clock
var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
// Time since last uuid creation (in msecs)
var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;
// Per 4.2.1.2, Bump clockseq on clock regression
if (dt < 0 && options.clockseq === undefined) {
clockseq = clockseq + 1 & 0x3fff;
}
// Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
// time interval
if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
nsecs = 0;
}
// Per 4.2.1.2 Throw error if too many uuids are requested
if (nsecs >= 10000) {
throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec');
}
_lastMSecs = msecs;
_lastNSecs = nsecs;
_clockseq = clockseq;
// Per 4.1.4 - Convert from unix epoch to Gregorian epoch
msecs += 12219292800000;
// `time_low`
var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
b[i++] = tl >>> 24 & 0xff;
b[i++] = tl >>> 16 & 0xff;
b[i++] = tl >>> 8 & 0xff;
b[i++] = tl & 0xff;
// `time_mid`
var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;
b[i++] = tmh >>> 8 & 0xff;
b[i++] = tmh & 0xff;
// `time_high_and_version`
b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
b[i++] = tmh >>> 16 & 0xff;
// `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
b[i++] = clockseq >>> 8 | 0x80;
// `clock_seq_low`
b[i++] = clockseq & 0xff;
// `node`
for (var n = 0; n < 6; ++n) {
b[i + n] = node[n];
}
return buf ? buf : bytesToUuid(b);
}
module.exports = v1;
/***/ }),
/***/ 9021:
@@ -87518,10 +87387,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.STATE_CACHE_MATCHED_KEY = exports.STATE_CACHE_KEY = void 0;
exports.restoreCache = restoreCache;
const cache = __importStar(__nccwpck_require__(5116));
const glob = __importStar(__nccwpck_require__(7206));
const core = __importStar(__nccwpck_require__(7484));
const inputs_1 = __nccwpck_require__(9612);
const platforms_1 = __nccwpck_require__(8361);
const hash_files_1 = __nccwpck_require__(9660);
exports.STATE_CACHE_KEY = "cache-key";
exports.STATE_CACHE_MATCHED_KEY = "cache-matched-key";
const CACHE_VERSION = "1";
@@ -87548,7 +87417,7 @@ function computeKeys(version) {
let cacheDependencyPathHash = "-";
if (inputs_1.cacheDependencyGlob !== "") {
core.info(`Searching files using cache dependency glob: ${inputs_1.cacheDependencyGlob.split("\n").join(",")}`);
cacheDependencyPathHash += yield glob.hashFiles(inputs_1.cacheDependencyGlob, undefined, undefined, true);
cacheDependencyPathHash += yield (0, hash_files_1.hashFiles)(inputs_1.cacheDependencyGlob, true);
if (cacheDependencyPathHash === "-") {
throw new Error(`No file in ${process.cwd()} matched to [${inputs_1.cacheDependencyGlob.split("\n").join(",")}], make sure you have checked out the target repository`);
}
@@ -87675,6 +87544,168 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = {
"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",
@@ -89769,24 +89800,25 @@ const core = __importStar(__nccwpck_require__(7484));
const tc = __importStar(__nccwpck_require__(3472));
const exec = __importStar(__nccwpck_require__(5236));
const path = __importStar(__nccwpck_require__(6760));
const node_fs_1 = __nccwpck_require__(3024);
const checksum_1 = __nccwpck_require__(5391);
const constants_1 = __nccwpck_require__(6156);
function downloadLatest(platform, arch, checkSum, githubToken) {
return __awaiter(this, void 0, void 0, function* () {
const artifact = `uv-${arch}-${platform}`;
let downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/latest/download/${artifact}`;
let extension = ".tar.gz";
if (platform === "pc-windows-msvc") {
downloadUrl += ".zip";
}
else {
downloadUrl += ".tar.gz";
extension = ".zip";
}
const downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/latest/download/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = yield tc.downloadTool(downloadUrl, undefined, githubToken);
let uvExecutablePath;
let uvDir;
if (platform === "pc-windows-msvc") {
uvDir = yield tc.extractZip(downloadPath);
const fullPathWithExtension = `${downloadPath}${extension}`;
yield node_fs_1.promises.copyFile(downloadPath, fullPathWithExtension);
uvDir = yield tc.extractZip(fullPathWithExtension);
// On windows extracting the zip does not create an intermediate directory
uvExecutablePath = path.join(uvDir, "uv.exe");
}
@@ -89868,6 +89900,7 @@ exports.downloadVersion = downloadVersion;
const core = __importStar(__nccwpck_require__(7484));
const tc = __importStar(__nccwpck_require__(3472));
const path = __importStar(__nccwpck_require__(6760));
const node_fs_1 = __nccwpck_require__(3024);
const constants_1 = __nccwpck_require__(6156);
const checksum_1 = __nccwpck_require__(5391);
const github = __importStar(__nccwpck_require__(3228));
@@ -89886,19 +89919,19 @@ function downloadVersion(platform, arch, version, checkSum, githubToken) {
return __awaiter(this, void 0, void 0, function* () {
const resolvedVersion = yield resolveVersion(version, githubToken);
const artifact = `uv-${arch}-${platform}`;
let downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/download/${resolvedVersion}/${artifact}`;
let extension = ".tar.gz";
if (platform === "pc-windows-msvc") {
downloadUrl += ".zip";
}
else {
downloadUrl += ".tar.gz";
extension = ".zip";
}
const downloadUrl = `https://github.com/${constants_1.OWNER}/${constants_1.REPO}/releases/download/${resolvedVersion}/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = yield tc.downloadTool(downloadUrl, undefined, githubToken);
yield (0, checksum_1.validateChecksum)(checkSum, downloadPath, arch, platform, resolvedVersion);
let uvDir;
if (platform === "pc-windows-msvc") {
uvDir = yield tc.extractZip(downloadPath);
const fullPathWithExtension = `${downloadPath}${extension}`;
yield node_fs_1.promises.copyFile(downloadPath, fullPathWithExtension);
uvDir = yield tc.extractZip(fullPathWithExtension);
// On windows extracting the zip does not create an intermediate directory
}
else {
@@ -89935,6 +89968,114 @@ function getAvailableVersions(githubToken) {
}
/***/ }),
/***/ 9660:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __asyncValues = (this && this.__asyncValues) || function (o) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var m = o[Symbol.asyncIterator], i;
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.hashFiles = hashFiles;
const crypto = __importStar(__nccwpck_require__(7598));
const core = __importStar(__nccwpck_require__(7484));
const fs = __importStar(__nccwpck_require__(3024));
const stream = __importStar(__nccwpck_require__(7075));
const util = __importStar(__nccwpck_require__(7975));
const glob_1 = __nccwpck_require__(7206);
/**
* 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.
*/
function hashFiles(pattern_1) {
return __awaiter(this, arguments, void 0, function* (pattern, verbose = false) {
var _a, e_1, _b, _c;
const globber = yield (0, glob_1.create)(pattern);
let hasMatch = false;
const writeDelegate = verbose ? core.info : core.debug;
const result = crypto.createHash("sha256");
let count = 0;
try {
for (var _d = true, _e = __asyncValues(globber.globGenerator()), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
_c = _f.value;
_d = false;
const file = _c;
writeDelegate(file);
if (fs.statSync(file).isDirectory()) {
writeDelegate(`Skip directory '${file}'.`);
continue;
}
const hash = crypto.createHash("sha256");
const pipeline = util.promisify(stream.pipeline);
yield pipeline(fs.createReadStream(file), hash);
result.write(hash.digest());
count++;
if (!hasMatch) {
hasMatch = true;
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
}
finally { if (e_1) throw e_1.error; }
}
result.end();
if (hasMatch) {
writeDelegate(`Found ${count} files to hash.`);
return result.digest("hex");
}
writeDelegate("No matches found for glob");
return "";
});
}
/***/ }),
/***/ 2180:
@@ -90143,7 +90284,7 @@ exports.githubToken = core.getInput("github-token");
function getToolBinDir() {
const toolBinDirInput = core.getInput("tool-bin-dir");
if (toolBinDirInput !== "") {
return toolBinDirInput;
return expandTilde(toolBinDirInput);
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
@@ -90156,7 +90297,7 @@ function getToolBinDir() {
function getToolDir() {
const toolDirInput = core.getInput("tool-dir");
if (toolDirInput !== "") {
return toolDirInput;
return expandTilde(toolDirInput);
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
@@ -90169,13 +90310,19 @@ function getToolDir() {
function getCacheLocalPath() {
const cacheLocalPathInput = core.getInput("cache-local-path");
if (cacheLocalPathInput !== "") {
return cacheLocalPathInput;
return expandTilde(cacheLocalPathInput);
}
if (process.env.RUNNER_TEMP !== undefined) {
return `${process.env.RUNNER_TEMP}${node_path_1.default.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) {
if (input.startsWith("~")) {
return `${process.env.HOME}${input.substring(1)}`;
}
return input;
}
/***/ }),

56
package-lock.json generated
View File

@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"@actions/cache": "^3.2.4",
"@actions/cache": "^3.3.0",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^6.0.0",
@@ -20,9 +20,9 @@
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.7.9",
"@types/node": "^22.9.1",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.2",
"@vercel/ncc": "^0.38.3",
"jest": "^29.7.0",
"js-yaml": "^4.1.0",
"ts-jest": "^29.2.5",
@@ -30,11 +30,11 @@
}
},
"node_modules/@actions/cache": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.4.tgz",
"integrity": "sha512-RuHnwfcDagtX+37s0ZWy7clbOfnZ7AlDJQ7k/9rzt2W4Gnwde3fa/qjSjVuz4vLcLIpc7fUob27CMrqiWZytYA==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.3.0.tgz",
"integrity": "sha512-+eCsMTIZUEm+QA9GqjollOhCdvRrZ1JV8d9Rp34zVNizBkYITO8dhKczP5Xps1dFzc5n59p7vYVtZrGt18bb5Q==",
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.0.1",
"@actions/glob": "^0.1.0",
"@actions/http-client": "^2.1.1",
@@ -42,8 +42,7 @@
"@azure/abort-controller": "^1.1.0",
"@azure/ms-rest-js": "^2.6.0",
"@azure/storage-blob": "^12.13.0",
"semver": "^6.3.1",
"uuid": "^3.3.3"
"semver": "^6.3.1"
}
},
"node_modules/@actions/cache/node_modules/@actions/glob": {
@@ -2026,11 +2025,11 @@
}
},
"node_modules/@types/node": {
"version": "22.7.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.9.tgz",
"integrity": "sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==",
"version": "22.9.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz",
"integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==",
"dependencies": {
"undici-types": "~6.19.2"
"undici-types": "~6.19.8"
}
},
"node_modules/@types/node-fetch": {
@@ -2091,9 +2090,9 @@
"dev": true
},
"node_modules/@vercel/ncc": {
"version": "0.38.2",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.2.tgz",
"integrity": "sha512-3yel3jaxUg9pHBv4+KeC9qlbdZPug+UMtUOlhvpDYCMSgcNSrS2Hv1LoqMsOV7hf2lYscx+BESfJOIla1WsmMQ==",
"version": "0.38.3",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.3.tgz",
"integrity": "sha512-rnK6hJBS6mwc+Bkab+PGPs9OiS0i/3kdTO+CkI8V0/VrW3vmz7O2Pxjw/owOlmo6PKEIxRSeZKv/kuL9itnpYA==",
"dev": true,
"bin": {
"ncc": "dist/ncc/cli.js"
@@ -4887,11 +4886,11 @@
},
"dependencies": {
"@actions/cache": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.4.tgz",
"integrity": "sha512-RuHnwfcDagtX+37s0ZWy7clbOfnZ7AlDJQ7k/9rzt2W4Gnwde3fa/qjSjVuz4vLcLIpc7fUob27CMrqiWZytYA==",
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.3.0.tgz",
"integrity": "sha512-+eCsMTIZUEm+QA9GqjollOhCdvRrZ1JV8d9Rp34zVNizBkYITO8dhKczP5Xps1dFzc5n59p7vYVtZrGt18bb5Q==",
"requires": {
"@actions/core": "^1.10.0",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.0.1",
"@actions/glob": "^0.1.0",
"@actions/http-client": "^2.1.1",
@@ -4899,8 +4898,7 @@
"@azure/abort-controller": "^1.1.0",
"@azure/ms-rest-js": "^2.6.0",
"@azure/storage-blob": "^12.13.0",
"semver": "^6.3.1",
"uuid": "^3.3.3"
"semver": "^6.3.1"
},
"dependencies": {
"@actions/glob": {
@@ -6466,11 +6464,11 @@
}
},
"@types/node": {
"version": "22.7.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.9.tgz",
"integrity": "sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg==",
"version": "22.9.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz",
"integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==",
"requires": {
"undici-types": "~6.19.2"
"undici-types": "~6.19.8"
}
},
"@types/node-fetch": {
@@ -6530,9 +6528,9 @@
"dev": true
},
"@vercel/ncc": {
"version": "0.38.2",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.2.tgz",
"integrity": "sha512-3yel3jaxUg9pHBv4+KeC9qlbdZPug+UMtUOlhvpDYCMSgcNSrS2Hv1LoqMsOV7hf2lYscx+BESfJOIla1WsmMQ==",
"version": "0.38.3",
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.3.tgz",
"integrity": "sha512-rnK6hJBS6mwc+Bkab+PGPs9OiS0i/3kdTO+CkI8V0/VrW3vmz7O2Pxjw/owOlmo6PKEIxRSeZKv/kuL9itnpYA==",
"dev": true
},
"abort-controller": {

View File

@@ -23,7 +23,7 @@
"author": "@eifinger",
"license": "MIT",
"dependencies": {
"@actions/cache": "^3.2.4",
"@actions/cache": "^3.3.0",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/github": "^6.0.0",
@@ -34,9 +34,9 @@
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.7.9",
"@types/node": "^22.9.1",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.2",
"@vercel/ncc": "^0.38.3",
"jest": "^29.7.0",
"js-yaml": "^4.1.0",
"ts-jest": "^29.2.5",

View File

@@ -1,5 +1,4 @@
import * as cache from "@actions/cache";
import * as glob from "@actions/glob";
import * as core from "@actions/core";
import {
cacheDependencyGlob,
@@ -7,6 +6,7 @@ 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,12 +39,7 @@ async function computeKeys(version: string): Promise<string> {
core.info(
`Searching files using cache dependency glob: ${cacheDependencyGlob.split("\n").join(",")}`,
);
cacheDependencyPathHash += await glob.hashFiles(
cacheDependencyGlob,
undefined,
undefined,
true,
);
cacheDependencyPathHash += await hashFiles(cacheDependencyGlob, true);
if (cacheDependencyPathHash === "-") {
throw new Error(
`No file in ${process.cwd()} matched to [${cacheDependencyGlob.split("\n").join(",")}], make sure you have checked out the target repository`,

View File

@@ -1,5 +1,329 @@
// 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":

View File

@@ -2,6 +2,7 @@ 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 { validateChecksum } from "./checksum/checksum";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
@@ -13,12 +14,11 @@ export async function downloadLatest(
githubToken: string | undefined,
): Promise<{ cachedToolDir: string; version: string }> {
const artifact = `uv-${arch}-${platform}`;
let downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${artifact}`;
let extension = ".tar.gz";
if (platform === "pc-windows-msvc") {
downloadUrl += ".zip";
} else {
downloadUrl += ".tar.gz";
extension = ".zip";
}
const downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/latest/download/${artifact}${extension}`;
core.info(`Downloading uv from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool(
@@ -29,7 +29,9 @@ export async function downloadLatest(
let uvExecutablePath: string;
let uvDir: string;
if (platform === "pc-windows-msvc") {
uvDir = await tc.extractZip(downloadPath);
const fullPathWithExtension = `${downloadPath}${extension}`;
await fs.copyFile(downloadPath, fullPathWithExtension);
uvDir = await tc.extractZip(fullPathWithExtension);
// On windows extracting the zip does not create an intermediate directory
uvExecutablePath = path.join(uvDir, "uv.exe");
} else {

View File

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

48
src/hash/hash-files.ts Normal file
View File

@@ -0,0 +1,48 @@
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

@@ -15,7 +15,7 @@ export const githubToken = core.getInput("github-token");
function getToolBinDir(): string | undefined {
const toolBinDirInput = core.getInput("tool-bin-dir");
if (toolBinDirInput !== "") {
return toolBinDirInput;
return expandTilde(toolBinDirInput);
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
@@ -31,7 +31,7 @@ function getToolBinDir(): string | undefined {
function getToolDir(): string | undefined {
const toolDirInput = core.getInput("tool-dir");
if (toolDirInput !== "") {
return toolDirInput;
return expandTilde(toolDirInput);
}
if (process.platform === "win32") {
if (process.env.RUNNER_TEMP !== undefined) {
@@ -47,7 +47,7 @@ function getToolDir(): string | undefined {
function getCacheLocalPath(): string {
const cacheLocalPathInput = core.getInput("cache-local-path");
if (cacheLocalPathInput !== "") {
return cacheLocalPathInput;
return expandTilde(cacheLocalPathInput);
}
if (process.env.RUNNER_TEMP !== undefined) {
return `${process.env.RUNNER_TEMP}${path.sep}setup-uv-cache`;
@@ -56,3 +56,10 @@ function getCacheLocalPath(): string {
"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)}`;
}
return input;
}