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 | Date | |
|---|---|---|---|
|
|
caf0cab7a6 | ||
|
|
7c238111e6 | ||
|
|
3eca4c2715 | ||
|
|
aee2e918ee | ||
|
|
4ffb6d766c | ||
|
|
e779db7426 | ||
|
|
cb1ce8a914 | ||
|
|
cf7bbf8f13 | ||
|
|
2e657c127d | ||
|
|
a7e15805d2 | ||
|
|
2a578ce17f | ||
|
|
6f467a02b3 | ||
|
|
d2242d1901 | ||
|
|
5552ab3709 | ||
|
|
3e4fe09ab3 | ||
|
|
56f89d8124 |
46
.github/workflows/test-cache.yml
vendored
46
.github/workflows/test-cache.yml
vendored
@@ -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
|
||||
|
||||
21
.github/workflows/test.yml
vendored
21
.github/workflows/test.yml
vendored
@@ -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
|
||||
|
||||
|
||||
30
README.md
30
README.md
@@ -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
363
dist/save-cache/index.js
generated
vendored
@@ -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
451
dist/setup/index.js
generated
vendored
@@ -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
56
package-lock.json
generated
@@ -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": {
|
||||
|
||||
@@ -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",
|
||||
|
||||
9
src/cache/restore-cache.ts
vendored
9
src/cache/restore-cache.ts
vendored
@@ -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`,
|
||||
|
||||
@@ -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":
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
48
src/hash/hash-files.ts
Normal 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 "";
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user