Compare commits

...
9 Commits
Author SHA1 Message Date
Kevin StillhammerandGitHub 39f75e526a Bump dependencies (#85) 2025-02-18 11:48:48 +01:00
e0aedf576b chore: update known checksums for 0.9.6 (#80)
chore: update known checksums for 0.9.6

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-02-11 09:09:40 +01:00
160796f1a1 chore: update known checksums for 0.9.5 (#77)
chore: update known checksums for 0.9.5

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-02-07 08:11:31 +01:00
Kevin StillhammerandGitHub a7b1296fb5 Refactor internal function names (#76) 2025-02-06 17:51:03 +01:00
Kevin StillhammerandGitHub 097d5252c8 Run npm install as part of npm run all (#75) 2025-02-06 17:46:44 +01:00
Kevin StillhammerandGitHub 5f8cbe30d7 Make it clearer how to fix lint errors (#74) 2025-02-06 17:42:12 +01:00
Dave JohansenandGitHub d8f577dec4 Support requirements.txt for version-file (#68) 2025-02-06 17:41:44 +01:00
Kevin StillhammerandGitHub f173943ec8 Run update-known-checksums every night (#73) 2025-02-06 08:43:41 +01:00
Kevin StillhammerandGitHub d34edb0565 Fix version-file input (#72)
The input was previously ignored

Fixes: #69
2025-02-06 08:40:41 +01:00
14 changed files with 495 additions and 379 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
- name: Compare the expected and actual dist/ directories
run: |
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
echo "Detected uncommitted changes after build. See status below:"
echo "::error::Detected uncommitted changes after build. Run 'npm run build' and commit the changes."
git diff --text -v
exit 1
fi
+35 -1
View File
@@ -26,7 +26,7 @@ jobs:
npm run all
- name: Make sure no changes from linters are detected
run: |
git diff --exit-code
git diff --exit-code || (echo "::error::Please run 'npm run all' to fix the issues" && exit 1)
test-latest-version:
runs-on: ${{ matrix.os }}
strategy:
@@ -51,6 +51,23 @@ jobs:
with:
version: ${{ matrix.ruff-version }}
src: __tests__/fixtures/python-project
test-version-from-version-file-pyproject:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use version from pyproject.toml
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/python-project
version-file: __tests__/fixtures/pyproject.toml
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.9.3" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-pyproject:
runs-on: ubuntu-latest
steps:
@@ -118,6 +135,23 @@ jobs:
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-requirements:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use default version from requirements.txt
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/python-project
version-file: __tests__/fixtures/requirements.txt
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.9.0" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-semver-range:
runs-on: ubuntu-latest
steps:
@@ -1,6 +1,8 @@
name: "Update known checksums"
on:
workflow_dispatch:
schedule:
- cron: "0 4 * * *" # Run every day at 4am UTC
jobs:
build:
+2 -2
View File
@@ -124,13 +124,13 @@ to install the latest version that satisfies the range.
#### Install a version from a specified version file
You can specify a file to read the version from.
Currently `pyproject.toml` is supported.
Currently `pyproject.toml` and `requirements.txt` are supported.
```yaml
- name: Install a version from a specified version file
uses: astral-sh/ruff-action@v3
with:
version-file: "my-path/to/pyproject.toml"
version-file: "my-path/to/pyproject.toml-or-requirements.txt"
```
### Validate checksum
+13
View File
@@ -0,0 +1,13 @@
[project]
name = "pyython-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"ruff==0.9.3",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
+1
View File
@@ -0,0 +1 @@
ruff==0.9.0
Generated Vendored
+137 -151
View File
@@ -3202,7 +3202,11 @@ function copyFile(srcFile, destFile, force) {
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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];
@@ -3215,7 +3219,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
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;
};
@@ -3245,11 +3249,11 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
let file;
for (const candidate of candidates) {
const version = candidate.version;
core_1.debug(`check ${version} satisfies ${versionSpec}`);
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver.satisfies(version, versionSpec) &&
(!stable || candidate.stable === stable)) {
file = candidate.files.find(item => {
core_1.debug(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
let chk = item.arch === archFilter && item.platform === platFilter;
if (chk && item.platform_version) {
const osVersion = module.exports._getOsVersion();
@@ -3263,7 +3267,7 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
return chk;
});
if (file) {
core_1.debug(`matched ${candidate.version}`);
(0, core_1.debug)(`matched ${candidate.version}`);
match = candidate;
break;
}
@@ -3301,10 +3305,7 @@ function _getOsVersion() {
if (parts.length === 2 &&
(parts[0].trim() === 'VERSION_ID' ||
parts[0].trim() === 'DISTRIB_RELEASE')) {
version = parts[1]
.trim()
.replace(/^"/, '')
.replace(/"$/, '');
version = parts[1].trim().replace(/^"/, '').replace(/"$/, '');
break;
}
}
@@ -3337,7 +3338,11 @@ exports._readLinuxVersionFile = _readLinuxVersionFile;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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];
@@ -3350,7 +3355,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
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;
};
@@ -3427,7 +3432,11 @@ exports.RetryHelper = RetryHelper;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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];
@@ -3440,7 +3449,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
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;
};
@@ -3453,13 +3462,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.evaluateVersions = exports.isExplicitVersion = exports.findFromManifest = exports.getManifestFromRepo = exports.findAllVersions = exports.find = exports.cacheFile = exports.cacheDir = exports.extractZip = exports.extractXar = exports.extractTar = exports.extract7z = exports.downloadTool = exports.HTTPError = void 0;
const core = __importStar(__nccwpck_require__(7484));
const io = __importStar(__nccwpck_require__(4994));
const crypto = __importStar(__nccwpck_require__(6982));
const fs = __importStar(__nccwpck_require__(9896));
const mm = __importStar(__nccwpck_require__(8036));
const os = __importStar(__nccwpck_require__(857));
@@ -3469,7 +3476,6 @@ const semver = __importStar(__nccwpck_require__(9318));
const stream = __importStar(__nccwpck_require__(2203));
const util = __importStar(__nccwpck_require__(9023));
const assert_1 = __nccwpck_require__(2613);
const v4_1 = __importDefault(__nccwpck_require__(9021));
const exec_1 = __nccwpck_require__(5236);
const retry_helper_1 = __nccwpck_require__(7380);
class HTTPError extends Error {
@@ -3494,7 +3500,7 @@ const userAgent = 'actions/tool-cache';
*/
function downloadTool(url, dest, auth, headers) {
return __awaiter(this, void 0, void 0, function* () {
dest = dest || path.join(_getTempDirectory(), v4_1.default());
dest = dest || path.join(_getTempDirectory(), crypto.randomUUID());
yield io.mkdirP(path.dirname(dest));
core.debug(`Downloading ${url}`);
core.debug(`Destination ${dest}`);
@@ -3583,8 +3589,8 @@ function downloadToolAttempt(url, dest, auth, headers) {
*/
function extract7z(file, dest, _7zPath) {
return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_WINDOWS, 'extract7z() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required');
(0, assert_1.ok)(IS_WINDOWS, 'extract7z() not supported on current OS');
(0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest);
const originalCwd = process.cwd();
process.chdir(dest);
@@ -3601,7 +3607,7 @@ function extract7z(file, dest, _7zPath) {
const options = {
silent: true
};
yield exec_1.exec(`"${_7zPath}"`, args, options);
yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
}
finally {
process.chdir(originalCwd);
@@ -3630,7 +3636,7 @@ function extract7z(file, dest, _7zPath) {
};
try {
const powershellPath = yield io.which('powershell', true);
yield exec_1.exec(`"${powershellPath}"`, args, options);
yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
}
finally {
process.chdir(originalCwd);
@@ -3658,7 +3664,7 @@ function extractTar(file, dest, flags = 'xz') {
// Determine whether GNU tar
core.debug('Checking tar --version');
let versionOutput = '';
yield exec_1.exec('tar --version', [], {
yield (0, exec_1.exec)('tar --version', [], {
ignoreReturnCode: true,
silent: true,
listeners: {
@@ -3694,7 +3700,7 @@ function extractTar(file, dest, flags = 'xz') {
args.push('--overwrite');
}
args.push('-C', destArg, '-f', fileArg);
yield exec_1.exec(`tar`, args);
yield (0, exec_1.exec)(`tar`, args);
return dest;
});
}
@@ -3709,8 +3715,8 @@ exports.extractTar = extractTar;
*/
function extractXar(file, dest, flags = []) {
return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_MAC, 'extractXar() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required');
(0, assert_1.ok)(IS_MAC, 'extractXar() not supported on current OS');
(0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest);
let args;
if (flags instanceof Array) {
@@ -3724,7 +3730,7 @@ function extractXar(file, dest, flags = []) {
args.push('-v');
}
const xarPath = yield io.which('xar', true);
yield exec_1.exec(`"${xarPath}"`, _unique(args));
yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
return dest;
});
}
@@ -3778,7 +3784,7 @@ function extractZipWin(file, dest) {
pwshCommand
];
core.debug(`Using pwsh at path: ${pwshPath}`);
yield exec_1.exec(`"${pwshPath}"`, args);
yield (0, exec_1.exec)(`"${pwshPath}"`, args);
}
else {
const powershellCommand = [
@@ -3799,7 +3805,7 @@ function extractZipWin(file, dest) {
];
const powershellPath = yield io.which('powershell', true);
core.debug(`Using powershell at path: ${powershellPath}`);
yield exec_1.exec(`"${powershellPath}"`, args);
yield (0, exec_1.exec)(`"${powershellPath}"`, args);
}
});
}
@@ -3811,7 +3817,7 @@ function extractZipNix(file, dest) {
args.unshift('-q');
}
args.unshift('-o'); //overwrite with -o, otherwise a prompt is shown which freezes the run
yield exec_1.exec(`"${unzipPath}"`, args, { cwd: dest });
yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
});
}
/**
@@ -3988,7 +3994,7 @@ function _createExtractFolder(dest) {
return __awaiter(this, void 0, void 0, function* () {
if (!dest) {
// create a temp dir
dest = path.join(_getTempDirectory(), v4_1.default());
dest = path.join(_getTempDirectory(), crypto.randomUUID());
}
yield io.mkdirP(dest);
return dest;
@@ -4061,7 +4067,7 @@ exports.evaluateVersions = evaluateVersions;
*/
function _getCacheDirectory() {
const cacheDirectory = process.env['RUNNER_TOOL_CACHE'] || '';
assert_1.ok(cacheDirectory, 'Expected RUNNER_TOOL_CACHE to be defined');
(0, assert_1.ok)(cacheDirectory, 'Expected RUNNER_TOOL_CACHE to be defined');
return cacheDirectory;
}
/**
@@ -4069,7 +4075,7 @@ function _getCacheDirectory() {
*/
function _getTempDirectory() {
const tempDirectory = process.env['RUNNER_TEMP'] || '';
assert_1.ok(tempDirectory, 'Expected RUNNER_TEMP to be defined');
(0, assert_1.ok)(tempDirectory, 'Expected RUNNER_TEMP to be defined');
return tempDirectory;
}
/**
@@ -28188,90 +28194,6 @@ module.exports = {
}
/***/ }),
/***/ 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);
};
/***/ }),
/***/ 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;
/***/ }),
/***/ 5391:
@@ -28372,6 +28294,57 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.9.6": "a3132eb5e3d95f36d378144082276fbed0309789dadb19d8a4c41ec5e80451fb",
"aarch64-pc-windows-msvc-0.9.6": "7c397ec18e458c7a7e49277d7d719b0b6bf2f459f570e01a9f1d1906d678190e",
"aarch64-unknown-linux-gnu-0.9.6": "cf796c953def5a7102002372893942fac875ac718355698a4a70405104dfbb6c",
"aarch64-unknown-linux-musl-0.9.6": "8f64e97deae1c12f659fd13e6e14d78cf15ed876d1548ac76b235f78ab5803e1",
"arm-unknown-linux-musleabihf-0.9.6": "ec72087fa80aff95871aac0f8aa8ca708a82c6789641ac8362fb58212cfc5410",
"armv7-unknown-linux-gnueabihf-0.9.6": "fba48ab2b77a358c2600d5636759ed779b29bebcc8de66e331c00d7704c41d1c",
"armv7-unknown-linux-musleabihf-0.9.6": "4944aafeab7ce9cb5a000bdaf71e38a917b506574f859d333bd4698efd5fd3bc",
"i686-pc-windows-msvc-0.9.6": "05c50165f1330d797de444d99c1c9230dcb2377c2a7ff9b9f8718dc5617c1d4b",
"i686-unknown-linux-gnu-0.9.6": "508a2f35904b986bf7cf7e2a73d138b1ca590daf4ee562c4630c60aa5ba39922",
"i686-unknown-linux-musl-0.9.6": "16acf21b61fa006b5642443bba4c52e84d2ce2b15cba1f616a856956c5a2ea49",
"powerpc64-unknown-linux-gnu-0.9.6": "1309f5489bccfb99084f9686ec20ca1295d7aa976a2c3e6dbeb822564269cbfb",
"powerpc64le-unknown-linux-gnu-0.9.6": "ff0e02c901869fef9c7434be347959ddca64f585a089ac6485592c91c279c803",
"s390x-unknown-linux-gnu-0.9.6": "c5ce85e5913c2d34d3332452e01c12e28a45c15ff33c8e8d30572070979230ba",
"x86_64-apple-darwin-0.9.6": "ec88c095036b25e95391ea202fcc9496d565f4e43152db10785eb9757ea0815d",
"x86_64-pc-windows-msvc-0.9.6": "51f492e46d967c6a3bb63d5e245e8f454ccf6f5207b6f3c4f1b63a8bec30d954",
"x86_64-unknown-linux-gnu-0.9.6": "bed850f15d4d5aaaef2b6a131bfecd5b9d7d3191596249d07e576bd9fd37078e",
"x86_64-unknown-linux-musl-0.9.6": "c725f57aa11d636f1d7f0f378c604d4db29c4dbb5ff0578f9fbbc578364875df",
"aarch64-apple-darwin-0.9.5": "8c9ae3e71317b67f46752a239f8d1044c60ba9d1748d3146af6ed26679eb697f",
"aarch64-pc-windows-msvc-0.9.5": "75882eebde374c8f6016f3501c4a769ec1d13cb07798de77187542f9928eba44",
"aarch64-unknown-linux-gnu-0.9.5": "e637a06d4b8b9f5cced6ad6f1f0a6ec5c1f632db7a3413cac76b61e670409afa",
"aarch64-unknown-linux-musl-0.9.5": "3c5085b2b410ac9449c72d659ac9812eb75cf2619253e53915507a7fec5267f0",
"arm-unknown-linux-musleabihf-0.9.5": "d92bd2ca743d7e5cad0c63597f05c5e97f92940e8fe2e9f388185e7c5ebedd31",
"armv7-unknown-linux-gnueabihf-0.9.5": "61cef37c13e16eb3ac06c46e9d80a8da21a08882d3bd9171a3aaa17f770c23aa",
"armv7-unknown-linux-musleabihf-0.9.5": "167fc22a232f37d77f1bcb580ebe26f13b57130d656c5970ceadc7f356dcbe5a",
"i686-pc-windows-msvc-0.9.5": "6ea88e4aab7c4bc3e8c6f580b814d3a5aa05795e10c9b01e467ecfa8fdc58823",
"i686-unknown-linux-gnu-0.9.5": "3ba63fab8cb42b689543eb560e3301dff320f01f24603cc09552b644266a081d",
"i686-unknown-linux-musl-0.9.5": "307a970b43dfaa419d2baf340555a3ee78eaa65d940797a6d469ee10da3581a6",
"powerpc64-unknown-linux-gnu-0.9.5": "9b64bc415661b503b0ae6716bd8203cbf54342c60a8d75ceed5a0b7c48a5a038",
"powerpc64le-unknown-linux-gnu-0.9.5": "8faeaec0843bf19de8a6e64289ce1dcb4205c82b4a4d189e121137b194c15a5b",
"s390x-unknown-linux-gnu-0.9.5": "b0506369986af415dde8568d5433f9bc801bed310162221677a6ba076d30f26f",
"x86_64-apple-darwin-0.9.5": "4b141507ddadaa524af4ca19eff0fe7fe7a50c45e61e217ff6721a6be9796634",
"x86_64-pc-windows-msvc-0.9.5": "48d096bc53e4c0d7434965c6b4bff911e53250cf8da8866a95b85ed4107259bf",
"x86_64-unknown-linux-gnu-0.9.5": "88ac7931cffa4e247e465b2aa4ed890af7a134e18a422f5f79041a792aa1559b",
"x86_64-unknown-linux-musl-0.9.5": "ef73516d8b7b284cd1a6b8ae33cad373516c29ce3e0eb82744d73def5e516832",
"aarch64-apple-darwin-0.9.4": "48927361be76a93dbded0555d374af3172fc4010b54d97347957f6ab509d7e33",
"aarch64-pc-windows-msvc-0.9.4": "3c14b5fcfae80d22532f895fec0c84dbc9c387a766368b460c3c96aa62b83562",
"aarch64-unknown-linux-gnu-0.9.4": "b165463041685c958a978f0f4e78fb4afd9aa7729508c4eeaee703b0411bd6fe",
"aarch64-unknown-linux-musl-0.9.4": "a9e880d819f290fc602768d25065c1316401229d04f0efaa7440017459968b11",
"arm-unknown-linux-musleabihf-0.9.4": "0f1d4df0f31f9d874e59668d648126c6bbc796a22c65127dd2a4759de02879f7",
"armv7-unknown-linux-gnueabihf-0.9.4": "cb8e19d7ad75c7eb136e2b3ae47d576d9f57c86a6e005b84db2da4cdd2d5f3e5",
"armv7-unknown-linux-musleabihf-0.9.4": "4f2c10151af528935d56ad216125feef7cff4784619f6d62ea749ce037793285",
"i686-pc-windows-msvc-0.9.4": "dae8a08a794ba0716cd4d48a84a3605f5049cef1a70381906b7ec9731915478a",
"i686-unknown-linux-gnu-0.9.4": "2aaa7c5d8d6735e09121a9a4d20161cf9c6f6b9ada0aa433c71c33d2ecd22318",
"i686-unknown-linux-musl-0.9.4": "b1c8d20e12ed41abc38e46f66b397ea6bdcdd59ecae801e81e93eaa239c9f53c",
"powerpc64-unknown-linux-gnu-0.9.4": "e8a89325ae24e42d0c73780bdf448f25871d3657e9df31aa9547e8c2720e45b9",
"powerpc64le-unknown-linux-gnu-0.9.4": "f361098f627e1f920b855bd2e709f420c5f107619f8c8533347ae6ad3e43128d",
"s390x-unknown-linux-gnu-0.9.4": "a2b38dd0babe9af97977e49db895a8ee89bd3ea54d27e28e47d5c7e0f93a32c2",
"x86_64-apple-darwin-0.9.4": "7abe5ec80ae556fcf445be65825a340df32a8404a28332a988cb97dc65fe60c4",
"x86_64-pc-windows-msvc-0.9.4": "45f4b700e864520fdc051b0631df4f07a2f65bcdf51fc01ee07769fd8257d092",
"x86_64-unknown-linux-gnu-0.9.4": "c55b088472c2c6a030bf29f414c6e38028145a32b3c3da2036347f0fc9de6360",
"x86_64-unknown-linux-musl-0.9.4": "c49af645ed618e660c64cd253892039ff30645e1f1563bc7842918f7cd74d596",
"aarch64-apple-darwin-0.9.3": "4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530",
"aarch64-pc-windows-msvc-0.9.3": "3ead3099e552d60f3e85a41fb649c703a5825c22e08ad97261f5a89162463604",
"aarch64-unknown-linux-gnu-0.9.3": "4de4579604254281758231b5146a5aaa8b24cd7e8be8af66f5aa123efa0f6f49",
@@ -30387,6 +30360,7 @@ async function downloadVersion(platform, arch, version, checkSum, githubToken) {
return { version: version, cachedToolDir };
}
async function resolveVersion(versionInput, githubToken) {
core.debug(`Resolving ${versionInput}...`);
const version = versionInput === "latest"
? await getLatestVersion(githubToken)
: versionInput;
@@ -30399,6 +30373,7 @@ async function resolveVersion(versionInput, githubToken) {
if (resolvedVersion === "") {
throw new Error(`No version found for ${version}`);
}
core.debug(`Resolved version: ${resolvedVersion}`);
return resolvedVersion;
}
async function getAvailableVersions(githubToken) {
@@ -30552,17 +30527,21 @@ async function determineVersion() {
return await (0, download_version_1.resolveVersion)(inputs_1.version, inputs_1.githubToken);
}
if (inputs_1.versionFile !== "") {
const versionFromPyproject = (0, pyproject_1.getRuffVersionFromPyproject)(inputs_1.versionFile);
const versionFromPyproject = (0, pyproject_1.getRuffVersionFromRequirementsFile)(inputs_1.versionFile);
if (versionFromPyproject === undefined) {
core.warning("Could not parse version from supplied pyproject.toml. Using latest version.");
return await (0, download_version_1.resolveVersion)("latest", inputs_1.githubToken);
core.warning(`Could not parse version from ${inputs_1.versionFile}. Using latest version.`);
}
return await (0, download_version_1.resolveVersion)(versionFromPyproject || "latest", inputs_1.githubToken);
}
const pyProjectPath = path.join(inputs_1.src, "pyproject.toml");
if (!fs.existsSync(pyProjectPath)) {
core.info(`Could not find ${pyProjectPath}. Using latest version.`);
return await (0, download_version_1.resolveVersion)("latest", inputs_1.githubToken);
}
const versionFromPyproject = (0, pyproject_1.getRuffVersionFromPyproject)(pyProjectPath);
const versionFromPyproject = (0, pyproject_1.getRuffVersionFromRequirementsFile)(pyProjectPath);
if (versionFromPyproject === undefined) {
core.warning(`Could not parse version from ${pyProjectPath}. Using latest version.`);
}
return await (0, download_version_1.resolveVersion)(versionFromPyproject || "latest", inputs_1.githubToken);
}
function addRuffToPath(cachedPath) {
@@ -30725,31 +30704,11 @@ var __importStar = (this && this.__importStar) || (function () {
};
})();
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getRuffVersionFromPyproject = getRuffVersionFromPyproject;
exports.getRuffVersionFromRequirementsFile = getRuffVersionFromRequirementsFile;
const fs = __importStar(__nccwpck_require__(3024));
const core = __importStar(__nccwpck_require__(7484));
const toml = __importStar(__nccwpck_require__(7106));
function getRuffVersionFromPyproject(filePath) {
if (!fs.existsSync(filePath)) {
core.warning(`Could not find file: ${filePath}`);
return undefined;
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
let pyproject;
try {
pyproject = toml.parse(pyprojectContent);
}
catch (err) {
const message = err.message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
const dependencies = pyproject?.project?.dependencies || [];
const optionalDependencies = Object.values(pyproject?.project?.["optional-dependencies"] || {}).flat();
const devDependencies = Object.values(pyproject?.["dependency-groups"] || {})
.flat()
.filter((item) => typeof item === "string");
const allDependencies = dependencies.concat(optionalDependencies, devDependencies);
function getRuffVersionFromAllDependencies(allDependencies) {
const ruffVersionDefinition = allDependencies.find((dep) => dep.startsWith("ruff"));
if (ruffVersionDefinition) {
const ruffVersion = ruffVersionDefinition
@@ -30763,6 +30722,33 @@ function getRuffVersionFromPyproject(filePath) {
}
return undefined;
}
function parsePyproject(pyprojectContent) {
const pyproject = toml.parse(pyprojectContent);
const dependencies = pyproject?.project?.dependencies || [];
const optionalDependencies = Object.values(pyproject?.project?.["optional-dependencies"] || {}).flat();
const devDependencies = Object.values(pyproject?.["dependency-groups"] || {})
.flat()
.filter((item) => typeof item === "string");
return getRuffVersionFromAllDependencies(dependencies.concat(optionalDependencies, devDependencies));
}
function getRuffVersionFromRequirementsFile(filePath) {
if (!fs.existsSync(filePath)) {
core.warning(`Could not find file: ${filePath}`);
return undefined;
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
if (filePath.endsWith(".txt")) {
return getRuffVersionFromAllDependencies(pyprojectContent.split("\n"));
}
try {
return parsePyproject(pyprojectContent);
}
catch (err) {
const message = err.message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
}
/***/ }),
@@ -34018,9 +34004,9 @@ function addQueryParameters(url, parameters) {
}
// pkg/dist-src/util/extract-url-variable-names.js
var urlVariableRegex = /\{[^}]+\}/g;
var urlVariableRegex = /\{[^{}}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
}
function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
@@ -34206,7 +34192,7 @@ function parse(options) {
}
if (url.endsWith("/graphql")) {
if (options.mediaType.previews?.length) {
const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
const previewsFromAcceptHeader = headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g) || [];
headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
return `application/vnd.github.${preview}-preview${format}`;
@@ -34290,7 +34276,7 @@ class RequestError extends Error {
if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace(
/ .*$/,
/(?<! ) .*$/,
" [REDACTED]"
)
});
@@ -34396,7 +34382,7 @@ async function fetchWrapper(requestOptions) {
data: ""
};
if ("deprecation" in responseHeaders) {
const matches = responseHeaders.link && responseHeaders.link.match(/<([^>]+)>; rel="deprecation"/);
const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
const deprecationLink = matches && matches.pop();
log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
@@ -34679,7 +34665,7 @@ var createTokenAuth = function createTokenAuth2(token) {
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/version.js
const version_VERSION = "6.1.3";
const version_VERSION = "6.1.4";
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/index.js
@@ -34877,7 +34863,7 @@ function iterator(octokit, route, parameters) {
const response = await requestMethod({ method, url, headers });
const normalizedResponse = normalizePaginatedListResponse(response);
url = ((normalizedResponse.headers.link || "").match(
/<([^>]+)>;\s*rel="next"/
/<([^<>]+)>;\s*rel="next"/
) || [])[1];
return { value: normalizedResponse };
} catch (error) {
@@ -35227,7 +35213,7 @@ __nccwpck_require__.d(__webpack_exports__, {
});
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
const VERSION = "13.3.0";
const VERSION = "13.3.1";
//# sourceMappingURL=version.js.map
+98 -125
View File
@@ -3202,7 +3202,11 @@ function copyFile(srcFile, destFile, force) {
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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];
@@ -3215,7 +3219,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
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;
};
@@ -3245,11 +3249,11 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
let file;
for (const candidate of candidates) {
const version = candidate.version;
core_1.debug(`check ${version} satisfies ${versionSpec}`);
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver.satisfies(version, versionSpec) &&
(!stable || candidate.stable === stable)) {
file = candidate.files.find(item => {
core_1.debug(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
let chk = item.arch === archFilter && item.platform === platFilter;
if (chk && item.platform_version) {
const osVersion = module.exports._getOsVersion();
@@ -3263,7 +3267,7 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
return chk;
});
if (file) {
core_1.debug(`matched ${candidate.version}`);
(0, core_1.debug)(`matched ${candidate.version}`);
match = candidate;
break;
}
@@ -3301,10 +3305,7 @@ function _getOsVersion() {
if (parts.length === 2 &&
(parts[0].trim() === 'VERSION_ID' ||
parts[0].trim() === 'DISTRIB_RELEASE')) {
version = parts[1]
.trim()
.replace(/^"/, '')
.replace(/"$/, '');
version = parts[1].trim().replace(/^"/, '').replace(/"$/, '');
break;
}
}
@@ -3337,7 +3338,11 @@ exports._readLinuxVersionFile = _readLinuxVersionFile;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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];
@@ -3350,7 +3355,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
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;
};
@@ -3427,7 +3432,11 @@ exports.RetryHelper = RetryHelper;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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];
@@ -3440,7 +3449,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
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.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
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;
};
@@ -3453,13 +3462,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.evaluateVersions = exports.isExplicitVersion = exports.findFromManifest = exports.getManifestFromRepo = exports.findAllVersions = exports.find = exports.cacheFile = exports.cacheDir = exports.extractZip = exports.extractXar = exports.extractTar = exports.extract7z = exports.downloadTool = exports.HTTPError = void 0;
const core = __importStar(__nccwpck_require__(7484));
const io = __importStar(__nccwpck_require__(4994));
const crypto = __importStar(__nccwpck_require__(6982));
const fs = __importStar(__nccwpck_require__(9896));
const mm = __importStar(__nccwpck_require__(8036));
const os = __importStar(__nccwpck_require__(857));
@@ -3469,7 +3476,6 @@ const semver = __importStar(__nccwpck_require__(9318));
const stream = __importStar(__nccwpck_require__(2203));
const util = __importStar(__nccwpck_require__(9023));
const assert_1 = __nccwpck_require__(2613);
const v4_1 = __importDefault(__nccwpck_require__(9021));
const exec_1 = __nccwpck_require__(5236);
const retry_helper_1 = __nccwpck_require__(7380);
class HTTPError extends Error {
@@ -3494,7 +3500,7 @@ const userAgent = 'actions/tool-cache';
*/
function downloadTool(url, dest, auth, headers) {
return __awaiter(this, void 0, void 0, function* () {
dest = dest || path.join(_getTempDirectory(), v4_1.default());
dest = dest || path.join(_getTempDirectory(), crypto.randomUUID());
yield io.mkdirP(path.dirname(dest));
core.debug(`Downloading ${url}`);
core.debug(`Destination ${dest}`);
@@ -3583,8 +3589,8 @@ function downloadToolAttempt(url, dest, auth, headers) {
*/
function extract7z(file, dest, _7zPath) {
return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_WINDOWS, 'extract7z() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required');
(0, assert_1.ok)(IS_WINDOWS, 'extract7z() not supported on current OS');
(0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest);
const originalCwd = process.cwd();
process.chdir(dest);
@@ -3601,7 +3607,7 @@ function extract7z(file, dest, _7zPath) {
const options = {
silent: true
};
yield exec_1.exec(`"${_7zPath}"`, args, options);
yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
}
finally {
process.chdir(originalCwd);
@@ -3630,7 +3636,7 @@ function extract7z(file, dest, _7zPath) {
};
try {
const powershellPath = yield io.which('powershell', true);
yield exec_1.exec(`"${powershellPath}"`, args, options);
yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
}
finally {
process.chdir(originalCwd);
@@ -3658,7 +3664,7 @@ function extractTar(file, dest, flags = 'xz') {
// Determine whether GNU tar
core.debug('Checking tar --version');
let versionOutput = '';
yield exec_1.exec('tar --version', [], {
yield (0, exec_1.exec)('tar --version', [], {
ignoreReturnCode: true,
silent: true,
listeners: {
@@ -3694,7 +3700,7 @@ function extractTar(file, dest, flags = 'xz') {
args.push('--overwrite');
}
args.push('-C', destArg, '-f', fileArg);
yield exec_1.exec(`tar`, args);
yield (0, exec_1.exec)(`tar`, args);
return dest;
});
}
@@ -3709,8 +3715,8 @@ exports.extractTar = extractTar;
*/
function extractXar(file, dest, flags = []) {
return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_MAC, 'extractXar() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required');
(0, assert_1.ok)(IS_MAC, 'extractXar() not supported on current OS');
(0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest);
let args;
if (flags instanceof Array) {
@@ -3724,7 +3730,7 @@ function extractXar(file, dest, flags = []) {
args.push('-v');
}
const xarPath = yield io.which('xar', true);
yield exec_1.exec(`"${xarPath}"`, _unique(args));
yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
return dest;
});
}
@@ -3778,7 +3784,7 @@ function extractZipWin(file, dest) {
pwshCommand
];
core.debug(`Using pwsh at path: ${pwshPath}`);
yield exec_1.exec(`"${pwshPath}"`, args);
yield (0, exec_1.exec)(`"${pwshPath}"`, args);
}
else {
const powershellCommand = [
@@ -3799,7 +3805,7 @@ function extractZipWin(file, dest) {
];
const powershellPath = yield io.which('powershell', true);
core.debug(`Using powershell at path: ${powershellPath}`);
yield exec_1.exec(`"${powershellPath}"`, args);
yield (0, exec_1.exec)(`"${powershellPath}"`, args);
}
});
}
@@ -3811,7 +3817,7 @@ function extractZipNix(file, dest) {
args.unshift('-q');
}
args.unshift('-o'); //overwrite with -o, otherwise a prompt is shown which freezes the run
yield exec_1.exec(`"${unzipPath}"`, args, { cwd: dest });
yield (0, exec_1.exec)(`"${unzipPath}"`, args, { cwd: dest });
});
}
/**
@@ -3988,7 +3994,7 @@ function _createExtractFolder(dest) {
return __awaiter(this, void 0, void 0, function* () {
if (!dest) {
// create a temp dir
dest = path.join(_getTempDirectory(), v4_1.default());
dest = path.join(_getTempDirectory(), crypto.randomUUID());
}
yield io.mkdirP(dest);
return dest;
@@ -4061,7 +4067,7 @@ exports.evaluateVersions = evaluateVersions;
*/
function _getCacheDirectory() {
const cacheDirectory = process.env['RUNNER_TOOL_CACHE'] || '';
assert_1.ok(cacheDirectory, 'Expected RUNNER_TOOL_CACHE to be defined');
(0, assert_1.ok)(cacheDirectory, 'Expected RUNNER_TOOL_CACHE to be defined');
return cacheDirectory;
}
/**
@@ -4069,7 +4075,7 @@ function _getCacheDirectory() {
*/
function _getTempDirectory() {
const tempDirectory = process.env['RUNNER_TEMP'] || '';
assert_1.ok(tempDirectory, 'Expected RUNNER_TEMP to be defined');
(0, assert_1.ok)(tempDirectory, 'Expected RUNNER_TEMP to be defined');
return tempDirectory;
}
/**
@@ -28188,90 +28194,6 @@ module.exports = {
}
/***/ }),
/***/ 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);
};
/***/ }),
/***/ 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;
/***/ }),
/***/ 2764:
@@ -28283,6 +28205,57 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.9.6": "a3132eb5e3d95f36d378144082276fbed0309789dadb19d8a4c41ec5e80451fb",
"aarch64-pc-windows-msvc-0.9.6": "7c397ec18e458c7a7e49277d7d719b0b6bf2f459f570e01a9f1d1906d678190e",
"aarch64-unknown-linux-gnu-0.9.6": "cf796c953def5a7102002372893942fac875ac718355698a4a70405104dfbb6c",
"aarch64-unknown-linux-musl-0.9.6": "8f64e97deae1c12f659fd13e6e14d78cf15ed876d1548ac76b235f78ab5803e1",
"arm-unknown-linux-musleabihf-0.9.6": "ec72087fa80aff95871aac0f8aa8ca708a82c6789641ac8362fb58212cfc5410",
"armv7-unknown-linux-gnueabihf-0.9.6": "fba48ab2b77a358c2600d5636759ed779b29bebcc8de66e331c00d7704c41d1c",
"armv7-unknown-linux-musleabihf-0.9.6": "4944aafeab7ce9cb5a000bdaf71e38a917b506574f859d333bd4698efd5fd3bc",
"i686-pc-windows-msvc-0.9.6": "05c50165f1330d797de444d99c1c9230dcb2377c2a7ff9b9f8718dc5617c1d4b",
"i686-unknown-linux-gnu-0.9.6": "508a2f35904b986bf7cf7e2a73d138b1ca590daf4ee562c4630c60aa5ba39922",
"i686-unknown-linux-musl-0.9.6": "16acf21b61fa006b5642443bba4c52e84d2ce2b15cba1f616a856956c5a2ea49",
"powerpc64-unknown-linux-gnu-0.9.6": "1309f5489bccfb99084f9686ec20ca1295d7aa976a2c3e6dbeb822564269cbfb",
"powerpc64le-unknown-linux-gnu-0.9.6": "ff0e02c901869fef9c7434be347959ddca64f585a089ac6485592c91c279c803",
"s390x-unknown-linux-gnu-0.9.6": "c5ce85e5913c2d34d3332452e01c12e28a45c15ff33c8e8d30572070979230ba",
"x86_64-apple-darwin-0.9.6": "ec88c095036b25e95391ea202fcc9496d565f4e43152db10785eb9757ea0815d",
"x86_64-pc-windows-msvc-0.9.6": "51f492e46d967c6a3bb63d5e245e8f454ccf6f5207b6f3c4f1b63a8bec30d954",
"x86_64-unknown-linux-gnu-0.9.6": "bed850f15d4d5aaaef2b6a131bfecd5b9d7d3191596249d07e576bd9fd37078e",
"x86_64-unknown-linux-musl-0.9.6": "c725f57aa11d636f1d7f0f378c604d4db29c4dbb5ff0578f9fbbc578364875df",
"aarch64-apple-darwin-0.9.5": "8c9ae3e71317b67f46752a239f8d1044c60ba9d1748d3146af6ed26679eb697f",
"aarch64-pc-windows-msvc-0.9.5": "75882eebde374c8f6016f3501c4a769ec1d13cb07798de77187542f9928eba44",
"aarch64-unknown-linux-gnu-0.9.5": "e637a06d4b8b9f5cced6ad6f1f0a6ec5c1f632db7a3413cac76b61e670409afa",
"aarch64-unknown-linux-musl-0.9.5": "3c5085b2b410ac9449c72d659ac9812eb75cf2619253e53915507a7fec5267f0",
"arm-unknown-linux-musleabihf-0.9.5": "d92bd2ca743d7e5cad0c63597f05c5e97f92940e8fe2e9f388185e7c5ebedd31",
"armv7-unknown-linux-gnueabihf-0.9.5": "61cef37c13e16eb3ac06c46e9d80a8da21a08882d3bd9171a3aaa17f770c23aa",
"armv7-unknown-linux-musleabihf-0.9.5": "167fc22a232f37d77f1bcb580ebe26f13b57130d656c5970ceadc7f356dcbe5a",
"i686-pc-windows-msvc-0.9.5": "6ea88e4aab7c4bc3e8c6f580b814d3a5aa05795e10c9b01e467ecfa8fdc58823",
"i686-unknown-linux-gnu-0.9.5": "3ba63fab8cb42b689543eb560e3301dff320f01f24603cc09552b644266a081d",
"i686-unknown-linux-musl-0.9.5": "307a970b43dfaa419d2baf340555a3ee78eaa65d940797a6d469ee10da3581a6",
"powerpc64-unknown-linux-gnu-0.9.5": "9b64bc415661b503b0ae6716bd8203cbf54342c60a8d75ceed5a0b7c48a5a038",
"powerpc64le-unknown-linux-gnu-0.9.5": "8faeaec0843bf19de8a6e64289ce1dcb4205c82b4a4d189e121137b194c15a5b",
"s390x-unknown-linux-gnu-0.9.5": "b0506369986af415dde8568d5433f9bc801bed310162221677a6ba076d30f26f",
"x86_64-apple-darwin-0.9.5": "4b141507ddadaa524af4ca19eff0fe7fe7a50c45e61e217ff6721a6be9796634",
"x86_64-pc-windows-msvc-0.9.5": "48d096bc53e4c0d7434965c6b4bff911e53250cf8da8866a95b85ed4107259bf",
"x86_64-unknown-linux-gnu-0.9.5": "88ac7931cffa4e247e465b2aa4ed890af7a134e18a422f5f79041a792aa1559b",
"x86_64-unknown-linux-musl-0.9.5": "ef73516d8b7b284cd1a6b8ae33cad373516c29ce3e0eb82744d73def5e516832",
"aarch64-apple-darwin-0.9.4": "48927361be76a93dbded0555d374af3172fc4010b54d97347957f6ab509d7e33",
"aarch64-pc-windows-msvc-0.9.4": "3c14b5fcfae80d22532f895fec0c84dbc9c387a766368b460c3c96aa62b83562",
"aarch64-unknown-linux-gnu-0.9.4": "b165463041685c958a978f0f4e78fb4afd9aa7729508c4eeaee703b0411bd6fe",
"aarch64-unknown-linux-musl-0.9.4": "a9e880d819f290fc602768d25065c1316401229d04f0efaa7440017459968b11",
"arm-unknown-linux-musleabihf-0.9.4": "0f1d4df0f31f9d874e59668d648126c6bbc796a22c65127dd2a4759de02879f7",
"armv7-unknown-linux-gnueabihf-0.9.4": "cb8e19d7ad75c7eb136e2b3ae47d576d9f57c86a6e005b84db2da4cdd2d5f3e5",
"armv7-unknown-linux-musleabihf-0.9.4": "4f2c10151af528935d56ad216125feef7cff4784619f6d62ea749ce037793285",
"i686-pc-windows-msvc-0.9.4": "dae8a08a794ba0716cd4d48a84a3605f5049cef1a70381906b7ec9731915478a",
"i686-unknown-linux-gnu-0.9.4": "2aaa7c5d8d6735e09121a9a4d20161cf9c6f6b9ada0aa433c71c33d2ecd22318",
"i686-unknown-linux-musl-0.9.4": "b1c8d20e12ed41abc38e46f66b397ea6bdcdd59ecae801e81e93eaa239c9f53c",
"powerpc64-unknown-linux-gnu-0.9.4": "e8a89325ae24e42d0c73780bdf448f25871d3657e9df31aa9547e8c2720e45b9",
"powerpc64le-unknown-linux-gnu-0.9.4": "f361098f627e1f920b855bd2e709f420c5f107619f8c8533347ae6ad3e43128d",
"s390x-unknown-linux-gnu-0.9.4": "a2b38dd0babe9af97977e49db895a8ee89bd3ea54d27e28e47d5c7e0f93a32c2",
"x86_64-apple-darwin-0.9.4": "7abe5ec80ae556fcf445be65825a340df32a8404a28332a988cb97dc65fe60c4",
"x86_64-pc-windows-msvc-0.9.4": "45f4b700e864520fdc051b0631df4f07a2f65bcdf51fc01ee07769fd8257d092",
"x86_64-unknown-linux-gnu-0.9.4": "c55b088472c2c6a030bf29f414c6e38028145a32b3c3da2036347f0fc9de6360",
"x86_64-unknown-linux-musl-0.9.4": "c49af645ed618e660c64cd253892039ff30645e1f1563bc7842918f7cd74d596",
"aarch64-apple-darwin-0.9.3": "4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530",
"aarch64-pc-windows-msvc-0.9.3": "3ead3099e552d60f3e85a41fb649c703a5825c22e08ad97261f5a89162463604",
"aarch64-unknown-linux-gnu-0.9.3": "4de4579604254281758231b5146a5aaa8b24cd7e8be8af66f5aa123efa0f6f49",
@@ -32727,9 +32700,9 @@ function addQueryParameters(url, parameters) {
}
// pkg/dist-src/util/extract-url-variable-names.js
var urlVariableRegex = /\{[^}]+\}/g;
var urlVariableRegex = /\{[^{}}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
}
function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
@@ -32915,7 +32888,7 @@ function parse(options) {
}
if (url.endsWith("/graphql")) {
if (options.mediaType.previews?.length) {
const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
const previewsFromAcceptHeader = headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g) || [];
headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
return `application/vnd.github.${preview}-preview${format}`;
@@ -32999,7 +32972,7 @@ class RequestError extends Error {
if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace(
/ .*$/,
/(?<! ) .*$/,
" [REDACTED]"
)
});
@@ -33105,7 +33078,7 @@ async function fetchWrapper(requestOptions) {
data: ""
};
if ("deprecation" in responseHeaders) {
const matches = responseHeaders.link && responseHeaders.link.match(/<([^>]+)>; rel="deprecation"/);
const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
const deprecationLink = matches && matches.pop();
log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
@@ -33388,7 +33361,7 @@ var createTokenAuth = function createTokenAuth2(token) {
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/version.js
const version_VERSION = "6.1.3";
const version_VERSION = "6.1.4";
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/index.js
@@ -33586,7 +33559,7 @@ function iterator(octokit, route, parameters) {
const response = await requestMethod({ method, url, headers });
const normalizedResponse = normalizePaginatedListResponse(response);
url = ((normalizedResponse.headers.link || "").match(
/<([^>]+)>;\s*rel="next"/
/<([^<>]+)>;\s*rel="next"/
) || [])[1];
return { value: normalizedResponse };
} catch (error) {
@@ -33936,7 +33909,7 @@ __nccwpck_require__.d(__webpack_exports__, {
});
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
const VERSION = "13.3.0";
const VERSION = "13.3.1";
//# sourceMappingURL=version.js.map
+39 -50
View File
@@ -11,15 +11,15 @@
"dependencies": {
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.1",
"@octokit/core": "^6.1.3",
"@octokit/plugin-paginate-rest": "^11.4.0",
"@octokit/plugin-rest-endpoint-methods": "^13.3.0",
"@actions/tool-cache": "^2.0.2",
"@octokit/core": "^6.1.4",
"@octokit/plugin-paginate-rest": "^11.4.2",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"smol-toml": "^1.3.1"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.12.0",
"@types/node": "^22.13.4",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0",
@@ -58,16 +58,15 @@
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
},
"node_modules/@actions/tool-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz",
"integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==",
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz",
"integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/core": "^1.11.1",
"@actions/exec": "^1.0.0",
"@actions/http-client": "^2.0.1",
"@actions/io": "^1.1.1",
"semver": "^6.1.0",
"uuid": "^3.3.2"
"semver": "^6.1.0"
}
},
"node_modules/@biomejs/biome": {
@@ -242,14 +241,14 @@
}
},
"node_modules/@octokit/core": {
"version": "6.1.3",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.3.tgz",
"integrity": "sha512-z+j7DixNnfpdToYsOutStDgeRzJSMnbj8T1C/oQjB6Aa+kRfNjs/Fn7W6c8bmlt6mfy3FkgeKBRnDjxQow5dow==",
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz",
"integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==",
"dependencies": {
"@octokit/auth-token": "^5.0.0",
"@octokit/graphql": "^8.1.2",
"@octokit/request": "^9.1.4",
"@octokit/request-error": "^6.1.6",
"@octokit/request": "^9.2.1",
"@octokit/request-error": "^6.1.7",
"@octokit/types": "^13.6.2",
"before-after-hook": "^3.0.2",
"universal-user-agent": "^7.0.0"
@@ -259,9 +258,9 @@
}
},
"node_modules/@octokit/endpoint": {
"version": "10.1.2",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.2.tgz",
"integrity": "sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==",
"version": "10.1.3",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz",
"integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==",
"dependencies": {
"@octokit/types": "^13.6.2",
"universal-user-agent": "^7.0.2"
@@ -289,9 +288,9 @@
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "11.4.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.0.tgz",
"integrity": "sha512-ttpGck5AYWkwMkMazNCZMqxKqIq1fJBNxBfsFwwfyYKTf914jKkLF0POMS3YkPBwp5g1c2Y4L79gDz01GhSr1g==",
"version": "11.4.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.2.tgz",
"integrity": "sha512-BXJ7XPCTDXFF+wxcg/zscfgw2O/iDPtNSkwwR1W1W5c4Mb3zav/M2XvxQ23nVmKj7jpweB4g8viMeCQdm7LMVA==",
"dependencies": {
"@octokit/types": "^13.7.0"
},
@@ -303,11 +302,11 @@
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "13.3.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.0.tgz",
"integrity": "sha512-LUm44shlmkp/6VC+qQgHl3W5vzUP99ZM54zH6BuqkJK4DqfFLhegANd+fM4YRLapTvPm4049iG7F3haANKMYvQ==",
"version": "13.3.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz",
"integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==",
"dependencies": {
"@octokit/types": "^13.7.0"
"@octokit/types": "^13.8.0"
},
"engines": {
"node": ">= 18"
@@ -317,12 +316,12 @@
}
},
"node_modules/@octokit/request": {
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.0.tgz",
"integrity": "sha512-kXLfcxhC4ozCnAXy2ff+cSxpcF0A1UqxjvYMqNuPIeOAzJbVWQ+dy5G2fTylofB/gTbObT8O6JORab+5XtA1Kw==",
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz",
"integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==",
"dependencies": {
"@octokit/endpoint": "^10.0.0",
"@octokit/request-error": "^6.0.1",
"@octokit/endpoint": "^10.1.3",
"@octokit/request-error": "^6.1.7",
"@octokit/types": "^13.6.2",
"fast-content-type-parse": "^2.0.0",
"universal-user-agent": "^7.0.2"
@@ -332,9 +331,9 @@
}
},
"node_modules/@octokit/request-error": {
"version": "6.1.6",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.6.tgz",
"integrity": "sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==",
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz",
"integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==",
"dependencies": {
"@octokit/types": "^13.6.2"
},
@@ -343,19 +342,18 @@
}
},
"node_modules/@octokit/types": {
"version": "13.7.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.7.0.tgz",
"integrity": "sha512-BXfRP+3P3IN6fd4uF3SniaHKOO4UXWBfkdR3vA8mIvaoO/wLjGN5qivUtW0QRitBHHMcfC41SLhNVYIZZE+wkA==",
"version": "13.8.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz",
"integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==",
"dependencies": {
"@octokit/openapi-types": "^23.0.1"
}
},
"node_modules/@types/node": {
"version": "22.12.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz",
"integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==",
"version": "22.13.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz",
"integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
}
@@ -475,15 +473,6 @@
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
"integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q=="
},
"node_modules/uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
"bin": {
"uuid": "bin/uuid"
}
}
}
}
+6 -6
View File
@@ -12,7 +12,7 @@
"package": "ncc build -o dist/ruff-action src/ruff-action.ts && ncc build -o dist/update-known-checksums src/update-known-checksums.ts",
"act": "act pull_request -W .github/workflows/test.yml --container-architecture linux/amd64 -s GITHUB_TOKEN=\"$(gh auth token)\"",
"update-known-checksums": "RUNNER_TEMP=known_checksums node dist/update-known-checksums/index.js src/download/checksum/known-checksums.ts \"$(gh auth token)\"",
"all": "npm run build && npm run format && npm run lint && npm run package"
"all": "npm install && npm run build && npm run format && npm run lint && npm run package"
},
"repository": {
"type": "git",
@@ -24,15 +24,15 @@
"dependencies": {
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.1",
"@octokit/core": "^6.1.3",
"@octokit/plugin-paginate-rest": "^11.4.0",
"@octokit/plugin-rest-endpoint-methods": "^13.3.0",
"@actions/tool-cache": "^2.0.2",
"@octokit/core": "^6.1.4",
"@octokit/plugin-paginate-rest": "^11.4.2",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"smol-toml": "^1.3.1"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.12.0",
"@types/node": "^22.13.4",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0",
+102
View File
@@ -1,5 +1,107 @@
// AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"aarch64-apple-darwin-0.9.6":
"a3132eb5e3d95f36d378144082276fbed0309789dadb19d8a4c41ec5e80451fb",
"aarch64-pc-windows-msvc-0.9.6":
"7c397ec18e458c7a7e49277d7d719b0b6bf2f459f570e01a9f1d1906d678190e",
"aarch64-unknown-linux-gnu-0.9.6":
"cf796c953def5a7102002372893942fac875ac718355698a4a70405104dfbb6c",
"aarch64-unknown-linux-musl-0.9.6":
"8f64e97deae1c12f659fd13e6e14d78cf15ed876d1548ac76b235f78ab5803e1",
"arm-unknown-linux-musleabihf-0.9.6":
"ec72087fa80aff95871aac0f8aa8ca708a82c6789641ac8362fb58212cfc5410",
"armv7-unknown-linux-gnueabihf-0.9.6":
"fba48ab2b77a358c2600d5636759ed779b29bebcc8de66e331c00d7704c41d1c",
"armv7-unknown-linux-musleabihf-0.9.6":
"4944aafeab7ce9cb5a000bdaf71e38a917b506574f859d333bd4698efd5fd3bc",
"i686-pc-windows-msvc-0.9.6":
"05c50165f1330d797de444d99c1c9230dcb2377c2a7ff9b9f8718dc5617c1d4b",
"i686-unknown-linux-gnu-0.9.6":
"508a2f35904b986bf7cf7e2a73d138b1ca590daf4ee562c4630c60aa5ba39922",
"i686-unknown-linux-musl-0.9.6":
"16acf21b61fa006b5642443bba4c52e84d2ce2b15cba1f616a856956c5a2ea49",
"powerpc64-unknown-linux-gnu-0.9.6":
"1309f5489bccfb99084f9686ec20ca1295d7aa976a2c3e6dbeb822564269cbfb",
"powerpc64le-unknown-linux-gnu-0.9.6":
"ff0e02c901869fef9c7434be347959ddca64f585a089ac6485592c91c279c803",
"s390x-unknown-linux-gnu-0.9.6":
"c5ce85e5913c2d34d3332452e01c12e28a45c15ff33c8e8d30572070979230ba",
"x86_64-apple-darwin-0.9.6":
"ec88c095036b25e95391ea202fcc9496d565f4e43152db10785eb9757ea0815d",
"x86_64-pc-windows-msvc-0.9.6":
"51f492e46d967c6a3bb63d5e245e8f454ccf6f5207b6f3c4f1b63a8bec30d954",
"x86_64-unknown-linux-gnu-0.9.6":
"bed850f15d4d5aaaef2b6a131bfecd5b9d7d3191596249d07e576bd9fd37078e",
"x86_64-unknown-linux-musl-0.9.6":
"c725f57aa11d636f1d7f0f378c604d4db29c4dbb5ff0578f9fbbc578364875df",
"aarch64-apple-darwin-0.9.5":
"8c9ae3e71317b67f46752a239f8d1044c60ba9d1748d3146af6ed26679eb697f",
"aarch64-pc-windows-msvc-0.9.5":
"75882eebde374c8f6016f3501c4a769ec1d13cb07798de77187542f9928eba44",
"aarch64-unknown-linux-gnu-0.9.5":
"e637a06d4b8b9f5cced6ad6f1f0a6ec5c1f632db7a3413cac76b61e670409afa",
"aarch64-unknown-linux-musl-0.9.5":
"3c5085b2b410ac9449c72d659ac9812eb75cf2619253e53915507a7fec5267f0",
"arm-unknown-linux-musleabihf-0.9.5":
"d92bd2ca743d7e5cad0c63597f05c5e97f92940e8fe2e9f388185e7c5ebedd31",
"armv7-unknown-linux-gnueabihf-0.9.5":
"61cef37c13e16eb3ac06c46e9d80a8da21a08882d3bd9171a3aaa17f770c23aa",
"armv7-unknown-linux-musleabihf-0.9.5":
"167fc22a232f37d77f1bcb580ebe26f13b57130d656c5970ceadc7f356dcbe5a",
"i686-pc-windows-msvc-0.9.5":
"6ea88e4aab7c4bc3e8c6f580b814d3a5aa05795e10c9b01e467ecfa8fdc58823",
"i686-unknown-linux-gnu-0.9.5":
"3ba63fab8cb42b689543eb560e3301dff320f01f24603cc09552b644266a081d",
"i686-unknown-linux-musl-0.9.5":
"307a970b43dfaa419d2baf340555a3ee78eaa65d940797a6d469ee10da3581a6",
"powerpc64-unknown-linux-gnu-0.9.5":
"9b64bc415661b503b0ae6716bd8203cbf54342c60a8d75ceed5a0b7c48a5a038",
"powerpc64le-unknown-linux-gnu-0.9.5":
"8faeaec0843bf19de8a6e64289ce1dcb4205c82b4a4d189e121137b194c15a5b",
"s390x-unknown-linux-gnu-0.9.5":
"b0506369986af415dde8568d5433f9bc801bed310162221677a6ba076d30f26f",
"x86_64-apple-darwin-0.9.5":
"4b141507ddadaa524af4ca19eff0fe7fe7a50c45e61e217ff6721a6be9796634",
"x86_64-pc-windows-msvc-0.9.5":
"48d096bc53e4c0d7434965c6b4bff911e53250cf8da8866a95b85ed4107259bf",
"x86_64-unknown-linux-gnu-0.9.5":
"88ac7931cffa4e247e465b2aa4ed890af7a134e18a422f5f79041a792aa1559b",
"x86_64-unknown-linux-musl-0.9.5":
"ef73516d8b7b284cd1a6b8ae33cad373516c29ce3e0eb82744d73def5e516832",
"aarch64-apple-darwin-0.9.4":
"48927361be76a93dbded0555d374af3172fc4010b54d97347957f6ab509d7e33",
"aarch64-pc-windows-msvc-0.9.4":
"3c14b5fcfae80d22532f895fec0c84dbc9c387a766368b460c3c96aa62b83562",
"aarch64-unknown-linux-gnu-0.9.4":
"b165463041685c958a978f0f4e78fb4afd9aa7729508c4eeaee703b0411bd6fe",
"aarch64-unknown-linux-musl-0.9.4":
"a9e880d819f290fc602768d25065c1316401229d04f0efaa7440017459968b11",
"arm-unknown-linux-musleabihf-0.9.4":
"0f1d4df0f31f9d874e59668d648126c6bbc796a22c65127dd2a4759de02879f7",
"armv7-unknown-linux-gnueabihf-0.9.4":
"cb8e19d7ad75c7eb136e2b3ae47d576d9f57c86a6e005b84db2da4cdd2d5f3e5",
"armv7-unknown-linux-musleabihf-0.9.4":
"4f2c10151af528935d56ad216125feef7cff4784619f6d62ea749ce037793285",
"i686-pc-windows-msvc-0.9.4":
"dae8a08a794ba0716cd4d48a84a3605f5049cef1a70381906b7ec9731915478a",
"i686-unknown-linux-gnu-0.9.4":
"2aaa7c5d8d6735e09121a9a4d20161cf9c6f6b9ada0aa433c71c33d2ecd22318",
"i686-unknown-linux-musl-0.9.4":
"b1c8d20e12ed41abc38e46f66b397ea6bdcdd59ecae801e81e93eaa239c9f53c",
"powerpc64-unknown-linux-gnu-0.9.4":
"e8a89325ae24e42d0c73780bdf448f25871d3657e9df31aa9547e8c2720e45b9",
"powerpc64le-unknown-linux-gnu-0.9.4":
"f361098f627e1f920b855bd2e709f420c5f107619f8c8533347ae6ad3e43128d",
"s390x-unknown-linux-gnu-0.9.4":
"a2b38dd0babe9af97977e49db895a8ee89bd3ea54d27e28e47d5c7e0f93a32c2",
"x86_64-apple-darwin-0.9.4":
"7abe5ec80ae556fcf445be65825a340df32a8404a28332a988cb97dc65fe60c4",
"x86_64-pc-windows-msvc-0.9.4":
"45f4b700e864520fdc051b0631df4f07a2f65bcdf51fc01ee07769fd8257d092",
"x86_64-unknown-linux-gnu-0.9.4":
"c55b088472c2c6a030bf29f414c6e38028145a32b3c3da2036347f0fc9de6360",
"x86_64-unknown-linux-musl-0.9.4":
"c49af645ed618e660c64cd253892039ff30645e1f1563bc7842918f7cd74d596",
"aarch64-apple-darwin-0.9.3":
"4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530",
"aarch64-pc-windows-msvc-0.9.3":
+2
View File
@@ -71,6 +71,7 @@ export async function resolveVersion(
versionInput: string,
githubToken: string,
): Promise<string> {
core.debug(`Resolving ${versionInput}...`);
const version =
versionInput === "latest"
? await getLatestVersion(githubToken)
@@ -84,6 +85,7 @@ export async function resolveVersion(
if (resolvedVersion === "") {
throw new Error(`No version found for ${version}`);
}
core.debug(`Resolved version: ${resolvedVersion}`);
return resolvedVersion;
}
+13 -5
View File
@@ -21,7 +21,7 @@ import {
version,
versionFile as versionFileInput,
} from "./utils/inputs";
import { getRuffVersionFromPyproject } from "./utils/pyproject";
import { getRuffVersionFromRequirementsFile } from "./utils/pyproject";
import * as fs from "node:fs";
async function run(): Promise<void> {
@@ -93,19 +93,27 @@ async function determineVersion(): Promise<string> {
return await resolveVersion(version, githubToken);
}
if (versionFileInput !== "") {
const versionFromPyproject = getRuffVersionFromPyproject(versionFileInput);
const versionFromPyproject =
getRuffVersionFromRequirementsFile(versionFileInput);
if (versionFromPyproject === undefined) {
core.warning(
"Could not parse version from supplied pyproject.toml. Using latest version.",
`Could not parse version from ${versionFileInput}. Using latest version.`,
);
return await resolveVersion("latest", githubToken);
}
return await resolveVersion(versionFromPyproject || "latest", githubToken);
}
const pyProjectPath = path.join(src, "pyproject.toml");
if (!fs.existsSync(pyProjectPath)) {
core.info(`Could not find ${pyProjectPath}. Using latest version.`);
return await resolveVersion("latest", githubToken);
}
const versionFromPyproject = getRuffVersionFromPyproject(pyProjectPath);
const versionFromPyproject =
getRuffVersionFromRequirementsFile(pyProjectPath);
if (versionFromPyproject === undefined) {
core.warning(
`Could not parse version from ${pyProjectPath}. Using latest version.`,
);
}
return await resolveVersion(versionFromPyproject || "latest", githubToken);
}
+44 -38
View File
@@ -2,45 +2,9 @@ import * as fs from "node:fs";
import * as core from "@actions/core";
import * as toml from "smol-toml";
export function getRuffVersionFromPyproject(
filePath: string,
function getRuffVersionFromAllDependencies(
allDependencies: string[],
): string | undefined {
if (!fs.existsSync(filePath)) {
core.warning(`Could not find file: ${filePath}`);
return undefined;
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
let pyproject:
| {
project?: {
dependencies?: string[];
"optional-dependencies"?: Map<string, string[]>;
};
"dependency-groups"?: Map<string, Array<string | object>>;
}
| undefined;
try {
pyproject = toml.parse(pyprojectContent);
} catch (err) {
const message = (err as Error).message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
const dependencies: string[] = pyproject?.project?.dependencies || [];
const optionalDependencies: string[] = Object.values(
pyproject?.project?.["optional-dependencies"] || {},
).flat();
const devDependencies: string[] = Object.values(
pyproject?.["dependency-groups"] || {},
)
.flat()
.filter((item: string | object) => typeof item === "string");
const allDependencies: string[] = dependencies.concat(
optionalDependencies,
devDependencies,
);
const ruffVersionDefinition = allDependencies.find((dep: string) =>
dep.startsWith("ruff"),
);
@@ -58,3 +22,45 @@ export function getRuffVersionFromPyproject(
return undefined;
}
function parsePyproject(pyprojectContent: string): string | undefined {
const pyproject: {
project?: {
dependencies?: string[];
"optional-dependencies"?: Map<string, string[]>;
};
"dependency-groups"?: Map<string, Array<string | object>>;
} = toml.parse(pyprojectContent);
const dependencies: string[] = pyproject?.project?.dependencies || [];
const optionalDependencies: string[] = Object.values(
pyproject?.project?.["optional-dependencies"] || {},
).flat();
const devDependencies: string[] = Object.values(
pyproject?.["dependency-groups"] || {},
)
.flat()
.filter((item: string | object) => typeof item === "string");
return getRuffVersionFromAllDependencies(
dependencies.concat(optionalDependencies, devDependencies),
);
}
export function getRuffVersionFromRequirementsFile(
filePath: string,
): string | undefined {
if (!fs.existsSync(filePath)) {
core.warning(`Could not find file: ${filePath}`);
return undefined;
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
if (filePath.endsWith(".txt")) {
return getRuffVersionFromAllDependencies(pyprojectContent.split("\n"));
}
try {
return parsePyproject(pyprojectContent);
} catch (err) {
const message = (err as Error).message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
}