Compare commits

..
10 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
Adam TurnerandGitHub f14634c415 Read the [project.optional-dependencies] and [dependency-groups] tables (#66)
I'd quite like to use `ruff-action`'s auto-detection feature, but it
currently doesn't read the `[project.optional-dependency]` table, and
support for the PEP 735 `[dependency-groups]` table is currently limited
to only the special-cased `dev` key, and does not account for the
possibility of `{include-group="..."}` inline tables, as [described by
the PEP](https://peps.python.org/pep-0735/#dependency-group-include).

I have guessed how to make the tests work, as the only JS development I
do is plain JS (sans frameworks), so TypeScript is still quite new to me
-- feel free to push required changes to this branch.

A
2025-01-31 22:47:17 +01:00
22 changed files with 578 additions and 367 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
- name: Compare the expected and actual dist/ directories - name: Compare the expected and actual dist/ directories
run: | run: |
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then 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 git diff --text -v
exit 1 exit 1
fi fi
+69 -1
View File
@@ -26,7 +26,7 @@ jobs:
npm run all npm run all
- name: Make sure no changes from linters are detected - name: Make sure no changes from linters are detected
run: | 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: test-latest-version:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
@@ -51,6 +51,23 @@ jobs:
with: with:
version: ${{ matrix.ruff-version }} version: ${{ matrix.ruff-version }}
src: __tests__/fixtures/python-project 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: test-default-version-from-pyproject:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -84,6 +101,57 @@ jobs:
fi fi
env: env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }} RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-pyproject-dependency-groups:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use default version from pyproject.toml dependency groups
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/pyproject-dependency-groups-project
version-file: __tests__/fixtures/pyproject-dependency-groups-project/pyproject.toml
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.8.3" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-pyproject-optional-dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use default version from pyproject.toml optional dependencies
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/pyproject-optional-dependencies-project
version-file: __tests__/fixtures/pyproject-optional-dependencies-project/pyproject.toml
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.8.3" ]; then
exit 1
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: test-semver-range:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -1,6 +1,8 @@
name: "Update known checksums" name: "Update known checksums"
on: on:
workflow_dispatch: workflow_dispatch:
schedule:
- cron: "0 4 * * *" # Run every day at 4am UTC
jobs: jobs:
build: build:
+4 -3
View File
@@ -81,7 +81,8 @@ This action adds ruff to the PATH, so you can use it in subsequent steps.
By default this action looks for a pyproject.toml file in the root of the repository to determine By default this action looks for a pyproject.toml file in the root of the repository to determine
the ruff version to install. If no pyproject.toml file is found, or no ruff version is defined in the ruff version to install. If no pyproject.toml file is found, or no ruff version is defined in
either `dependencies` or `dependency-groups.dev` the latest version is installed. `project.dependencies`, `project.optional-dependencies`, or `dependency-groups`,
the latest version is installed.
#### Install the latest version #### Install the latest version
@@ -123,13 +124,13 @@ to install the latest version that satisfies the range.
#### Install a version from a specified version file #### Install a version from a specified version file
You can specify a file to read the version from. You can specify a file to read the version from.
Currently `pyproject.toml` is supported. Currently `pyproject.toml` and `requirements.txt` are supported.
```yaml ```yaml
- name: Install a version from a specified version file - name: Install a version from a specified version file
uses: astral-sh/ruff-action@v3 uses: astral-sh/ruff-action@v3
with: with:
version-file: "my-path/to/pyproject.toml" version-file: "my-path/to/pyproject.toml-or-requirements.txt"
``` ```
### Validate checksum ### Validate checksum
@@ -0,0 +1,22 @@
[project]
name = "pyproject-dependency-groups-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
[dependency-groups]
dev = [
{ include-group = "docs" },
{ include-group = "lint" },
]
docs = [
"sphinx",
]
lint = [
"ruff==0.8.3",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
@@ -0,0 +1,2 @@
def hello() -> str:
return "Hello from python-project!"
@@ -0,0 +1,15 @@
[project]
name = "pyproject-optional-dependencies-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
[project.optional-dependencies]
lint = [
"ruff==0.8.3",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
@@ -0,0 +1,2 @@
def hello() -> str:
return "Hello from python-project!"
+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
+138 -149
View File
@@ -3202,7 +3202,11 @@ function copyFile(srcFile, destFile, force) {
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; 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) { }) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
o[k2] = m[k]; o[k2] = m[k];
@@ -3215,7 +3219,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) { var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod; if (mod && mod.__esModule) return mod;
var result = {}; 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); __setModuleDefault(result, mod);
return result; return result;
}; };
@@ -3245,11 +3249,11 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
let file; let file;
for (const candidate of candidates) { for (const candidate of candidates) {
const version = candidate.version; const version = candidate.version;
core_1.debug(`check ${version} satisfies ${versionSpec}`); (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver.satisfies(version, versionSpec) && if (semver.satisfies(version, versionSpec) &&
(!stable || candidate.stable === stable)) { (!stable || candidate.stable === stable)) {
file = candidate.files.find(item => { 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; let chk = item.arch === archFilter && item.platform === platFilter;
if (chk && item.platform_version) { if (chk && item.platform_version) {
const osVersion = module.exports._getOsVersion(); const osVersion = module.exports._getOsVersion();
@@ -3263,7 +3267,7 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
return chk; return chk;
}); });
if (file) { if (file) {
core_1.debug(`matched ${candidate.version}`); (0, core_1.debug)(`matched ${candidate.version}`);
match = candidate; match = candidate;
break; break;
} }
@@ -3301,10 +3305,7 @@ function _getOsVersion() {
if (parts.length === 2 && if (parts.length === 2 &&
(parts[0].trim() === 'VERSION_ID' || (parts[0].trim() === 'VERSION_ID' ||
parts[0].trim() === 'DISTRIB_RELEASE')) { parts[0].trim() === 'DISTRIB_RELEASE')) {
version = parts[1] version = parts[1].trim().replace(/^"/, '').replace(/"$/, '');
.trim()
.replace(/^"/, '')
.replace(/"$/, '');
break; break;
} }
} }
@@ -3337,7 +3338,11 @@ exports._readLinuxVersionFile = _readLinuxVersionFile;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; 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) { }) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
o[k2] = m[k]; o[k2] = m[k];
@@ -3350,7 +3355,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) { var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod; if (mod && mod.__esModule) return mod;
var result = {}; 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); __setModuleDefault(result, mod);
return result; return result;
}; };
@@ -3427,7 +3432,11 @@ exports.RetryHelper = RetryHelper;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; 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) { }) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
o[k2] = m[k]; o[k2] = m[k];
@@ -3440,7 +3449,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) { var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod; if (mod && mod.__esModule) return mod;
var result = {}; 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); __setModuleDefault(result, mod);
return result; return result;
}; };
@@ -3453,13 +3462,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next()); 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 })); 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; 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 core = __importStar(__nccwpck_require__(7484));
const io = __importStar(__nccwpck_require__(4994)); const io = __importStar(__nccwpck_require__(4994));
const crypto = __importStar(__nccwpck_require__(6982));
const fs = __importStar(__nccwpck_require__(9896)); const fs = __importStar(__nccwpck_require__(9896));
const mm = __importStar(__nccwpck_require__(8036)); const mm = __importStar(__nccwpck_require__(8036));
const os = __importStar(__nccwpck_require__(857)); const os = __importStar(__nccwpck_require__(857));
@@ -3469,7 +3476,6 @@ const semver = __importStar(__nccwpck_require__(9318));
const stream = __importStar(__nccwpck_require__(2203)); const stream = __importStar(__nccwpck_require__(2203));
const util = __importStar(__nccwpck_require__(9023)); const util = __importStar(__nccwpck_require__(9023));
const assert_1 = __nccwpck_require__(2613); const assert_1 = __nccwpck_require__(2613);
const v4_1 = __importDefault(__nccwpck_require__(9021));
const exec_1 = __nccwpck_require__(5236); const exec_1 = __nccwpck_require__(5236);
const retry_helper_1 = __nccwpck_require__(7380); const retry_helper_1 = __nccwpck_require__(7380);
class HTTPError extends Error { class HTTPError extends Error {
@@ -3494,7 +3500,7 @@ const userAgent = 'actions/tool-cache';
*/ */
function downloadTool(url, dest, auth, headers) { function downloadTool(url, dest, auth, headers) {
return __awaiter(this, void 0, void 0, function* () { 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)); yield io.mkdirP(path.dirname(dest));
core.debug(`Downloading ${url}`); core.debug(`Downloading ${url}`);
core.debug(`Destination ${dest}`); core.debug(`Destination ${dest}`);
@@ -3583,8 +3589,8 @@ function downloadToolAttempt(url, dest, auth, headers) {
*/ */
function extract7z(file, dest, _7zPath) { function extract7z(file, dest, _7zPath) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_WINDOWS, 'extract7z() not supported on current OS'); (0, assert_1.ok)(IS_WINDOWS, 'extract7z() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required'); (0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest); dest = yield _createExtractFolder(dest);
const originalCwd = process.cwd(); const originalCwd = process.cwd();
process.chdir(dest); process.chdir(dest);
@@ -3601,7 +3607,7 @@ function extract7z(file, dest, _7zPath) {
const options = { const options = {
silent: true silent: true
}; };
yield exec_1.exec(`"${_7zPath}"`, args, options); yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
} }
finally { finally {
process.chdir(originalCwd); process.chdir(originalCwd);
@@ -3630,7 +3636,7 @@ function extract7z(file, dest, _7zPath) {
}; };
try { try {
const powershellPath = yield io.which('powershell', true); const powershellPath = yield io.which('powershell', true);
yield exec_1.exec(`"${powershellPath}"`, args, options); yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
} }
finally { finally {
process.chdir(originalCwd); process.chdir(originalCwd);
@@ -3658,7 +3664,7 @@ function extractTar(file, dest, flags = 'xz') {
// Determine whether GNU tar // Determine whether GNU tar
core.debug('Checking tar --version'); core.debug('Checking tar --version');
let versionOutput = ''; let versionOutput = '';
yield exec_1.exec('tar --version', [], { yield (0, exec_1.exec)('tar --version', [], {
ignoreReturnCode: true, ignoreReturnCode: true,
silent: true, silent: true,
listeners: { listeners: {
@@ -3694,7 +3700,7 @@ function extractTar(file, dest, flags = 'xz') {
args.push('--overwrite'); args.push('--overwrite');
} }
args.push('-C', destArg, '-f', fileArg); args.push('-C', destArg, '-f', fileArg);
yield exec_1.exec(`tar`, args); yield (0, exec_1.exec)(`tar`, args);
return dest; return dest;
}); });
} }
@@ -3709,8 +3715,8 @@ exports.extractTar = extractTar;
*/ */
function extractXar(file, dest, flags = []) { function extractXar(file, dest, flags = []) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_MAC, 'extractXar() not supported on current OS'); (0, assert_1.ok)(IS_MAC, 'extractXar() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required'); (0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest); dest = yield _createExtractFolder(dest);
let args; let args;
if (flags instanceof Array) { if (flags instanceof Array) {
@@ -3724,7 +3730,7 @@ function extractXar(file, dest, flags = []) {
args.push('-v'); args.push('-v');
} }
const xarPath = yield io.which('xar', true); const xarPath = yield io.which('xar', true);
yield exec_1.exec(`"${xarPath}"`, _unique(args)); yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
return dest; return dest;
}); });
} }
@@ -3778,7 +3784,7 @@ function extractZipWin(file, dest) {
pwshCommand pwshCommand
]; ];
core.debug(`Using pwsh at path: ${pwshPath}`); core.debug(`Using pwsh at path: ${pwshPath}`);
yield exec_1.exec(`"${pwshPath}"`, args); yield (0, exec_1.exec)(`"${pwshPath}"`, args);
} }
else { else {
const powershellCommand = [ const powershellCommand = [
@@ -3799,7 +3805,7 @@ function extractZipWin(file, dest) {
]; ];
const powershellPath = yield io.which('powershell', true); const powershellPath = yield io.which('powershell', true);
core.debug(`Using powershell at path: ${powershellPath}`); 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('-q');
} }
args.unshift('-o'); //overwrite with -o, otherwise a prompt is shown which freezes the run 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* () { return __awaiter(this, void 0, void 0, function* () {
if (!dest) { if (!dest) {
// create a temp dir // create a temp dir
dest = path.join(_getTempDirectory(), v4_1.default()); dest = path.join(_getTempDirectory(), crypto.randomUUID());
} }
yield io.mkdirP(dest); yield io.mkdirP(dest);
return dest; return dest;
@@ -4061,7 +4067,7 @@ exports.evaluateVersions = evaluateVersions;
*/ */
function _getCacheDirectory() { function _getCacheDirectory() {
const cacheDirectory = process.env['RUNNER_TOOL_CACHE'] || ''; 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; return cacheDirectory;
} }
/** /**
@@ -4069,7 +4075,7 @@ function _getCacheDirectory() {
*/ */
function _getTempDirectory() { function _getTempDirectory() {
const tempDirectory = process.env['RUNNER_TEMP'] || ''; 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; 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: /***/ 5391:
@@ -28372,6 +28294,57 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0; exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = { 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-apple-darwin-0.9.3": "4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530",
"aarch64-pc-windows-msvc-0.9.3": "3ead3099e552d60f3e85a41fb649c703a5825c22e08ad97261f5a89162463604", "aarch64-pc-windows-msvc-0.9.3": "3ead3099e552d60f3e85a41fb649c703a5825c22e08ad97261f5a89162463604",
"aarch64-unknown-linux-gnu-0.9.3": "4de4579604254281758231b5146a5aaa8b24cd7e8be8af66f5aa123efa0f6f49", "aarch64-unknown-linux-gnu-0.9.3": "4de4579604254281758231b5146a5aaa8b24cd7e8be8af66f5aa123efa0f6f49",
@@ -30387,6 +30360,7 @@ async function downloadVersion(platform, arch, version, checkSum, githubToken) {
return { version: version, cachedToolDir }; return { version: version, cachedToolDir };
} }
async function resolveVersion(versionInput, githubToken) { async function resolveVersion(versionInput, githubToken) {
core.debug(`Resolving ${versionInput}...`);
const version = versionInput === "latest" const version = versionInput === "latest"
? await getLatestVersion(githubToken) ? await getLatestVersion(githubToken)
: versionInput; : versionInput;
@@ -30399,6 +30373,7 @@ async function resolveVersion(versionInput, githubToken) {
if (resolvedVersion === "") { if (resolvedVersion === "") {
throw new Error(`No version found for ${version}`); throw new Error(`No version found for ${version}`);
} }
core.debug(`Resolved version: ${resolvedVersion}`);
return resolvedVersion; return resolvedVersion;
} }
async function getAvailableVersions(githubToken) { async function getAvailableVersions(githubToken) {
@@ -30552,17 +30527,21 @@ async function determineVersion() {
return await (0, download_version_1.resolveVersion)(inputs_1.version, inputs_1.githubToken); return await (0, download_version_1.resolveVersion)(inputs_1.version, inputs_1.githubToken);
} }
if (inputs_1.versionFile !== "") { 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) { if (versionFromPyproject === undefined) {
core.warning("Could not parse version from supplied pyproject.toml. Using latest version."); core.warning(`Could not parse version from ${inputs_1.versionFile}. Using latest version.`);
return await (0, download_version_1.resolveVersion)("latest", inputs_1.githubToken);
} }
return await (0, download_version_1.resolveVersion)(versionFromPyproject || "latest", inputs_1.githubToken);
} }
const pyProjectPath = path.join(inputs_1.src, "pyproject.toml"); const pyProjectPath = path.join(inputs_1.src, "pyproject.toml");
if (!fs.existsSync(pyProjectPath)) { if (!fs.existsSync(pyProjectPath)) {
core.info(`Could not find ${pyProjectPath}. Using latest version.`);
return await (0, download_version_1.resolveVersion)("latest", inputs_1.githubToken); 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); return await (0, download_version_1.resolveVersion)(versionFromPyproject || "latest", inputs_1.githubToken);
} }
function addRuffToPath(cachedPath) { function addRuffToPath(cachedPath) {
@@ -30725,29 +30704,12 @@ var __importStar = (this && this.__importStar) || (function () {
}; };
})(); })();
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getRuffVersionFromPyproject = getRuffVersionFromPyproject; exports.getRuffVersionFromRequirementsFile = getRuffVersionFromRequirementsFile;
const fs = __importStar(__nccwpck_require__(3024)); const fs = __importStar(__nccwpck_require__(3024));
const core = __importStar(__nccwpck_require__(7484)); const core = __importStar(__nccwpck_require__(7484));
const toml = __importStar(__nccwpck_require__(7106)); const toml = __importStar(__nccwpck_require__(7106));
function getRuffVersionFromPyproject(filePath) { function getRuffVersionFromAllDependencies(allDependencies) {
if (!fs.existsSync(filePath)) { const ruffVersionDefinition = allDependencies.find((dep) => dep.startsWith("ruff"));
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 devDependencies = pyproject?.["dependency-groups"]?.dev || [];
const ruffVersionDefinition = dependencies.find((dep) => dep.startsWith("ruff")) ||
devDependencies.find((dep) => dep.startsWith("ruff"));
if (ruffVersionDefinition) { if (ruffVersionDefinition) {
const ruffVersion = ruffVersionDefinition const ruffVersion = ruffVersionDefinition
.match(/^ruff([^A-Z0-9._-]+.*)$/)?.[1] .match(/^ruff([^A-Z0-9._-]+.*)$/)?.[1]
@@ -30760,6 +30722,33 @@ function getRuffVersionFromPyproject(filePath) {
} }
return undefined; 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;
}
}
/***/ }), /***/ }),
@@ -34015,9 +34004,9 @@ function addQueryParameters(url, parameters) {
} }
// pkg/dist-src/util/extract-url-variable-names.js // pkg/dist-src/util/extract-url-variable-names.js
var urlVariableRegex = /\{[^}]+\}/g; var urlVariableRegex = /\{[^{}}]+\}/g;
function removeNonChars(variableName) { function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/); return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
} }
function extractUrlVariableNames(url) { function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex); const matches = url.match(urlVariableRegex);
@@ -34203,7 +34192,7 @@ function parse(options) {
} }
if (url.endsWith("/graphql")) { if (url.endsWith("/graphql")) {
if (options.mediaType.previews?.length) { 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) => { headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
return `application/vnd.github.${preview}-preview${format}`; return `application/vnd.github.${preview}-preview${format}`;
@@ -34287,7 +34276,7 @@ class RequestError extends Error {
if (options.request.headers.authorization) { if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, { requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace( authorization: options.request.headers.authorization.replace(
/ .*$/, /(?<! ) .*$/,
" [REDACTED]" " [REDACTED]"
) )
}); });
@@ -34393,7 +34382,7 @@ async function fetchWrapper(requestOptions) {
data: "" data: ""
}; };
if ("deprecation" in responseHeaders) { 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(); const deprecationLink = matches && matches.pop();
log.warn( log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
@@ -34676,7 +34665,7 @@ var createTokenAuth = function createTokenAuth2(token) {
;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/version.js ;// 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 ;// CONCATENATED MODULE: ./node_modules/@octokit/core/dist-src/index.js
@@ -34874,7 +34863,7 @@ function iterator(octokit, route, parameters) {
const response = await requestMethod({ method, url, headers }); const response = await requestMethod({ method, url, headers });
const normalizedResponse = normalizePaginatedListResponse(response); const normalizedResponse = normalizePaginatedListResponse(response);
url = ((normalizedResponse.headers.link || "").match( url = ((normalizedResponse.headers.link || "").match(
/<([^>]+)>;\s*rel="next"/ /<([^<>]+)>;\s*rel="next"/
) || [])[1]; ) || [])[1];
return { value: normalizedResponse }; return { value: normalizedResponse };
} catch (error) { } catch (error) {
@@ -35224,7 +35213,7 @@ __nccwpck_require__.d(__webpack_exports__, {
}); });
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js ;// 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 //# 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) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; 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) { }) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
o[k2] = m[k]; o[k2] = m[k];
@@ -3215,7 +3219,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) { var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod; if (mod && mod.__esModule) return mod;
var result = {}; 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); __setModuleDefault(result, mod);
return result; return result;
}; };
@@ -3245,11 +3249,11 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
let file; let file;
for (const candidate of candidates) { for (const candidate of candidates) {
const version = candidate.version; const version = candidate.version;
core_1.debug(`check ${version} satisfies ${versionSpec}`); (0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver.satisfies(version, versionSpec) && if (semver.satisfies(version, versionSpec) &&
(!stable || candidate.stable === stable)) { (!stable || candidate.stable === stable)) {
file = candidate.files.find(item => { 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; let chk = item.arch === archFilter && item.platform === platFilter;
if (chk && item.platform_version) { if (chk && item.platform_version) {
const osVersion = module.exports._getOsVersion(); const osVersion = module.exports._getOsVersion();
@@ -3263,7 +3267,7 @@ function _findMatch(versionSpec, stable, candidates, archFilter) {
return chk; return chk;
}); });
if (file) { if (file) {
core_1.debug(`matched ${candidate.version}`); (0, core_1.debug)(`matched ${candidate.version}`);
match = candidate; match = candidate;
break; break;
} }
@@ -3301,10 +3305,7 @@ function _getOsVersion() {
if (parts.length === 2 && if (parts.length === 2 &&
(parts[0].trim() === 'VERSION_ID' || (parts[0].trim() === 'VERSION_ID' ||
parts[0].trim() === 'DISTRIB_RELEASE')) { parts[0].trim() === 'DISTRIB_RELEASE')) {
version = parts[1] version = parts[1].trim().replace(/^"/, '').replace(/"$/, '');
.trim()
.replace(/^"/, '')
.replace(/"$/, '');
break; break;
} }
} }
@@ -3337,7 +3338,11 @@ exports._readLinuxVersionFile = _readLinuxVersionFile;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; 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) { }) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
o[k2] = m[k]; o[k2] = m[k];
@@ -3350,7 +3355,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) { var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod; if (mod && mod.__esModule) return mod;
var result = {}; 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); __setModuleDefault(result, mod);
return result; return result;
}; };
@@ -3427,7 +3432,11 @@ exports.RetryHelper = RetryHelper;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; 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) { }) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k; if (k2 === undefined) k2 = k;
o[k2] = m[k]; o[k2] = m[k];
@@ -3440,7 +3449,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
var __importStar = (this && this.__importStar) || function (mod) { var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod; if (mod && mod.__esModule) return mod;
var result = {}; 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); __setModuleDefault(result, mod);
return result; return result;
}; };
@@ -3453,13 +3462,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next()); 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 })); 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; 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 core = __importStar(__nccwpck_require__(7484));
const io = __importStar(__nccwpck_require__(4994)); const io = __importStar(__nccwpck_require__(4994));
const crypto = __importStar(__nccwpck_require__(6982));
const fs = __importStar(__nccwpck_require__(9896)); const fs = __importStar(__nccwpck_require__(9896));
const mm = __importStar(__nccwpck_require__(8036)); const mm = __importStar(__nccwpck_require__(8036));
const os = __importStar(__nccwpck_require__(857)); const os = __importStar(__nccwpck_require__(857));
@@ -3469,7 +3476,6 @@ const semver = __importStar(__nccwpck_require__(9318));
const stream = __importStar(__nccwpck_require__(2203)); const stream = __importStar(__nccwpck_require__(2203));
const util = __importStar(__nccwpck_require__(9023)); const util = __importStar(__nccwpck_require__(9023));
const assert_1 = __nccwpck_require__(2613); const assert_1 = __nccwpck_require__(2613);
const v4_1 = __importDefault(__nccwpck_require__(9021));
const exec_1 = __nccwpck_require__(5236); const exec_1 = __nccwpck_require__(5236);
const retry_helper_1 = __nccwpck_require__(7380); const retry_helper_1 = __nccwpck_require__(7380);
class HTTPError extends Error { class HTTPError extends Error {
@@ -3494,7 +3500,7 @@ const userAgent = 'actions/tool-cache';
*/ */
function downloadTool(url, dest, auth, headers) { function downloadTool(url, dest, auth, headers) {
return __awaiter(this, void 0, void 0, function* () { 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)); yield io.mkdirP(path.dirname(dest));
core.debug(`Downloading ${url}`); core.debug(`Downloading ${url}`);
core.debug(`Destination ${dest}`); core.debug(`Destination ${dest}`);
@@ -3583,8 +3589,8 @@ function downloadToolAttempt(url, dest, auth, headers) {
*/ */
function extract7z(file, dest, _7zPath) { function extract7z(file, dest, _7zPath) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_WINDOWS, 'extract7z() not supported on current OS'); (0, assert_1.ok)(IS_WINDOWS, 'extract7z() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required'); (0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest); dest = yield _createExtractFolder(dest);
const originalCwd = process.cwd(); const originalCwd = process.cwd();
process.chdir(dest); process.chdir(dest);
@@ -3601,7 +3607,7 @@ function extract7z(file, dest, _7zPath) {
const options = { const options = {
silent: true silent: true
}; };
yield exec_1.exec(`"${_7zPath}"`, args, options); yield (0, exec_1.exec)(`"${_7zPath}"`, args, options);
} }
finally { finally {
process.chdir(originalCwd); process.chdir(originalCwd);
@@ -3630,7 +3636,7 @@ function extract7z(file, dest, _7zPath) {
}; };
try { try {
const powershellPath = yield io.which('powershell', true); const powershellPath = yield io.which('powershell', true);
yield exec_1.exec(`"${powershellPath}"`, args, options); yield (0, exec_1.exec)(`"${powershellPath}"`, args, options);
} }
finally { finally {
process.chdir(originalCwd); process.chdir(originalCwd);
@@ -3658,7 +3664,7 @@ function extractTar(file, dest, flags = 'xz') {
// Determine whether GNU tar // Determine whether GNU tar
core.debug('Checking tar --version'); core.debug('Checking tar --version');
let versionOutput = ''; let versionOutput = '';
yield exec_1.exec('tar --version', [], { yield (0, exec_1.exec)('tar --version', [], {
ignoreReturnCode: true, ignoreReturnCode: true,
silent: true, silent: true,
listeners: { listeners: {
@@ -3694,7 +3700,7 @@ function extractTar(file, dest, flags = 'xz') {
args.push('--overwrite'); args.push('--overwrite');
} }
args.push('-C', destArg, '-f', fileArg); args.push('-C', destArg, '-f', fileArg);
yield exec_1.exec(`tar`, args); yield (0, exec_1.exec)(`tar`, args);
return dest; return dest;
}); });
} }
@@ -3709,8 +3715,8 @@ exports.extractTar = extractTar;
*/ */
function extractXar(file, dest, flags = []) { function extractXar(file, dest, flags = []) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
assert_1.ok(IS_MAC, 'extractXar() not supported on current OS'); (0, assert_1.ok)(IS_MAC, 'extractXar() not supported on current OS');
assert_1.ok(file, 'parameter "file" is required'); (0, assert_1.ok)(file, 'parameter "file" is required');
dest = yield _createExtractFolder(dest); dest = yield _createExtractFolder(dest);
let args; let args;
if (flags instanceof Array) { if (flags instanceof Array) {
@@ -3724,7 +3730,7 @@ function extractXar(file, dest, flags = []) {
args.push('-v'); args.push('-v');
} }
const xarPath = yield io.which('xar', true); const xarPath = yield io.which('xar', true);
yield exec_1.exec(`"${xarPath}"`, _unique(args)); yield (0, exec_1.exec)(`"${xarPath}"`, _unique(args));
return dest; return dest;
}); });
} }
@@ -3778,7 +3784,7 @@ function extractZipWin(file, dest) {
pwshCommand pwshCommand
]; ];
core.debug(`Using pwsh at path: ${pwshPath}`); core.debug(`Using pwsh at path: ${pwshPath}`);
yield exec_1.exec(`"${pwshPath}"`, args); yield (0, exec_1.exec)(`"${pwshPath}"`, args);
} }
else { else {
const powershellCommand = [ const powershellCommand = [
@@ -3799,7 +3805,7 @@ function extractZipWin(file, dest) {
]; ];
const powershellPath = yield io.which('powershell', true); const powershellPath = yield io.which('powershell', true);
core.debug(`Using powershell at path: ${powershellPath}`); 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('-q');
} }
args.unshift('-o'); //overwrite with -o, otherwise a prompt is shown which freezes the run 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* () { return __awaiter(this, void 0, void 0, function* () {
if (!dest) { if (!dest) {
// create a temp dir // create a temp dir
dest = path.join(_getTempDirectory(), v4_1.default()); dest = path.join(_getTempDirectory(), crypto.randomUUID());
} }
yield io.mkdirP(dest); yield io.mkdirP(dest);
return dest; return dest;
@@ -4061,7 +4067,7 @@ exports.evaluateVersions = evaluateVersions;
*/ */
function _getCacheDirectory() { function _getCacheDirectory() {
const cacheDirectory = process.env['RUNNER_TOOL_CACHE'] || ''; 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; return cacheDirectory;
} }
/** /**
@@ -4069,7 +4075,7 @@ function _getCacheDirectory() {
*/ */
function _getTempDirectory() { function _getTempDirectory() {
const tempDirectory = process.env['RUNNER_TEMP'] || ''; 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; 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: /***/ 2764:
@@ -28283,6 +28205,57 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0; exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = { 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-apple-darwin-0.9.3": "4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530",
"aarch64-pc-windows-msvc-0.9.3": "3ead3099e552d60f3e85a41fb649c703a5825c22e08ad97261f5a89162463604", "aarch64-pc-windows-msvc-0.9.3": "3ead3099e552d60f3e85a41fb649c703a5825c22e08ad97261f5a89162463604",
"aarch64-unknown-linux-gnu-0.9.3": "4de4579604254281758231b5146a5aaa8b24cd7e8be8af66f5aa123efa0f6f49", "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 // pkg/dist-src/util/extract-url-variable-names.js
var urlVariableRegex = /\{[^}]+\}/g; var urlVariableRegex = /\{[^{}}]+\}/g;
function removeNonChars(variableName) { function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/); return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
} }
function extractUrlVariableNames(url) { function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex); const matches = url.match(urlVariableRegex);
@@ -32915,7 +32888,7 @@ function parse(options) {
} }
if (url.endsWith("/graphql")) { if (url.endsWith("/graphql")) {
if (options.mediaType.previews?.length) { 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) => { headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
return `application/vnd.github.${preview}-preview${format}`; return `application/vnd.github.${preview}-preview${format}`;
@@ -32999,7 +32972,7 @@ class RequestError extends Error {
if (options.request.headers.authorization) { if (options.request.headers.authorization) {
requestCopy.headers = Object.assign({}, options.request.headers, { requestCopy.headers = Object.assign({}, options.request.headers, {
authorization: options.request.headers.authorization.replace( authorization: options.request.headers.authorization.replace(
/ .*$/, /(?<! ) .*$/,
" [REDACTED]" " [REDACTED]"
) )
}); });
@@ -33105,7 +33078,7 @@ async function fetchWrapper(requestOptions) {
data: "" data: ""
}; };
if ("deprecation" in responseHeaders) { 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(); const deprecationLink = matches && matches.pop();
log.warn( log.warn(
`[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}` `[@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 ;// 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 ;// 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 response = await requestMethod({ method, url, headers });
const normalizedResponse = normalizePaginatedListResponse(response); const normalizedResponse = normalizePaginatedListResponse(response);
url = ((normalizedResponse.headers.link || "").match( url = ((normalizedResponse.headers.link || "").match(
/<([^>]+)>;\s*rel="next"/ /<([^<>]+)>;\s*rel="next"/
) || [])[1]; ) || [])[1];
return { value: normalizedResponse }; return { value: normalizedResponse };
} catch (error) { } catch (error) {
@@ -33936,7 +33909,7 @@ __nccwpck_require__.d(__webpack_exports__, {
}); });
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js ;// 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 //# sourceMappingURL=version.js.map
+39 -50
View File
@@ -11,15 +11,15 @@
"dependencies": { "dependencies": {
"@actions/core": "^1.11.1", "@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.1", "@actions/tool-cache": "^2.0.2",
"@octokit/core": "^6.1.3", "@octokit/core": "^6.1.4",
"@octokit/plugin-paginate-rest": "^11.4.0", "@octokit/plugin-paginate-rest": "^11.4.2",
"@octokit/plugin-rest-endpoint-methods": "^13.3.0", "@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"smol-toml": "^1.3.1" "smol-toml": "^1.3.1"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "1.9.4",
"@types/node": "^22.12.0", "@types/node": "^22.13.4",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.3", "@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
@@ -58,16 +58,15 @@
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
}, },
"node_modules/@actions/tool-cache": { "node_modules/@actions/tool-cache": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz", "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz",
"integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==", "integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==",
"dependencies": { "dependencies": {
"@actions/core": "^1.2.6", "@actions/core": "^1.11.1",
"@actions/exec": "^1.0.0", "@actions/exec": "^1.0.0",
"@actions/http-client": "^2.0.1", "@actions/http-client": "^2.0.1",
"@actions/io": "^1.1.1", "@actions/io": "^1.1.1",
"semver": "^6.1.0", "semver": "^6.1.0"
"uuid": "^3.3.2"
} }
}, },
"node_modules/@biomejs/biome": { "node_modules/@biomejs/biome": {
@@ -242,14 +241,14 @@
} }
}, },
"node_modules/@octokit/core": { "node_modules/@octokit/core": {
"version": "6.1.3", "version": "6.1.4",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.3.tgz", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz",
"integrity": "sha512-z+j7DixNnfpdToYsOutStDgeRzJSMnbj8T1C/oQjB6Aa+kRfNjs/Fn7W6c8bmlt6mfy3FkgeKBRnDjxQow5dow==", "integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==",
"dependencies": { "dependencies": {
"@octokit/auth-token": "^5.0.0", "@octokit/auth-token": "^5.0.0",
"@octokit/graphql": "^8.1.2", "@octokit/graphql": "^8.1.2",
"@octokit/request": "^9.1.4", "@octokit/request": "^9.2.1",
"@octokit/request-error": "^6.1.6", "@octokit/request-error": "^6.1.7",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.6.2",
"before-after-hook": "^3.0.2", "before-after-hook": "^3.0.2",
"universal-user-agent": "^7.0.0" "universal-user-agent": "^7.0.0"
@@ -259,9 +258,9 @@
} }
}, },
"node_modules/@octokit/endpoint": { "node_modules/@octokit/endpoint": {
"version": "10.1.2", "version": "10.1.3",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz",
"integrity": "sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==", "integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.6.2", "@octokit/types": "^13.6.2",
"universal-user-agent": "^7.0.2" "universal-user-agent": "^7.0.2"
@@ -289,9 +288,9 @@
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" "integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g=="
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "11.4.0", "version": "11.4.2",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.2.tgz",
"integrity": "sha512-ttpGck5AYWkwMkMazNCZMqxKqIq1fJBNxBfsFwwfyYKTf914jKkLF0POMS3YkPBwp5g1c2Y4L79gDz01GhSr1g==", "integrity": "sha512-BXJ7XPCTDXFF+wxcg/zscfgw2O/iDPtNSkwwR1W1W5c4Mb3zav/M2XvxQ23nVmKj7jpweB4g8viMeCQdm7LMVA==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.7.0" "@octokit/types": "^13.7.0"
}, },
@@ -303,11 +302,11 @@
} }
}, },
"node_modules/@octokit/plugin-rest-endpoint-methods": { "node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "13.3.0", "version": "13.3.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz",
"integrity": "sha512-LUm44shlmkp/6VC+qQgHl3W5vzUP99ZM54zH6BuqkJK4DqfFLhegANd+fM4YRLapTvPm4049iG7F3haANKMYvQ==", "integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.7.0" "@octokit/types": "^13.8.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
@@ -317,12 +316,12 @@
} }
}, },
"node_modules/@octokit/request": { "node_modules/@octokit/request": {
"version": "9.2.0", "version": "9.2.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz",
"integrity": "sha512-kXLfcxhC4ozCnAXy2ff+cSxpcF0A1UqxjvYMqNuPIeOAzJbVWQ+dy5G2fTylofB/gTbObT8O6JORab+5XtA1Kw==", "integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==",
"dependencies": { "dependencies": {
"@octokit/endpoint": "^10.0.0", "@octokit/endpoint": "^10.1.3",
"@octokit/request-error": "^6.0.1", "@octokit/request-error": "^6.1.7",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.6.2",
"fast-content-type-parse": "^2.0.0", "fast-content-type-parse": "^2.0.0",
"universal-user-agent": "^7.0.2" "universal-user-agent": "^7.0.2"
@@ -332,9 +331,9 @@
} }
}, },
"node_modules/@octokit/request-error": { "node_modules/@octokit/request-error": {
"version": "6.1.6", "version": "6.1.7",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.6.tgz", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz",
"integrity": "sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==", "integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.6.2" "@octokit/types": "^13.6.2"
}, },
@@ -343,19 +342,18 @@
} }
}, },
"node_modules/@octokit/types": { "node_modules/@octokit/types": {
"version": "13.7.0", "version": "13.8.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.7.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz",
"integrity": "sha512-BXfRP+3P3IN6fd4uF3SniaHKOO4UXWBfkdR3vA8mIvaoO/wLjGN5qivUtW0QRitBHHMcfC41SLhNVYIZZE+wkA==", "integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==",
"dependencies": { "dependencies": {
"@octokit/openapi-types": "^23.0.1" "@octokit/openapi-types": "^23.0.1"
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "22.12.0", "version": "22.13.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz",
"integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~6.20.0" "undici-types": "~6.20.0"
} }
@@ -475,15 +473,6 @@
"version": "7.0.2", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
"integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" "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", "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)\"", "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)\"", "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": { "repository": {
"type": "git", "type": "git",
@@ -24,15 +24,15 @@
"dependencies": { "dependencies": {
"@actions/core": "^1.11.1", "@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.1", "@actions/tool-cache": "^2.0.2",
"@octokit/core": "^6.1.3", "@octokit/core": "^6.1.4",
"@octokit/plugin-paginate-rest": "^11.4.0", "@octokit/plugin-paginate-rest": "^11.4.2",
"@octokit/plugin-rest-endpoint-methods": "^13.3.0", "@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"smol-toml": "^1.3.1" "smol-toml": "^1.3.1"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "1.9.4",
"@types/node": "^22.12.0", "@types/node": "^22.13.4",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.3", "@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
+102
View File
@@ -1,5 +1,107 @@
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = { 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": "aarch64-apple-darwin-0.9.3":
"4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530", "4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530",
"aarch64-pc-windows-msvc-0.9.3": "aarch64-pc-windows-msvc-0.9.3":
+2
View File
@@ -71,6 +71,7 @@ export async function resolveVersion(
versionInput: string, versionInput: string,
githubToken: string, githubToken: string,
): Promise<string> { ): Promise<string> {
core.debug(`Resolving ${versionInput}...`);
const version = const version =
versionInput === "latest" versionInput === "latest"
? await getLatestVersion(githubToken) ? await getLatestVersion(githubToken)
@@ -84,6 +85,7 @@ export async function resolveVersion(
if (resolvedVersion === "") { if (resolvedVersion === "") {
throw new Error(`No version found for ${version}`); throw new Error(`No version found for ${version}`);
} }
core.debug(`Resolved version: ${resolvedVersion}`);
return resolvedVersion; return resolvedVersion;
} }
+13 -5
View File
@@ -21,7 +21,7 @@ import {
version, version,
versionFile as versionFileInput, versionFile as versionFileInput,
} from "./utils/inputs"; } from "./utils/inputs";
import { getRuffVersionFromPyproject } from "./utils/pyproject"; import { getRuffVersionFromRequirementsFile } from "./utils/pyproject";
import * as fs from "node:fs"; import * as fs from "node:fs";
async function run(): Promise<void> { async function run(): Promise<void> {
@@ -93,19 +93,27 @@ async function determineVersion(): Promise<string> {
return await resolveVersion(version, githubToken); return await resolveVersion(version, githubToken);
} }
if (versionFileInput !== "") { if (versionFileInput !== "") {
const versionFromPyproject = getRuffVersionFromPyproject(versionFileInput); const versionFromPyproject =
getRuffVersionFromRequirementsFile(versionFileInput);
if (versionFromPyproject === undefined) { if (versionFromPyproject === undefined) {
core.warning( 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"); const pyProjectPath = path.join(src, "pyproject.toml");
if (!fs.existsSync(pyProjectPath)) { if (!fs.existsSync(pyProjectPath)) {
core.info(`Could not find ${pyProjectPath}. Using latest version.`);
return await resolveVersion("latest", githubToken); 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); return await resolveVersion(versionFromPyproject || "latest", githubToken);
} }
+47 -27
View File
@@ -2,34 +2,12 @@ import * as fs from "node:fs";
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as toml from "smol-toml"; import * as toml from "smol-toml";
export function getRuffVersionFromPyproject( function getRuffVersionFromAllDependencies(
filePath: string, allDependencies: string[],
): string | undefined { ): string | undefined {
if (!fs.existsSync(filePath)) { const ruffVersionDefinition = allDependencies.find((dep: string) =>
core.warning(`Could not find file: ${filePath}`); dep.startsWith("ruff"),
return undefined; );
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
let pyproject:
| {
project?: { dependencies?: string[] };
"dependency-groups"?: { dev?: string[] };
}
| 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 devDependencies: string[] = pyproject?.["dependency-groups"]?.dev || [];
const ruffVersionDefinition =
dependencies.find((dep: string) => dep.startsWith("ruff")) ||
devDependencies.find((dep: string) => dep.startsWith("ruff"));
if (ruffVersionDefinition) { if (ruffVersionDefinition) {
const ruffVersion = ruffVersionDefinition const ruffVersion = ruffVersionDefinition
@@ -44,3 +22,45 @@ export function getRuffVersionFromPyproject(
return undefined; 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;
}
}