Compare commits

..
Author SHA1 Message Date
Kevin Stillhammer eef6392152 Test exit-zero 2025-01-26 17:49:55 +01:00
31 changed files with 9027 additions and 10959 deletions
@@ -1,20 +0,0 @@
import * as fs from "node:fs";
import * as yaml from "js-yaml";
const workflow = yaml.load(
fs.readFileSync("../workflows/test.yml", "utf8"),
) as any;
const jobs = Object.keys(workflow.jobs);
const allTestsPassed = workflow.jobs["all-tests-passed"];
const needs: string[] = allTestsPassed.needs || [];
const expectedNeeds = jobs.filter((j) => j !== "all-tests-passed");
const missing = expectedNeeds.filter((j) => !needs.includes(j));
if (missing.length > 0) {
console.error(
`Missing jobs in all-tests-passed needs: ${missing.join(", ")}`,
);
process.exit(1);
}
console.log("All jobs in test.yml are in the needs section of all-tests-passed.");
+49
View File
@@ -0,0 +1,49 @@
# `dist/index.js` is a special file in Actions.
# When you reference an action with `uses:` in a workflow,
# `index.js` is the code that will run.
# For our project, we generate this file through a build process from other source files.
# We need to make sure the checked-in `index.js` actually matches what we expect it to be.
name: Check dist/
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
jobs:
check-dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: npm ci
- name: Rebuild the dist/ directory
run: |
npm run build
npm run package
- 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:"
git diff --text -v
exit 1
fi
id: diff
# If index.js was different than expected, upload the expected version as an artifact
- uses: actions/upload-artifact@v4
if: ${{ failure() && steps.diff.conclusion == 'failure' }}
with:
name: dist
path: dist/
-1
View File
@@ -12,7 +12,6 @@
name: "CodeQL" name: "CodeQL"
on: on:
workflow_dispatch:
push: push:
branches: [main] branches: [main]
pull_request: pull_request:
+2 -5
View File
@@ -3,20 +3,17 @@ name: Release Drafter
# yamllint disable-line rule:truthy # yamllint disable-line rule:truthy
on: on:
workflow_dispatch:
push: push:
branches: branches:
- main - main
workflow_dispatch:
jobs: jobs:
update_release_draft: update_release_draft:
name: ✏️ Draft release name: ✏️ Draft release
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
steps: steps:
- name: 🚀 Run Release Drafter - name: 🚀 Run Release Drafter
uses: release-drafter/release-drafter@v6.1.0 uses: release-drafter/release-drafter@v6.0.0
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+20 -159
View File
@@ -1,7 +1,7 @@
name: "test" name: "test"
on: on:
workflow_dispatch:
pull_request: pull_request:
workflow_dispatch:
push: push:
branches: branches:
- main - main
@@ -16,7 +16,7 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Actionlint - name: Actionlint
uses: eifinger/actionlint-action@23c85443d840cd73bbecb9cddfc933cc21649a38 # v1.9.1 uses: eifinger/actionlint-action@8ebeb40569f3c15ca66fe36d1b75f9b70c6c4f6e # v1.9.0
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: "20" node-version: "20"
@@ -24,13 +24,9 @@ jobs:
npm install npm install
- run: | - run: |
npm run all npm run all
- name: Transpile scripts
run: |
tsc *.ts
working-directory: .github/scripts
- name: Make sure no changes from linters are detected - name: Make sure no changes from linters are detected
run: | run: |
git diff --exit-code || (echo "::error::Please run 'npm run all' to fix the issues" && exit 1) git diff --exit-code
test-latest-version: test-latest-version:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
@@ -44,11 +40,10 @@ jobs:
src: __tests__/fixtures/python-project src: __tests__/fixtures/python-project
version: latest version: latest
test-specific-version: test-specific-version:
runs-on: ${{ matrix.os }} runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
ruff-version: ["0.1.7", "0.1.8", "0.4.7", "0.4.10", "0.7", "0.7.x", ">=0.7.0"] ruff-version: ["0.7.4", "0.7", "0.7.x", ">=0.7.0"]
os: [ ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-14, windows-latest ]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Use version ${{ matrix.ruff-version }} - name: Use version ${{ matrix.ruff-version }}
@@ -56,39 +51,6 @@ jobs:
with: with:
version: ${{ matrix.ruff-version }} version: ${{ matrix.ruff-version }}
src: __tests__/fixtures/python-project src: __tests__/fixtures/python-project
test-unsupported-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Try install old version
id: install
continue-on-error: true
uses: ./
with:
version: 0.0.246
src: __tests__/fixtures/python-project
- name: Check if the action failed
run: |
if [ ${{ steps.install.outcome }} == "success" ]; then
exit 1
fi
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:
@@ -122,74 +84,6 @@ 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-poetry-groups:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use default version from pyproject.toml poetry group dependencies
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/pyproject-dependency-poetry-project
version-file: __tests__/fixtures/pyproject-dependency-poetry-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:
@@ -207,30 +101,17 @@ jobs:
fi fi
env: env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }} RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-pep440-version-specifier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install version 0.11.11
id: ruff-action
uses: ./
with:
version: ">=0.11.10,<0.12.0"
src: __tests__/fixtures/python-project
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.11.11" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-checksum: test-checksum:
runs-on: ${{ matrix.inputs.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
inputs: os: [ubuntu-latest, macos-latest]
- os: ubuntu-latest checksum:
["0de731c669b9ece77e799ac3f4a160c30849752714d9775c94cc4cfaf326860c"]
exclude:
- os: macos-latest
checksum: "0de731c669b9ece77e799ac3f4a160c30849752714d9775c94cc4cfaf326860c" checksum: "0de731c669b9ece77e799ac3f4a160c30849752714d9775c94cc4cfaf326860c"
include:
- os: macos-latest - os: macos-latest
checksum: "af9583bff12afbca5d5670334e0187dd60c4d91bc71317d1b2dde70cb1200ba9" checksum: "af9583bff12afbca5d5670334e0187dd60c4d91bc71317d1b2dde70cb1200ba9"
steps: steps:
@@ -239,7 +120,7 @@ jobs:
uses: ./ uses: ./
with: with:
version: "0.7.4" version: "0.7.4"
checksum: ${{ matrix.inputs.checksum }} checksum: ${{ matrix.checksum }}
src: __tests__/fixtures/python-project src: __tests__/fixtures/python-project
test-with-explicit-token: test-with-explicit-token:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -303,32 +184,12 @@ jobs:
src: >- src: >-
__tests__/fixtures/python-project/src/python_project/__init__.py __tests__/fixtures/python-project/src/python_project/__init__.py
__tests__/fixtures/python-project/src/python_project/hello_world.py __tests__/fixtures/python-project/src/python_project/hello_world.py
test-exit-zero:
all-tests-passed:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs:
- lint
- test-latest-version
- test-specific-version
- test-unsupported-version
- test-version-from-version-file-pyproject
- test-default-version-from-pyproject
- test-default-version-from-pyproject-dev-group
- test-default-version-from-pyproject-dependency-groups
- test-default-version-from-pyproject-poetry-groups
- test-default-version-from-pyproject-optional-dependencies
- test-default-version-from-requirements
- test-semver-range
- test-pep440-version-specifier
- test-checksum
- test-with-explicit-token
- test-args
- test-failure
- test-multiple-src
if: always()
steps: steps:
- name: All tests passed - uses: actions/checkout@v4
run: | - name: Debug this
echo "All jobs passed: ${{ !contains(needs.*.result, 'failure') }}" uses: ./
# shellcheck disable=SC2242 with:
exit ${{ contains(needs.*.result, 'failure') && 1 || 0 }} args: "--exit-zero"
src: __tests__/fixtures/python-project
+1 -6
View File
@@ -1,15 +1,10 @@
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:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
@@ -22,7 +17,7 @@ jobs:
src/download/checksum/known-checksums.ts ${{ secrets.GITHUB_TOKEN }} src/download/checksum/known-checksums.ts ${{ secrets.GITHUB_TOKEN }}
- run: npm install && npm run all - run: npm install && npm run all
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6
with: with:
commit-message: "chore: update known checksums" commit-message: "chore: update known checksums"
title: title:
+2 -31
View File
@@ -13,36 +13,7 @@ jobs:
update_major_minor_tags: update_major_minor_tags:
name: Make sure major and minor tags are up to date on a patch release name: Make sure major and minor tags are up to date on a patch release
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Update Major Minor Tags - name: Run Update semver
run: | uses: haya14busa/action-update-semver@v1.2.1
set -x
cd "${GITHUB_WORKSPACE}" || exit
# Set up variables.
TAG="${GITHUB_REF#refs/tags/}" # v1.2.3
MINOR="${TAG%.*}" # v1.2
MAJOR="${MINOR%.*}" # v1
if [ "${GITHUB_REF}" = "${TAG}" ]; then
echo "This workflow is not triggered by tag push: GITHUB_REF=${GITHUB_REF}"
exit 1
fi
MESSAGE="Release ${TAG}"
# Set up Git.
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
# Update MAJOR/MINOR tag
git tag -fa "${MAJOR}" -m "${MESSAGE}"
git tag -fa "${MINOR}" -m "${MESSAGE}"
# Push
git push --force origin "${MINOR}"
git push --force origin "${MAJOR}"
+9 -32
View File
@@ -4,8 +4,8 @@ A GitHub Action to run [ruff](https://github.com/astral-sh/ruff).
This action is commonly used as a pass/fail test to ensure your repository stays This action is commonly used as a pass/fail test to ensure your repository stays
clean, abiding the [rules](https://docs.astral.sh/ruff/rules/) specified in your clean, abiding the [rules](https://docs.astral.sh/ruff/rules/) specified in your
configuration. Though it runs `ruff check` by default, the action can do configuration. Though it runs `ruff`, the action can do anything `ruff` can (ex,
anything `ruff` can (ex, fix). fix).
## Contents ## Contents
@@ -16,9 +16,9 @@ anything `ruff` can (ex, fix).
- [Use to install ruff](#use-to-install-ruff) - [Use to install ruff](#use-to-install-ruff)
- [Use `ruff format`](#use-ruff-format) - [Use `ruff format`](#use-ruff-format)
- [Install specific versions](#install-specific-versions) - [Install specific versions](#install-specific-versions)
- [Install the latest version](#install-the-latest-version) - [Install the latest version (default)](#install-the-latest-version-default)
- [Install a specific version](#install-a-specific-version) - [Install a specific version](#install-a-specific-version)
- [Install a version by supplying a semver range or pep440 specifier](#install-a-version-by-supplying-a-semver-range-or-pep440-specifier) - [Install a version by supplying a semver range](#install-a-version-by-supplying-a-semver-range)
- [Install a version from a specified version file](#install-a-version-from-a-specified-version-file) - [Install a version from a specified version file](#install-a-version-from-a-specified-version-file)
- [Validate checksum](#validate-checksum) - [Validate checksum](#validate-checksum)
- [GitHub authentication token](#github-authentication-token) - [GitHub authentication token](#github-authentication-token)
@@ -69,34 +69,19 @@ This action adds ruff to the PATH, so you can use it in subsequent steps.
- run: ruff format - run: ruff format
``` ```
By default, this action runs `ruff check` after installation.
If you do not want to run any `ruff` command but only install it,
you can use the `args` input to overwrite the default value (`check`):
```yaml
- name: Install ruff without running check or format
uses: astral-sh/ruff-action@v3
with:
args: "--version"
```
### Use `ruff format` ### Use `ruff format`
```yaml ```yaml
- uses: astral-sh/ruff-action@v3 - uses: astral-sh/ruff-action@v3
with: with:
args: "format --check --diff" args: "format --check"
``` ```
### Install specific versions ### Install specific versions
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
`project.dependencies`, `project.optional-dependencies`, or `dependency-groups`, either `dependencies` or `dependency-groups.dev` the latest version is installed.
the latest version is installed.
> [!NOTE]
> This action does only support ruff versions v0.0.247 and above.
#### Install the latest version #### Install the latest version
@@ -116,10 +101,9 @@ the latest version is installed.
version: "0.4.4" version: "0.4.4"
``` ```
#### Install a version by supplying a semver range or pep440 specifier #### Install a version by supplying a semver range
You can specify a [semver range](https://github.com/npm/node-semver?tab=readme-ov-file#ranges) You can specify a [semver range](https://github.com/npm/node-semver?tab=readme-ov-file#ranges)
or [pep440 specifier](https://peps.python.org/pep-0440/#version-specifiers)
to install the latest version that satisfies the range. to install the latest version that satisfies the range.
```yaml ```yaml
@@ -136,23 +120,16 @@ to install the latest version that satisfies the range.
version: "0.4.x" version: "0.4.x"
``` ```
```yaml
- name: Install a pep440-specifier-satisfying version of ruff
uses: astral-sh/ruff-action@v3
with:
version: ">=0.11.10,<0.12.0"
```
#### 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` and `requirements.txt` are supported. Currently `pyproject.toml` is 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-or-requirements.txt" version-file: "my-path/to/pyproject.toml"
``` ```
### Validate checksum ### Validate checksum
@@ -1,22 +0,0 @@
[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"
@@ -1,2 +0,0 @@
def hello() -> str:
return "Hello from python-project!"
@@ -1,14 +0,0 @@
[project]
name = "pyproject-dependency-poetry-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
[tool.poetry.group.dev.dependencies]
sphinx = "*"
ruff = "0.8.3"
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
@@ -1,2 +0,0 @@
def hello() -> str:
return "Hello from python-project!"
@@ -1,15 +0,0 @@
[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"
@@ -1,2 +0,0 @@
def hello() -> str:
return "Hello from python-project!"
-13
View File
@@ -1,13 +0,0 @@
[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
@@ -1 +0,0 @@
ruff==0.9.0
Generated Vendored
+4397 -5229
View File
File diff suppressed because it is too large Load Diff
+4392 -4351
View File
File diff suppressed because it is too large Load Diff
+142 -115
View File
@@ -11,21 +11,17 @@
"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.2", "@actions/github": "^6.0.0",
"@octokit/core": "^6.1.4", "@actions/tool-cache": "^2.0.1",
"@octokit/plugin-paginate-rest": "^11.4.3",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"@renovatebot/pep440": "^4.1.0",
"smol-toml": "^1.3.1" "smol-toml": "^1.3.1"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "1.9.4",
"@types/js-yaml": "^4.0.9", "@types/node": "^22.10.5",
"@types/node": "^22.13.10",
"@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",
"typescript": "^5.8.2" "typescript": "^5.6.3"
} }
}, },
"node_modules/@actions/core": { "node_modules/@actions/core": {
@@ -45,6 +41,17 @@
"@actions/io": "^1.0.1" "@actions/io": "^1.0.1"
} }
}, },
"node_modules/@actions/github": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz",
"integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==",
"dependencies": {
"@actions/http-client": "^2.2.0",
"@octokit/core": "^5.0.1",
"@octokit/plugin-paginate-rest": "^9.0.0",
"@octokit/plugin-rest-endpoint-methods": "^10.0.0"
}
},
"node_modules/@actions/http-client": { "node_modules/@actions/http-client": {
"version": "2.2.3", "version": "2.2.3",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz",
@@ -60,15 +67,16 @@
"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.2", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz", "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz",
"integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==", "integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==",
"dependencies": { "dependencies": {
"@actions/core": "^1.11.1", "@actions/core": "^1.2.6",
"@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": {
@@ -235,146 +243,154 @@
} }
}, },
"node_modules/@octokit/auth-token": { "node_modules/@octokit/auth-token": {
"version": "5.1.2", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
"integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/core": { "node_modules/@octokit/core": {
"version": "6.1.4", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz",
"integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==",
"dependencies": { "dependencies": {
"@octokit/auth-token": "^5.0.0", "@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^8.1.2", "@octokit/graphql": "^7.1.0",
"@octokit/request": "^9.2.1", "@octokit/request": "^8.3.1",
"@octokit/request-error": "^6.1.7", "@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.0.0",
"before-after-hook": "^3.0.2", "before-after-hook": "^2.2.0",
"universal-user-agent": "^7.0.0" "universal-user-agent": "^6.0.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/endpoint": { "node_modules/@octokit/endpoint": {
"version": "10.1.3", "version": "9.0.5",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz",
"integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.6.2", "@octokit/types": "^13.1.0",
"universal-user-agent": "^7.0.2" "universal-user-agent": "^6.0.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/graphql": { "node_modules/@octokit/graphql": {
"version": "8.1.2", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz",
"integrity": "sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==", "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==",
"dependencies": { "dependencies": {
"@octokit/request": "^9.1.4", "@octokit/request": "^8.3.0",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.0.0",
"universal-user-agent": "^7.0.0" "universal-user-agent": "^6.0.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/openapi-types": { "node_modules/@octokit/openapi-types": {
"version": "23.0.1", "version": "22.2.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz",
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg=="
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "11.4.3", "version": "9.2.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz",
"integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==", "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==",
"license": "MIT",
"dependencies": { "dependencies": {
"@octokit/types": "^13.7.0" "@octokit/types": "^12.6.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=6" "@octokit/core": "5"
}
},
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
"integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA=="
},
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
"integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
"dependencies": {
"@octokit/openapi-types": "^20.0.0"
} }
}, },
"node_modules/@octokit/plugin-rest-endpoint-methods": { "node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "13.3.1", "version": "10.4.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz",
"integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==", "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.8.0" "@octokit/types": "^12.6.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=6" "@octokit/core": "5"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
"integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA=="
},
"node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
"integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
"dependencies": {
"@octokit/openapi-types": "^20.0.0"
} }
}, },
"node_modules/@octokit/request": { "node_modules/@octokit/request": {
"version": "9.2.2", "version": "8.4.0",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz",
"integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==",
"dependencies": { "dependencies": {
"@octokit/endpoint": "^10.1.3", "@octokit/endpoint": "^9.0.1",
"@octokit/request-error": "^6.1.7", "@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.1.0",
"fast-content-type-parse": "^2.0.0", "universal-user-agent": "^6.0.0"
"universal-user-agent": "^7.0.2"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/request-error": { "node_modules/@octokit/request-error": {
"version": "6.1.7", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz",
"integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.6.2" "@octokit/types": "^13.1.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/types": { "node_modules/@octokit/types": {
"version": "13.8.0", "version": "13.6.1",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz",
"integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==",
"dependencies": { "dependencies": {
"@octokit/openapi-types": "^23.0.1" "@octokit/openapi-types": "^22.2.0"
} }
}, },
"node_modules/@renovatebot/pep440": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.1.0.tgz",
"integrity": "sha512-mo2RxnOSp78Njt1HmgMwjl6FapP4OyIS8HypJlymCvN7AIV2Xf5PmZfl/E3O1WWZ6IjKrfsEAaPWFMi8tnkq3g==",
"license": "Apache-2.0",
"engines": {
"node": "^20.9.0 || ^22.11.0",
"pnpm": "^9.0.0"
}
},
"node_modules/@types/js-yaml": {
"version": "4.0.9",
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
"integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
"dev": true,
"license": "MIT"
},
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "22.13.10", "version": "22.10.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~6.20.0" "undici-types": "~6.20.0"
} }
@@ -401,24 +417,14 @@
"dev": true "dev": true
}, },
"node_modules/before-after-hook": { "node_modules/before-after-hook": {
"version": "3.0.2", "version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
"integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
}, },
"node_modules/fast-content-type-parse": { "node_modules/deprecation": {
"version": "2.0.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
]
}, },
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.0", "version": "4.1.0",
@@ -432,6 +438,14 @@
"js-yaml": "bin/js-yaml.js" "js-yaml": "bin/js-yaml.js"
} }
}, },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dependencies": {
"wrappy": "1"
}
},
"node_modules/semver": { "node_modules/semver": {
"version": "6.3.1", "version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -460,11 +474,10 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.8.2", "version": "5.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
"dev": true, "dev": true,
"license": "Apache-2.0",
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
@@ -474,9 +487,9 @@
} }
}, },
"node_modules/undici": { "node_modules/undici": {
"version": "5.28.5", "version": "5.28.4",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
"integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
"dependencies": { "dependencies": {
"@fastify/busboy": "^2.0.0" "@fastify/busboy": "^2.0.0"
}, },
@@ -492,9 +505,23 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/universal-user-agent": { "node_modules/universal-user-agent": {
"version": "7.0.2", "version": "6.0.1",
"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-6.0.1.tgz",
"integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ=="
},
"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"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
} }
} }
} }
+5 -9
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 install && npm run build && npm run format && npm run lint && npm run package" "all": "npm run build && npm run format && npm run lint && npm run package"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -24,20 +24,16 @@
"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.2", "@actions/github": "^6.0.0",
"@octokit/core": "^6.1.4", "@actions/tool-cache": "^2.0.1",
"@octokit/plugin-paginate-rest": "^11.4.3",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"@renovatebot/pep440": "^4.1.0",
"smol-toml": "^1.3.1" "smol-toml": "^1.3.1"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "1.9.4",
"@types/js-yaml": "^4.0.9", "@types/node": "^22.10.5",
"@types/node": "^22.13.10",
"@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",
"typescript": "^5.8.2" "typescript": "^5.6.3"
} }
} }
-748
View File
@@ -1,753 +1,5 @@
// 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.11.11":
"814ccb26bed9c027bfc20ac88d33494ab0be62721757c73be70e26c23efbb3f7",
"aarch64-pc-windows-msvc-0.11.11":
"7c43804a3a9646edbc70eda6dab061343a5545844dbaff82ba472df3be4b74e0",
"aarch64-unknown-linux-gnu-0.11.11":
"26bc61fce6be2f358f656c7cc5b33725aafdc6ae6b21ee48fde10ad0d9b702ea",
"aarch64-unknown-linux-musl-0.11.11":
"3ca33d9b68b8b0bc7e3673b7638910ac2f7c5399303b37bec4d13c005481a78a",
"arm-unknown-linux-musleabihf-0.11.11":
"9d5cf3a8e5c495156479a7bb0a438f0f4bec6dbf69cdd48ede1cd508c41cd43b",
"armv7-unknown-linux-gnueabihf-0.11.11":
"acb854e89c24333a17cc2aba7adabab7314dc16bb92b52094661f9ca5843703f",
"armv7-unknown-linux-musleabihf-0.11.11":
"4e48259a71c1e806e64801bb3a55df555ee8b62360fb15f19e7ab3c496ee6f10",
"i686-pc-windows-msvc-0.11.11":
"507a588d22c9eb3558c86e85d50f6cbc099d52444dc05290c61ae8454aee25de",
"i686-unknown-linux-gnu-0.11.11":
"bd1e258d14a9a399bbb6fac468c3bfdc464858c028dd48ae3517f35b01a310c9",
"i686-unknown-linux-musl-0.11.11":
"4de74178a1e0181ed56b623943a3198c4f7f90da918d050e846a1468050bf4ad",
"powerpc64-unknown-linux-gnu-0.11.11":
"da883ef2174136c0d50570a16c01f57fd99c55e05914ba35dafd37b49e5f0331",
"powerpc64le-unknown-linux-gnu-0.11.11":
"ecd54e2738005a345ecc80f834f89a3d55c791e89ad43ca24becfbed79d490a4",
"s390x-unknown-linux-gnu-0.11.11":
"7a12eb9e85126cf9018842bc206b763211e9295ad6906e46c73b76ae110924ba",
"x86_64-apple-darwin-0.11.11":
"8bef00e82bc07ea26b45adcffc3d55b2d0821f3a3e4d5f441f4dd4ad608fc1be",
"x86_64-pc-windows-msvc-0.11.11":
"b7619ff27098a4d7f37c52fb8fc61ccfe677aaade7722a385b40f8d5273ebddd",
"x86_64-unknown-linux-gnu-0.11.11":
"4883053606fc9efed6f8860145bcbf66f0f421684054c156c84b04bd9bf1638f",
"x86_64-unknown-linux-musl-0.11.11":
"bb64b083767a5fd0a62e10e9a35614974ad53025e2878cf14a0c698680e6c30c",
"aarch64-apple-darwin-0.11.10":
"1c4187c5ecd76535b76e991af1114d9c9947fe69e6d1a69c9ed6723d6777a53e",
"aarch64-pc-windows-msvc-0.11.10":
"765234e319c8fce0b0216f570f4480b7a7b77d019347fa301536b808c245375b",
"aarch64-unknown-linux-gnu-0.11.10":
"a39ff81bfe023d55008943f11221d49759d73b9fe6bf76584626cfcdd33d8684",
"aarch64-unknown-linux-musl-0.11.10":
"acddbf808ba83c9dda01391ddd1c7f0c23d36f1f2cbbee6290d98363f3e4cafc",
"arm-unknown-linux-musleabihf-0.11.10":
"8647e140f06719c68220157205ef21644901dfab8daefe72cf08317e45b212d4",
"armv7-unknown-linux-gnueabihf-0.11.10":
"49eab0e5ec80c1d1a13737d5ad0ca69ac79227ece39750e4db38ad9f3a20f3f0",
"armv7-unknown-linux-musleabihf-0.11.10":
"51bf490bd5a357d76dd5ca7d5aa6724e4445a413720e3d370cf28194f12800fc",
"i686-pc-windows-msvc-0.11.10":
"e0aab393a0e9da99e7cadcfbad7bfa6abbe3de9e1fc69eb3e649ed27769fd7a1",
"i686-unknown-linux-gnu-0.11.10":
"5cab3435770f98a3171e3890b870b2bf682f1639470d46e1538a2117a0072464",
"i686-unknown-linux-musl-0.11.10":
"f98f40b6a9fddde57459ce635b94cacc417a6682aeab24ee1091f7486c64eaee",
"powerpc64-unknown-linux-gnu-0.11.10":
"084d19d34b553212aceb988f2de97f304a214f0c93a230366bae55351d0c552c",
"powerpc64le-unknown-linux-gnu-0.11.10":
"02abc4c8d4f40d4c2a02a4fe1edf6061ac724e95b0c65e5ccfd968b150d7154d",
"s390x-unknown-linux-gnu-0.11.10":
"379ae3fa5b61d8e7433cf9fa5c76aec8a7e3f17e686f55100cccb13765b4c8f4",
"x86_64-apple-darwin-0.11.10":
"25f0a8b819ea5c9377be02fd98c363ffb5659c35358881a1ce909f30b362cb39",
"x86_64-pc-windows-msvc-0.11.10":
"d77bc4ecdb0f50f5a70422db90ec735caf71c3ea3e201e6e84a78fed695a4950",
"x86_64-unknown-linux-gnu-0.11.10":
"ade458637abe06ff6780e0b3a5fdd281da552d33eb75b954fc2a27278258b856",
"x86_64-unknown-linux-musl-0.11.10":
"8765d2f71c422f60a1456a2b2d9b2ee2ab286cb4859a774b5efb0a837a07f6dd",
"aarch64-apple-darwin-0.11.9":
"d7955d8cf0b96471757d9733b21576b00baebecc056e3382d7023f092bfa8526",
"aarch64-pc-windows-msvc-0.11.9":
"bebd2f05e37101023d32ca6b0a6ca1f619b0c5faccde7df0960d96bcc2bcf8bc",
"aarch64-unknown-linux-gnu-0.11.9":
"8dffb447ee07405dcb0939666703a53ac38d6703abbe48db6d5ec8189544dd37",
"aarch64-unknown-linux-musl-0.11.9":
"a3d6ee64ce182345d88ce2d1a2960d9261d2bcf6746b85be769b31e27349f6fb",
"arm-unknown-linux-musleabihf-0.11.9":
"1c480bcfad71617754f9518e44db9670ff87145b79d03dec3db4b50c5a743dc3",
"armv7-unknown-linux-gnueabihf-0.11.9":
"2a8739fb4544a2da95d3f64f43a01d86468dc4c72d47f0cdea4dbd36767e5b3b",
"armv7-unknown-linux-musleabihf-0.11.9":
"5cfb13bad415b339162d60ca044c248130882ab014d648532fe789540f8fc80d",
"i686-pc-windows-msvc-0.11.9":
"17dd0dc46c38bf1fe4af50f1cc5b128054a43182cfb643d5ab2ac0382e94719b",
"i686-unknown-linux-gnu-0.11.9":
"472c13baa143869103ab40f8281d39691abc24ede7bfbcbc57bb2a796b84bb52",
"i686-unknown-linux-musl-0.11.9":
"d1f795e59c2e0842352b00e8301ee8fe2fe321fd5af39f419b77534b4f6bd817",
"powerpc64-unknown-linux-gnu-0.11.9":
"e5165cf2db7d74d1d05bc7fee0c36eb92578716a6b86d95d63c3a4577102350e",
"powerpc64le-unknown-linux-gnu-0.11.9":
"022579b3fc348651103a2dddb21f5844dde111d9b539f6179448e076dc9979fe",
"s390x-unknown-linux-gnu-0.11.9":
"f657228facc1a131a4896a028a847bba95ccf82dd6570385cacabb8f186db26d",
"x86_64-apple-darwin-0.11.9":
"88d5c544ac4a420b3c58e0a858a7807c545668a6a3fb9e5403ad73aa0d55b653",
"x86_64-pc-windows-msvc-0.11.9":
"b3c7144d40b3860b104cb88e5c8a95a326b81b3d305b9b6a2ce304761b8508c3",
"x86_64-unknown-linux-gnu-0.11.9":
"276f6b928f61724b255e04e7e3b9e6859f86f4eec5d1b906a72983f3365b6671",
"x86_64-unknown-linux-musl-0.11.9":
"7125dd1baf4f4d635a185c84fa8bef7f572a088e30d160a07f97f2c9fac70c6d",
"aarch64-apple-darwin-0.11.8":
"bc3fc6693437efab1add3f288d6d16fac6926e6888c1e758ec162d5b6fe9099d",
"aarch64-pc-windows-msvc-0.11.8":
"06c2152f269949390bdde0cc9f6d74eb3f4068853a3d772b9ac9baa675b63a06",
"aarch64-unknown-linux-gnu-0.11.8":
"a6010d9393e254c73c81a9942fd1d49c6d1061a84bf76e024627924adfdd9e99",
"aarch64-unknown-linux-musl-0.11.8":
"7a4882654cd8b7c79b0bacd0f9b2062ec08a111a7f2621c69718000a165c93b6",
"arm-unknown-linux-musleabihf-0.11.8":
"e9d8c2e59d97b841273369350c64113708b402372fa6fd933aef70f2d4db9bf6",
"armv7-unknown-linux-gnueabihf-0.11.8":
"1eda8253c82dfc9232508ffb52e1e7d320719c60781a95a0f0e2a4b9ac7d7829",
"armv7-unknown-linux-musleabihf-0.11.8":
"cf4e4ca7426279051c4bdfb846749b8a75fe01892b9b08247dc700ece64af277",
"i686-pc-windows-msvc-0.11.8":
"c9d35f023f94110fd77e0d84240b8c1daf26f923e115556d7ef1e1d3af663e83",
"i686-unknown-linux-gnu-0.11.8":
"3d98524a340aede7ab974fb6f62778254aff1e9a57e565a22a348fdc02753566",
"i686-unknown-linux-musl-0.11.8":
"01f5a7ac05eaa0d548792c309e75fa24d18b6685831743e984d56b0fc4514251",
"powerpc64-unknown-linux-gnu-0.11.8":
"2c45c30ed216f67148ad8e96656efa0f9a4a7591c7def32fdd9db5db86a643fa",
"powerpc64le-unknown-linux-gnu-0.11.8":
"85705683af19f1dfc3c90424dab2525422a1e03e487610a79b725f96e04a4953",
"s390x-unknown-linux-gnu-0.11.8":
"722aa00e479f58f906e7bf697336b9ed3ccf0df939b83e10f2b778a6b136bdc6",
"x86_64-apple-darwin-0.11.8":
"56eaecad5d4e41d2f799bbb705d83238436de4a547e5d04c0591ae3422ae61cc",
"x86_64-pc-windows-msvc-0.11.8":
"2279f17ad7474b9a1493ec2aab404e6f1109272d3221a5d38ee06ceb0e4c6100",
"x86_64-unknown-linux-gnu-0.11.8":
"8edc7a28bb958af4ebfb6a85002c8cd96d88f264dd8c080e065a6e984963ce3c",
"x86_64-unknown-linux-musl-0.11.8":
"d5b331c4dd88a99b3b16babcaa8dec8b22f4004b880243f35f73c276f56684ff",
"aarch64-apple-darwin-0.11.7":
"1c6cc5fb36fb001dfa7331892f9d808bc7ced1d45f0ec54b4caeaa571bc55495",
"aarch64-pc-windows-msvc-0.11.7":
"c18bc5d87b9b582f1f9da6bdf78fa4a710f9d40f409cfae330f20bf9f16ce631",
"aarch64-unknown-linux-gnu-0.11.7":
"ccc11afdc3d3d3b146f972645d54a49c819034b8379d190281962bfa80c69389",
"aarch64-unknown-linux-musl-0.11.7":
"6cf1772002cc8787f5dd24b3fa7aa86bb26ad7188854f3df40a435467ecce10b",
"arm-unknown-linux-musleabihf-0.11.7":
"54b2103852c9667eab6df2b22649f1e0b16e1f4106888e9e239ada1e263bba0e",
"armv7-unknown-linux-gnueabihf-0.11.7":
"770b301a87680d96a3400e6932028efcbd181ab22e6a8dd551a1efcc2b6df82f",
"armv7-unknown-linux-musleabihf-0.11.7":
"8401fd29776dfd02f68a2a13bc4aea04b4da202237a0ab9548f9e373edf74b8f",
"i686-pc-windows-msvc-0.11.7":
"8608f979877847e8d218c9b5bc327bb5e9ce45b39961addc8380ffd9f4833a1a",
"i686-unknown-linux-gnu-0.11.7":
"8b837237cd348d87f7a1a22341d65a2a4b082173d5f873caa40a45493d6a8117",
"i686-unknown-linux-musl-0.11.7":
"897c08c45b8fcfc90770250ea61cc7cd22badeea2b7a685d78bf5f3892ae09a6",
"powerpc64-unknown-linux-gnu-0.11.7":
"38fc8cd8a4432372974668cf5256d55de2158ad5d919b6eff55637b50b4e749a",
"powerpc64le-unknown-linux-gnu-0.11.7":
"b9a8349f934930809981bf330dfa2385bb5e8c1d3a16752710e1a66130d44a97",
"s390x-unknown-linux-gnu-0.11.7":
"3daa6fb92450347b3983913624636c26d9451487b02a27880bcb6665413b1b5d",
"x86_64-apple-darwin-0.11.7":
"2acd8b2a63749e17506cc7a4a00b2ef007a3793d365ef0b6ed2a191f77219f35",
"x86_64-pc-windows-msvc-0.11.7":
"9e319a18844da490949303ec5a60032f6ee8d673fb174bd4e70c8641b091375d",
"x86_64-unknown-linux-gnu-0.11.7":
"7f448fea7bac3320416d1465219b8bd58828bfef9a3c8398094ca6c09b71148c",
"x86_64-unknown-linux-musl-0.11.7":
"0caf32ab0c399bfba08d18b190dc1aaec8ea47368864a4bf3b3f113e36e8fd68",
"aarch64-apple-darwin-0.11.6":
"fa9a4f229431f1971c4b1d35567237706384104af464d1d34013077e75b0dff3",
"aarch64-pc-windows-msvc-0.11.6":
"a5b28d8f4eb6a46bdd000f11579fcb074ab3be1e3d9140c225b7111cd7f6708f",
"aarch64-unknown-linux-gnu-0.11.6":
"ff73176c526026b02847901b9a51a1ed395a445d3704dbf60df4bd68d06f0be7",
"aarch64-unknown-linux-musl-0.11.6":
"05e42f4293649535fd381c6af6527af98868703f6072711022b76fffefcb669f",
"arm-unknown-linux-musleabihf-0.11.6":
"f9795e7edf81afa1885409d84fe4a25f7e9f7db35cdcb7e825eb5f9adb6c9c94",
"armv7-unknown-linux-gnueabihf-0.11.6":
"1c94650fdfbc0923495fea6b9be92ac503896f55ca255df4a9c3758b59e98475",
"armv7-unknown-linux-musleabihf-0.11.6":
"e8beafa466781a59902b92979a65e1f8999609874624c8fcda30812cbad3540a",
"i686-pc-windows-msvc-0.11.6":
"268f9450c9a8fad32c84da1cbf3be34f2d4fdb56442cae8d73e64c6476437f31",
"i686-unknown-linux-gnu-0.11.6":
"00c91021cdb13e781141c7cbf3bda5429e3ec60f70a87fa71452596d48e906b6",
"i686-unknown-linux-musl-0.11.6":
"a0fe3d93befe5b9767deb9d072e0f0b140aab37be1600e51ae06c16239d8e391",
"powerpc64-unknown-linux-gnu-0.11.6":
"04a25b6c39f94d6adfba2549ad94117dc8783a097378fae21b378a7cf763ba0b",
"powerpc64le-unknown-linux-gnu-0.11.6":
"ee67e166d653011fd6d3ff7231eceeb4a46c544a8deed808933e0a50b7dfd75b",
"s390x-unknown-linux-gnu-0.11.6":
"59ac481df26bcdef791ec69c32ab43068b132f771d40f505bce6f4947773adde",
"x86_64-apple-darwin-0.11.6":
"5af295e50f2a7db9767964bfe1af1cd9b61004b4e7fcb9e29059fb7aa561ad21",
"x86_64-pc-windows-msvc-0.11.6":
"9fbe8bc77738d2f231d580e315c54bc615b1bec22a6df4201e1d9a821f842ae3",
"x86_64-unknown-linux-gnu-0.11.6":
"ccfaf04f1f912c77ff12890717a4390166ea955e51d504a6f68c2fd2bc70c39e",
"x86_64-unknown-linux-musl-0.11.6":
"e5d91ac0472fa84942fd82cc9289637c9ec5a4669b8b2e2be6f61983707c8973",
"aarch64-apple-darwin-0.11.5":
"4a5b1a44412bda817debb67d826a565f11b235744870b509f44102403a3a9e89",
"aarch64-pc-windows-msvc-0.11.5":
"b31e0b25db4810115f714669152ad953e2b0902630c730457152bddebf2ca3c2",
"aarch64-unknown-linux-gnu-0.11.5":
"49955aa67dc524dfbee37ce3749d7f9331ed2d79c3a204da1729068d2f41d667",
"aarch64-unknown-linux-musl-0.11.5":
"77c11c7a70d3bf499915bab5a7691e955f4127164c4cfb7ef4e0773892ed2509",
"arm-unknown-linux-musleabihf-0.11.5":
"e84eb046fd064e34328c9e4dc931f48553d4b15899794aee024e7f3d22fe7292",
"armv7-unknown-linux-gnueabihf-0.11.5":
"da597c4e014c59dcc7826fd088d8cc12d3a1d22cbd7da6128b399c5a364781c0",
"armv7-unknown-linux-musleabihf-0.11.5":
"9f1b0efe535b1f376b627ca91adea6bcbaf25202f4601644dbdf45329f351a0f",
"i686-pc-windows-msvc-0.11.5":
"d3333b62d4ef26d2872f6c0f3f6340da161f8e4bbc7359dd9a8eab2cb4bd2f1b",
"i686-unknown-linux-gnu-0.11.5":
"70535bc5f92315af0f738c1ef2feb3653a5f4168a360d9a305918c3c4ad13e70",
"i686-unknown-linux-musl-0.11.5":
"240a76da851374d14851d0e1a90e4cb289c9420fe502e7cfab66d1aafaf130b0",
"powerpc64-unknown-linux-gnu-0.11.5":
"38f85d692148fc2142dbc215954fb2c08bebf9cbb23c2cc24b7c92a938bdf05b",
"powerpc64le-unknown-linux-gnu-0.11.5":
"2e51789ce389d15852a39b7204ed118f26dcea989a98da513433b0849901795f",
"s390x-unknown-linux-gnu-0.11.5":
"c8908e1e157f0ea5579be71b3fdc52c86f440e87026c4894d4b232d4797f9394",
"x86_64-apple-darwin-0.11.5":
"c28725c6421d5834b2cd16c7b13c3831b3363d6d558448d7dd3e0aa695551f94",
"x86_64-pc-windows-msvc-0.11.5":
"2679f4187e5cb317c5a1af17f6114d314b0d5534147097773e1cc0fd8b512429",
"x86_64-unknown-linux-gnu-0.11.5":
"291972831e6dc576caaa393ed4a8ed0c4d82e0ff4ea08d4e849d6e5ac840a833",
"x86_64-unknown-linux-musl-0.11.5":
"067c1c6c4d6033b65fe788f5310075686110b286a102431fb19883c079e2fca1",
"aarch64-apple-darwin-0.11.4":
"55a555097986e7cf0f84ce564f1638ac1da23eddf76d4b1b47489f3922cf8ae4",
"aarch64-pc-windows-msvc-0.11.4":
"90ff70103285d09929f7b31a11c30bd2c5df752e2d3a61e540599cee06c39dc9",
"aarch64-unknown-linux-gnu-0.11.4":
"6fbc86c6668dbf910d95722e15d0504e1dc40b4ed0a0270ed1d25d43e44aea80",
"aarch64-unknown-linux-musl-0.11.4":
"c8e81e2ef126c2e033ca6e374bffcea7f21cb4c6bf8c7fff51a140e2d15bcb7f",
"arm-unknown-linux-musleabihf-0.11.4":
"c17dd23ebca317a2c3224ffa6c0617e353633a0ec7c7149f0a61dc9828cba73f",
"armv7-unknown-linux-gnueabihf-0.11.4":
"71584d500a601b77745d76aef81a11cd92b7200f42c663009a8b3bc03e68479a",
"armv7-unknown-linux-musleabihf-0.11.4":
"4cd49dbe93944fc1e9bf826d0940bdbcb171dec346db1ebb25681cc1a31e1a77",
"i686-pc-windows-msvc-0.11.4":
"2d068600be4a657b888ab4654c94b0f7f63d3246ea7fff14b734d2ab0053718c",
"i686-unknown-linux-gnu-0.11.4":
"5035f3b7d46f8b5661a0335ebfd78e1f841210bd601b98ce3793572fa8be744d",
"i686-unknown-linux-musl-0.11.4":
"8b8b48eae555dd67cd224b8f072ff745c13aa1bb1842afb9f1052bc9276a30d5",
"powerpc64-unknown-linux-gnu-0.11.4":
"a7403d043978726e2fa665e16419ef2e3836b091036c9c38426ba1872492a9ea",
"powerpc64le-unknown-linux-gnu-0.11.4":
"af9cc3230a7515b4f1359950c5a2288d0c3bcbbaa3b892e729227395cf1e80c7",
"s390x-unknown-linux-gnu-0.11.4":
"655287e21286ccfa6e203b0d7d904cc539be59f16734b3a273a2cdbd0a37deb1",
"x86_64-apple-darwin-0.11.4":
"744d62f6d3b35b8a01c5e4d08cc8a61dba28d289747f20cf38d4945e152b9b5e",
"x86_64-pc-windows-msvc-0.11.4":
"b8b64b08a371e195fd76a9a4f38d30de9ca3c0151eea776d55c53324c3de4ea4",
"x86_64-unknown-linux-gnu-0.11.4":
"69b9d9228ecadcffec970976e7d5c989064c2129ab03e606b3f96e588bcc1ffc",
"x86_64-unknown-linux-musl-0.11.4":
"116444192ecb0378e06a3665069b344e80acacb4e7071cd25e4026b70eaf3080",
"aarch64-apple-darwin-0.11.3":
"7c265ea9176ffa8310adc8e8b8e3274e77dc663f0404fd6f92fd417e159f413c",
"aarch64-pc-windows-msvc-0.11.3":
"281f3e2ce6d17409e54f5a6a883e1aa8bdfa70d86baca74efb17b617094926cf",
"aarch64-unknown-linux-gnu-0.11.3":
"a1696128279f927f67a051949edeba9359ef20366b4349c1cc1b8e690b59743c",
"aarch64-unknown-linux-musl-0.11.3":
"b98da720f726d5e42a89bafe3b7e40dce74f0493d92e675cc4254349a25a2f6a",
"arm-unknown-linux-musleabihf-0.11.3":
"35315a8a41dec64ca36a5b030ac41dbf4505de4eb4aab7e41bd07e520746e7fd",
"armv7-unknown-linux-gnueabihf-0.11.3":
"9eb3fdfd64649c20a6f2765e34585fc3a7ff5a3beb64fcafe2f8f9b2fb8df680",
"armv7-unknown-linux-musleabihf-0.11.3":
"d7d5b51c748421420903805c851d47817749d1f6c99d1ef98ec9a4e990df57a1",
"i686-pc-windows-msvc-0.11.3":
"e4a3ad502c4ebcb50e54acc2643aecb2c3adc16ed00d2bdac8ab08898f508431",
"i686-unknown-linux-gnu-0.11.3":
"4dac993bf409508831a0060ae46993615dac5da670ef2958a6202d9a878e36be",
"i686-unknown-linux-musl-0.11.3":
"c3d654428a9aece53d684ec94bb5b93ac530b801167e193de4973a93b1f5cef0",
"powerpc64-unknown-linux-gnu-0.11.3":
"32f9fb6f641d8dc68c429bd82bd551184fe8d60b8b1278fbedb9cf08bf3c5a14",
"powerpc64le-unknown-linux-gnu-0.11.3":
"1f10bb8de6808f07e95ab75736401189980d3737b969c99eb390586e16a818be",
"s390x-unknown-linux-gnu-0.11.3":
"0c92a5798cb2e1955500f159535258983358546cb07c292b2f3398c0a8e935aa",
"x86_64-apple-darwin-0.11.3":
"b209590d1f856c9db5817ad8f5143b1a772c16e1429aa19cce2e299507e1898b",
"x86_64-pc-windows-msvc-0.11.3":
"d5649ba04579aa66aa876862fa58d28ebe327513e7b4d89f087f04992ec69f4c",
"x86_64-unknown-linux-gnu-0.11.3":
"62568251d4dba83d5430ff0a9abf165bc8b7fb0372650fa7d5565634f6b4248e",
"x86_64-unknown-linux-musl-0.11.3":
"a2e4cfab3eb83f0cf6717e88da734a4c783c0545f1be402026d1376e5de3323c",
"aarch64-apple-darwin-0.11.2":
"9961fffc17d3a8f6ce8bb92f0b2a90fda80f0ea2d0c1346d6117bb4e18f34913",
"aarch64-pc-windows-msvc-0.11.2":
"a41f4e8822701ef3391831365de8adf3b1cc976726a93a54216de00cc34dea93",
"aarch64-unknown-linux-gnu-0.11.2":
"7f35af7323a7ceeec1d83e64ae669f87d38162a8267af88fff9a3f9b2c89a2f2",
"aarch64-unknown-linux-musl-0.11.2":
"51dc675fa09661f49cf8accbb0e1c115a5e3e00454c4619a63ba10e7f90a5852",
"arm-unknown-linux-musleabihf-0.11.2":
"5e6d9531cbb4387d8d7c652bba4d8161f305b98459496b650149872dac0ca1df",
"armv7-unknown-linux-gnueabihf-0.11.2":
"afcbb4e46d6ed3d5970a36863c3c6233e58c20bb7c762c78c68cf1d3d4a38f93",
"armv7-unknown-linux-musleabihf-0.11.2":
"5b7fa555836ca342950ecf9a6ef5ffdcb917f2b89d663580b327f0f0b0f5ac0c",
"i686-pc-windows-msvc-0.11.2":
"17d350f5a0a517ef535bfba1420b68189c0a445a3a0e19bb06cf9c3aeb8a03c6",
"i686-unknown-linux-gnu-0.11.2":
"8b27e39d4585964477f46abb6fbaa1804b6c35dfc86111d2d64e98632e49f0bf",
"i686-unknown-linux-musl-0.11.2":
"68129ce67cf5a606035ebefcb7f5ddd9235c57e54aed079b0df932a4c2a319ed",
"powerpc64-unknown-linux-gnu-0.11.2":
"67b89d962667af4700392d21fd78d7ace6c32f04085f3a5272ffa54f39a38b59",
"powerpc64le-unknown-linux-gnu-0.11.2":
"b384803d8b25c1980dd54987e2adad895953d97a950115738d4faf8c0f115f05",
"s390x-unknown-linux-gnu-0.11.2":
"a630420ecebc3a1a94ceb7131703342d4f4a70a29f5d7e69c96d21d98556bf23",
"x86_64-apple-darwin-0.11.2":
"acfc4c703112ff58319ad4b30382b88531414473daad4776066ed22fb86351e1",
"x86_64-pc-windows-msvc-0.11.2":
"88feff8d7b746b9226e4370e6563d12bf40e58e3233c18cd0c41f26c415e963b",
"x86_64-unknown-linux-gnu-0.11.2":
"cc5ebc29bc0493a2f42654f757573d062d0984ce91bd796a41109ab643ef4e3f",
"x86_64-unknown-linux-musl-0.11.2":
"b09844718d52aa72e914bc0eb806d2ea01ceea006378bc515170e4eae8632ed8",
"aarch64-apple-darwin-0.11.1":
"d41de7663c80b83ec3987a89d30f9bc64d49487bcf45078483944a80581e1a61",
"aarch64-pc-windows-msvc-0.11.1":
"ee7211b59f05be0e5c5fd24d5dc05591644fac4c15f4f013e5975511b27b9402",
"aarch64-unknown-linux-gnu-0.11.1":
"15b1fa9f855c62951d93d429af1a33f082e3a7192e4a1f1e7108d9b574921796",
"aarch64-unknown-linux-musl-0.11.1":
"c20e9c96e49d7e85c9bc32ad2a139016a39bb63df6db214de539125bda1f3d5d",
"arm-unknown-linux-musleabihf-0.11.1":
"b3281686a846322df070772efc6fc359480ae04bac0ca61a3cfb14f0c6b53c24",
"armv7-unknown-linux-gnueabihf-0.11.1":
"820eedda2fbe8cf66e8fd3abbaf2519b338ad5712c53ae493cb75f12dfad4651",
"armv7-unknown-linux-musleabihf-0.11.1":
"0ae6426c7cdc8649464350f64c4f07065199b38477257326bf5547a409c3d224",
"i686-pc-windows-msvc-0.11.1":
"0a3931aee2ce36a9604109b9edb0e02e2a07401957fa2da125f4fa2199a836de",
"i686-unknown-linux-gnu-0.11.1":
"15bef7202e0f82b8cb6dd9eaa3101e090ee1067d379c249d447337eb016bba2d",
"i686-unknown-linux-musl-0.11.1":
"f7c69e12e319b6b9a89ce4533d3a0aa35b6006d40eba1cfd79dc19cf44002373",
"powerpc64-unknown-linux-gnu-0.11.1":
"8bfa85a3f3b0e127c8141e7cddd7f6b0cf5fa2935afb34236ee8c2e2b7d5201d",
"powerpc64le-unknown-linux-gnu-0.11.1":
"0a4b4724d97e820d74a036e984b92a4027e506723d4ac6adacd3d6bcbc97d586",
"s390x-unknown-linux-gnu-0.11.1":
"a31163314be04affd81186d052087333f71744c38d7142e7169c2cf92f2c3ebb",
"x86_64-apple-darwin-0.11.1":
"db8cb26297357754b034c043b600f648162ca3b4c3d6b80aab36fac9b30be21e",
"x86_64-pc-windows-msvc-0.11.1":
"ea0371400228fcccd81c4d6884caa4c80d694cf73a20b6e9a685b0fac76c2455",
"x86_64-unknown-linux-gnu-0.11.1":
"2eb2238227e232a7b6e2da71586e8d7999782a0b2d9ddab7d3a6354a13d2589c",
"x86_64-unknown-linux-musl-0.11.1":
"a57ab099cdada4265eb7558f63c724799121daf542e1103ab95f1be86f5d70a5",
"aarch64-apple-darwin-0.11.0":
"09ea313f2aab3844432b46c6c5e3e066b26ae4953f4bac1e545176e5dea22306",
"aarch64-pc-windows-msvc-0.11.0":
"49c1a9f99aa0e606d66960be12bb21e40da190e4798a18df0bf361c99dc644ad",
"aarch64-unknown-linux-gnu-0.11.0":
"e4e69fe47ad319aeef0983e26e927907d7521214a7d72c79cf2e2b15316ecfa5",
"aarch64-unknown-linux-musl-0.11.0":
"60904d6d51b1a8dd49ab948dd1de33ce439ca872c82faa5dab90fce838539317",
"arm-unknown-linux-musleabihf-0.11.0":
"0320e9cf0684cb7bc4ba38030fc4dc55d2bc6f373c182b13b5874cf43130e749",
"armv7-unknown-linux-gnueabihf-0.11.0":
"c04a60e29efcaa554e7c56bdf4eb8ca472fa77fde3b59e100c25b903a518f32b",
"armv7-unknown-linux-musleabihf-0.11.0":
"85f4aaf213fd8ffdf259eb1e43a775d093c8ac106188cc6baae036317f4510ac",
"i686-pc-windows-msvc-0.11.0":
"92c1b065f33dcd88efa08fb374a81d9687430faee11c18f7d3dea12ad88ee163",
"i686-unknown-linux-gnu-0.11.0":
"f61a226452f6b6b68faafacf0ded2ff9d53a7c6a48dcb7b87b4012dca46303ad",
"i686-unknown-linux-musl-0.11.0":
"3046960555a10daf0d86fe976283391c97200669b5c840e387a607a378f1ca6c",
"powerpc64-unknown-linux-gnu-0.11.0":
"c8aff47b5b2492a889d9c5f04b3d16d4b5787d11d728dd4f390bc76debcf35db",
"powerpc64le-unknown-linux-gnu-0.11.0":
"4dd6f67ef8c993c3467a7fa1253159a98e26c28321ec5fcaaa46bbd8baf2b40e",
"s390x-unknown-linux-gnu-0.11.0":
"411dfebaf45c3f119c11f2d1ecbec7874062b75baff0ec9ea3a20dcd02477a8c",
"x86_64-apple-darwin-0.11.0":
"a208dee9c1a7a063dace746836fd2d7e5f7694d2142700d3964fccf141ada555",
"x86_64-pc-windows-msvc-0.11.0":
"92e87a04f5750312a5454610633f6af91485578cc1dd944b4692d2fb5f6188dc",
"x86_64-unknown-linux-gnu-0.11.0":
"ad61c55a3b361e4f451e90247d6ca6018c2563f41c5142c1f8388138bdac96b3",
"x86_64-unknown-linux-musl-0.11.0":
"3148cd8131ec4f525551b16a57186f5533c705950269cbee7674d484ca6eefe5",
"aarch64-apple-darwin-0.10.0":
"1da279b8302cd86f50d38fc8ad62cd12f4d07c0c402c13a3bac7dc244c7db138",
"aarch64-pc-windows-msvc-0.10.0":
"e40d9d7efe47fcd1a5ffc2314ea45076d71cf83638550c5b95f9ecfff3cbac2b",
"aarch64-unknown-linux-gnu-0.10.0":
"c5fefbb03f7e885063f311d532494b0702dd72689c62ef62cc0c803a27acd50a",
"aarch64-unknown-linux-musl-0.10.0":
"7b9fe2e2cecde897fb35a1a0bb1ccd10dde3395acd81aea7e5e6b0b24824e7c7",
"arm-unknown-linux-musleabihf-0.10.0":
"194358d10125ab02e1bbe163664f3d45133f1cd2c0d536c7f4f89c54cb13c525",
"armv7-unknown-linux-gnueabihf-0.10.0":
"d4a12c8710386d2dbe1b0c77651b49eb26650712462cbef24c6b56752271b5a4",
"armv7-unknown-linux-musleabihf-0.10.0":
"333d6b0e1ff9d2114a1acc8d28fabc911e0c911d055a36b6d072428cac003a0c",
"i686-pc-windows-msvc-0.10.0":
"81477cb2152d195cfa7181773d8a7c32fd9bd2f9292e8e8ce7848fdd2d7bebb8",
"i686-unknown-linux-gnu-0.10.0":
"ba25c96731474aee9533b706ca89467f79469c0cb4599a799bb0122373c984cb",
"i686-unknown-linux-musl-0.10.0":
"f0ae870fc0aa8f77da3fc5d39489c46a7f1fb0c504bbd700729ce54bb0804e4e",
"powerpc64-unknown-linux-gnu-0.10.0":
"41db344c0740af4cd38fa3c332abe0aebe2d98c8e1d18a5fe4f9316cae39f61a",
"powerpc64le-unknown-linux-gnu-0.10.0":
"6d15f4fded4493744def7b44f0ebfb49567830a77d7f49b21f9710f2d34f461f",
"s390x-unknown-linux-gnu-0.10.0":
"6b28f1d1e6608205fe5f8b403fe5e3a4276dc0d3030215a7d6107495977f1b53",
"x86_64-apple-darwin-0.10.0":
"2388af7881c7e50026388e953fa6eab7c1ae94c868926a6185c3cb38f9f15aa2",
"x86_64-pc-windows-msvc-0.10.0":
"f97160653dc9f9dde5cdbe8b24a53cb93a43e54ee30da6b995cf667c2e599ff2",
"x86_64-unknown-linux-gnu-0.10.0":
"fd14f35039302d96e7cb810350627239f122c2f4334580a28a9f5f9486b2c7c4",
"x86_64-unknown-linux-musl-0.10.0":
"5e949f667a1dd76ab4382ba713fed3390ddc6088147ba0eb70fd8aa2ec564751",
"aarch64-apple-darwin-0.9.10":
"1fccbd53431eaa596f2322494edbdc444f99db651566188fa0a9820c26bbef77",
"aarch64-pc-windows-msvc-0.9.10":
"3e89dd753090ae81947e8e2ddb88cf0475c931041d92afb95654ade5af54d7f7",
"aarch64-unknown-linux-gnu-0.9.10":
"95932bcc42d2692e9bb14055fdd76a7ca6d3750d447ef1b1ef0db074024f92b7",
"aarch64-unknown-linux-musl-0.9.10":
"c131df77457ed45aa44b617194563ceea2e29e595c42d06804e04155529423b4",
"arm-unknown-linux-musleabihf-0.9.10":
"bcb333ff3aa7600bbeee4231e75936d3eca60fb5c4c097c017b3b83756a9d2af",
"armv7-unknown-linux-gnueabihf-0.9.10":
"3daf5c538959917b5fbb83bd06f56b61c3495d92c8fe8dd973779cf6500c922c",
"armv7-unknown-linux-musleabihf-0.9.10":
"0768244bb055459e392c62a98ab0af3cec47dd126e6c504aa322ac6c5cb0f891",
"i686-pc-windows-msvc-0.9.10":
"a4ebfb2e8521e01dcd4ac4ca554b29e24157eb042c2a93662c7107bbb92d90ed",
"i686-unknown-linux-gnu-0.9.10":
"a931b4eda4499872d3f7b4b7d4f92e687bf5526f0e14164c9ebea046c4c44ef0",
"i686-unknown-linux-musl-0.9.10":
"86b53473143154ff56f186c5ff59cdda85f4947f90156bcbc7c0a2bcc322ca09",
"powerpc64-unknown-linux-gnu-0.9.10":
"08402302e254aece133dc7205fb225a11a8fba62dcfc5d84a9a54dda8036951c",
"powerpc64le-unknown-linux-gnu-0.9.10":
"db6b48fa692d54da27c8434079ce87e0dc794be34516c1fe8ada835c62a00b7e",
"s390x-unknown-linux-gnu-0.9.10":
"00a0b73e3a26355e8d9ac575cb39c7cc64993f020cdceadce03b5814f1edf3b6",
"x86_64-apple-darwin-0.9.10":
"1e5080489fdf483e7111bb1575f045ec13da2fdbfc6ac5fd58b5d55cf9cd7668",
"x86_64-pc-windows-msvc-0.9.10":
"f1e75b080ea1c83737d0ada30a1338ba87d7792ce1dadd67daade720b539f8f7",
"x86_64-unknown-linux-gnu-0.9.10":
"1612de28c132b9605da220014177c5c9963f3ed3db203951f22968306f183f97",
"x86_64-unknown-linux-musl-0.9.10":
"15e93ee078beb5ec24d1afb02a1cce2a873ac627d378c987adda4f6ab3b5f886",
"aarch64-apple-darwin-0.9.9":
"b4fc98b638b903e7d5aa6ac245c955077e672b6b2072b9a5249c15ff0a9052de",
"aarch64-pc-windows-msvc-0.9.9":
"48ef6bde8d31c3e959e2ced28d033c948dfdf7bc06578865d404987be88c89af",
"aarch64-unknown-linux-gnu-0.9.9":
"34b4ea311560d5e7f80597eaf3dede9ded194dffe131d7fee8841904792a644c",
"aarch64-unknown-linux-musl-0.9.9":
"df49a2ab1b62b6992aaeebdf590751f9c6536eefa3d149a1e6dd454b7d3b5681",
"arm-unknown-linux-musleabihf-0.9.9":
"c081bbd7268f65e77e91596556ac4c81506dd8fe09c50a6791fdce1be8ae4e5d",
"armv7-unknown-linux-gnueabihf-0.9.9":
"11c98f90103a409b55afac3534a0396e38a055bfa09e45b774a298a6107899f1",
"armv7-unknown-linux-musleabihf-0.9.9":
"1340a24f74782c95cc78b66434ead244a38e60d2a4f07b0954b5029272566794",
"i686-pc-windows-msvc-0.9.9":
"4c0355a6c9ec92d89c8802aabd84a7e0fcf27794befc51a1c7a58bec2b70e5fd",
"i686-unknown-linux-gnu-0.9.9":
"d9648994937c8e24376b1e300b56edd2b45266bab42ec400cf7090bfbefe0927",
"i686-unknown-linux-musl-0.9.9":
"8e11ac8533c438003be1df417397e3467cc51675f579d7b906b46339ab43530f",
"powerpc64-unknown-linux-gnu-0.9.9":
"5e6a6039646e2bdc32b254a0feb6842bfa9c0a9c9d3301de6996720278e9550f",
"powerpc64le-unknown-linux-gnu-0.9.9":
"38b40dd824bc32c97ad250a2108debfd0aa0cf30ad011702b8fb96da476b7d7a",
"s390x-unknown-linux-gnu-0.9.9":
"3d06a0c49b4c287769538033fc2be0b0b7eeb74d5b36344c272fb31d37718271",
"x86_64-apple-darwin-0.9.9":
"518e891bc5f4af795fe9a49f00bc9db9b8258e0d73d452eee8ada15471a2ce95",
"x86_64-pc-windows-msvc-0.9.9":
"13ccd981a38af7011844f8125210007aef026ad59348db9944a083d6081e660d",
"x86_64-unknown-linux-gnu-0.9.9":
"49592925719ee59a7e6675a95dc20e76c0b921b498500a54b1cce3c314fdf794",
"x86_64-unknown-linux-musl-0.9.9":
"a29c014960f68045fd5e52df20889be801ad92eda0961c4aede191a6d01dbee9",
"aarch64-apple-darwin-0.9.8":
"5ea25e5c3b6c825a9b860fe0162ef8dd248c31bf00d63a107a38ef7318988c80",
"aarch64-pc-windows-msvc-0.9.8":
"6b14e0a3a3d5e783ddc1e3dbecbb3552c0b302a096af88e7b57323bb6d88975e",
"aarch64-unknown-linux-gnu-0.9.8":
"82dd223919efd3f0a46b1eb5b7bba17bbf86b408c8fca203f49eb920888dcada",
"aarch64-unknown-linux-musl-0.9.8":
"6a86bdbbfd9c43cde7a15f0a1ef5ad8ec3b21e319ae178caa3b384bada3a20fb",
"arm-unknown-linux-musleabihf-0.9.8":
"2e7bcd94f0aaccd418d5d8425fbfef37270aa6605d2072350570eb9e7082e804",
"armv7-unknown-linux-gnueabihf-0.9.8":
"3036c3b6ce3b1ccfc5aaa98a55649a4c4347fde171b519ad8f41ba5944bbf789",
"armv7-unknown-linux-musleabihf-0.9.8":
"7cccfd2855f07e7038880b68a35efcf3c2c35f7bce6b097e340399510d89877e",
"i686-pc-windows-msvc-0.9.8":
"3f5ab787bb2e39ce582675af5ab600f4e08a4f65c44e34e7b840cf6a231bd43a",
"i686-unknown-linux-gnu-0.9.8":
"461ed20d81247e59cec7b132180355a4ed238bb096f3e743b101e0e9cd982715",
"i686-unknown-linux-musl-0.9.8":
"5fc3e649929fccf8be516a347b6ea67e2102760c36d95562c8839025087bc08d",
"powerpc64-unknown-linux-gnu-0.9.8":
"d584cbb844cca74754382fa4330ff66a2e26ae072b2fa84c965526120bed8469",
"powerpc64le-unknown-linux-gnu-0.9.8":
"67812e8647ff88304a92f724fe84a39c78da77f596e870bbcddc63c470a05f46",
"s390x-unknown-linux-gnu-0.9.8":
"b91f9111104a5fafaec6581cdbbb658bc8c7411c45945887e66c6b658a419f3f",
"x86_64-apple-darwin-0.9.8":
"88fc6143eaa9a6ab247163ad9cba167a8384d80d2260b2a9dee1fd3c87ca7d52",
"x86_64-pc-windows-msvc-0.9.8":
"7144401f70fe7410a771537cf2bc6e50a82cf95a2f51c611397ed4eccb777409",
"x86_64-unknown-linux-gnu-0.9.8":
"905172846650475d4e163b6eb34dac4660e4f10d7ed886846390865e49e7e6c0",
"x86_64-unknown-linux-musl-0.9.8":
"dc24ad1fd3af5c3ee9101d3bc5f04b648f3037dd206ffee7088f52ca5fa4c10e",
"aarch64-apple-darwin-0.9.7":
"f14437e71399e14302bdf5ce910e3df9abc9a223fe0ff5d6b02eb083c39fa30b",
"aarch64-pc-windows-msvc-0.9.7":
"724a1d87421e125759e9b7dbab16a4d1034892ce4180aaaf61e3ebbe7e67afa2",
"aarch64-unknown-linux-gnu-0.9.7":
"95d2a031a3de3ea5ce99febcbb6891781ebb430213115c1f729578db83109416",
"aarch64-unknown-linux-musl-0.9.7":
"b94ad94bc0cf14a12a725fcf2383ed047b537068f4b33bf0815e8baf35e6ec5c",
"arm-unknown-linux-musleabihf-0.9.7":
"ded01d55a349302b0b47deceb144886b7a3767f71d717fc78bb94f1aed1f4e24",
"armv7-unknown-linux-gnueabihf-0.9.7":
"6cc563095f798a67bfe55a7ce1e652b238a5c09aaa543427ce7562cbbe482dea",
"armv7-unknown-linux-musleabihf-0.9.7":
"688a0baae40a5da8489a7c581b7118ff79dc33e862aac3f032e400e8515e6d45",
"i686-pc-windows-msvc-0.9.7":
"72e941fd8177a8cf9f4b9a56e8c8a8262440b98b69b415062c06709cdb4d9361",
"i686-unknown-linux-gnu-0.9.7":
"4c0141f1b7c5e68b1f195097ed7993b12c2d593fcbf650196e0e50f8de8fe282",
"i686-unknown-linux-musl-0.9.7":
"407310c90618470d5f76b1761040d1a0bc0c3b4d65d8999fcad89ad7e622e0be",
"powerpc64-unknown-linux-gnu-0.9.7":
"f304a482ef6cb78909d38dc4fde20027ac4a9cbdbe37b007bd48d2f95b11059d",
"powerpc64le-unknown-linux-gnu-0.9.7":
"8d9a4807f84f0b5520d8c1606d0b2bb8eb85adb496329d2f88699e41b0f098b6",
"s390x-unknown-linux-gnu-0.9.7":
"153ac343084d6b5f6605b49c1800aabee9dea02f5c6f9110967e8dcc05b6a36c",
"x86_64-apple-darwin-0.9.7":
"2a0fd12cd66d20a882ca970159ef361d5f397b938a5ab9d7619dec0f15152f53",
"x86_64-pc-windows-msvc-0.9.7":
"236c69ed510a3302f40b5e0ec1cde0cc7535146cd37658e6d3168c85e94e308a",
"x86_64-unknown-linux-gnu-0.9.7":
"902f9ed51f13ed04eb3dc855af99d70e682846c538521a1b2c1b04c170bb5a7d",
"x86_64-unknown-linux-musl-0.9.7":
"f0b7c7a5ae446730ac111904a504cb96789cc1c82b9966b55bedd88a6d3ec077",
"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",
"aarch64-unknown-linux-musl-0.9.3":
"77b92ae0497342b6056cfbdb93f4e522b26f28b13fd828e24c7e146eb5b92ee1",
"arm-unknown-linux-musleabihf-0.9.3":
"cdbd37452826930a73c2e453fc7ead25b3180871f9d52c718bc8a4e7ea7bcdb1",
"armv7-unknown-linux-gnueabihf-0.9.3":
"0b3c8beb58b72f06bdc9b87ecc746b44b25e548575a2ddd1b7eb8f35d91eff98",
"armv7-unknown-linux-musleabihf-0.9.3":
"9fcc1eb4da75d0f64f094c3413980118ffe56c97803566634f5ddfd266f7f45c",
"i686-pc-windows-msvc-0.9.3":
"a7a8078d1f1f80d803e009dfa295ecd7445b630aa9fbcbb14fbddffd9cdeadd2",
"i686-unknown-linux-gnu-0.9.3":
"d686e9938a4af8a58b0003ae076e9de3677042af0d7e22e80fa90777a60b4b98",
"i686-unknown-linux-musl-0.9.3":
"87e773939129fde85569e08e92980115548fd74069d31b5bfea97e6e2cb7ec4b",
"powerpc64-unknown-linux-gnu-0.9.3":
"e599a22959b1aa39b2ac33b38fdd81753c0342ea4c3ffbcc0631a9d2778823cb",
"powerpc64le-unknown-linux-gnu-0.9.3":
"d030c0402e6c63ad0777000692b035d96070b628c31ac662f44c1cedda4ed1ab",
"s390x-unknown-linux-gnu-0.9.3":
"2364f7e39d81401198798b430184ac71ba09982017939db6228927be17955572",
"x86_64-apple-darwin-0.9.3":
"48e29e36e0197a81d74aeb7fa8d0b0f789378879e8ba3cf4ce855610b0f0f05a",
"x86_64-pc-windows-msvc-0.9.3":
"60e67f1b9373d5da71af5f9863acf28429367b296665935f2c2b9f8a2b260a92",
"x86_64-unknown-linux-gnu-0.9.3":
"2d6101d78d3321ec2d7891a846caa809fc124b3b791a69160f28d6ba730a36bf",
"x86_64-unknown-linux-musl-0.9.3":
"9928cbbd34e644611479a47a905c35b7132f457669223528a077d277279fe22d",
"aarch64-apple-darwin-0.9.2":
"1ff7226ebc7bf2ead7426c14aad72c13090836d4938ad28c9fc3472dc930a887",
"aarch64-pc-windows-msvc-0.9.2":
"5bed70eea1b95e0aaea3839e7c95cc90037e9e42aa3af7db04536c1ac972b08f",
"aarch64-unknown-linux-gnu-0.9.2":
"ce155623f59209e04ee5874631421684a22673894af2f4138848fa3fc1da85f2",
"aarch64-unknown-linux-musl-0.9.2":
"462b632287b54003a426e19220f53afe9595eabae935949adb9574fe53363b41",
"arm-unknown-linux-musleabihf-0.9.2":
"80c5819587e21d6e4643bf109b1c12b97a6a9d54a86401c49358ef953e97fddb",
"armv7-unknown-linux-gnueabihf-0.9.2":
"733284809b6d135218303aab792c73a8b5628e337b78fb469a105eea9de115db",
"armv7-unknown-linux-musleabihf-0.9.2":
"18374ba7e07ee9df004e9ec5ae459600d8a736b46353bc815b2eeab4425352f5",
"i686-pc-windows-msvc-0.9.2":
"f310eee069cc922b0f18b00cac907114535d72c759ee0dbd221682e11769978c",
"i686-unknown-linux-gnu-0.9.2":
"e594560132cbc5d450a6749c5fb97116833796f84f85ff6e3d672440763e3a6b",
"i686-unknown-linux-musl-0.9.2":
"c8930bd3e414b388a92b6a9d66806bd745c99804c0c099bb257e441f1fc7d208",
"powerpc64-unknown-linux-gnu-0.9.2":
"2ad778fd6b8d3eccecae77538562ed524d4c1591f1730c89e019a08d799869c2",
"powerpc64le-unknown-linux-gnu-0.9.2":
"5bbcbd265390f556c10916fa02761d4fe1bba1b49ec5dbc7eaaca3d3fa7c935c",
"s390x-unknown-linux-gnu-0.9.2":
"761dcd1a3c09d6d8589a30b5457fab8ea9d06fad27add82efd7b34d3feffc280",
"x86_64-apple-darwin-0.9.2":
"01cbdfddf2eac74087f7fa717911418d27f65d98bb8b6ba2c36ce26e98417306",
"x86_64-pc-windows-msvc-0.9.2":
"77d4124dc2ab70a9e1e30114c2028f04618dc78be948b4f6e00a1256c4f349ac",
"x86_64-unknown-linux-gnu-0.9.2":
"ac3758b8b8970af4cbb311ce5095d0b5e42df688d45a1a703639b8fc9dac48fe",
"x86_64-unknown-linux-musl-0.9.2":
"bbe622067d5b915cc476b693520caaff55f6ba9c8ca700e1f03bfd5b43647d31",
"aarch64-apple-darwin-0.9.1": "aarch64-apple-darwin-0.9.1":
"fedcadac96deda2ed1a1ebe10985c9489e97768164e15a2f473830d97c760745", "fedcadac96deda2ed1a1ebe10985c9489e97768164e15a2f473830d97c760745",
"aarch64-pc-windows-msvc-0.9.1": "aarch64-pc-windows-msvc-0.9.1":
+20 -129
View File
@@ -2,16 +2,10 @@ import * as core from "@actions/core";
import * as tc from "@actions/tool-cache"; import * as tc from "@actions/tool-cache";
import * as path from "node:path"; import * as path from "node:path";
import { promises as fs } from "node:fs"; import { promises as fs } from "node:fs";
import * as semver from "semver";
import * as pep440 from "@renovatebot/pep440";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants"; import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms"; import type { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum"; import { validateChecksum } from "./checksum/checksum";
import { Octokit } from "@octokit/core"; import * as github from "@actions/github";
import { paginateRest } from "@octokit/plugin-paginate-rest";
import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods);
export function tryGetFromToolCache( export function tryGetFromToolCache(
arch: Architecture, arch: Architecture,
@@ -40,59 +34,16 @@ export async function downloadVersion(
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
extension = ".zip"; extension = ".zip";
} }
const downloadUrl = constructDownloadUrl(version, platform, arch); const downloadUrl = `https://github.com/${OWNER}/${REPO}/releases/download/${version}/${artifact}${extension}`;
core.debug(`Downloading ruff from "${downloadUrl}" ...`); core.info(`Downloading ruff from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool( const downloadPath = await tc.downloadTool(
downloadUrl, downloadUrl,
undefined, undefined,
githubToken, githubToken,
); );
core.debug(`Downloaded ruff to "${downloadPath}"`);
await validateChecksum(checkSum, downloadPath, arch, platform, version); await validateChecksum(checkSum, downloadPath, arch, platform, version);
const extractedDir = await extractDownloadedArtifact(
version,
downloadPath,
extension,
platform,
artifact,
);
const cachedToolDir = await tc.cacheDir(
extractedDir,
TOOL_CACHE_NAME,
version,
arch,
);
return { version: version, cachedToolDir };
}
function constructDownloadUrl(
version: string,
platform: Platform,
arch: Architecture,
): string {
const artifactVersionSuffix =
semver.lte(version, "v0.4.10") && semver.gte(version, "v0.1.8")
? `-${version}`
: "";
const artifact = `ruff${artifactVersionSuffix}-${arch}-${platform}`;
let extension = ".tar.gz";
if (platform === "pc-windows-msvc") {
extension = ".zip";
}
const versionPrefix = semver.lte(version, "v0.4.10") ? "v" : "";
return `https://github.com/${OWNER}/${REPO}/releases/download/${versionPrefix}${version}/${artifact}${extension}`;
}
async function extractDownloadedArtifact(
version: string,
downloadPath: string,
extension: string,
platform: Platform,
artifact: string,
): Promise<string> {
let ruffDir: string; let ruffDir: string;
if (platform === "pc-windows-msvc") { if (platform === "pc-windows-msvc") {
const fullPathWithExtension = `${downloadPath}${extension}`; const fullPathWithExtension = `${downloadPath}${extension}`;
@@ -100,22 +51,22 @@ async function extractDownloadedArtifact(
ruffDir = await tc.extractZip(fullPathWithExtension); ruffDir = await tc.extractZip(fullPathWithExtension);
// On windows extracting the zip does not create an intermediate directory // On windows extracting the zip does not create an intermediate directory
} else { } else {
ruffDir = await tc.extractTar(downloadPath); const extractedDir = await tc.extractTar(downloadPath);
if (semver.gte(version, "v0.5.0")) { ruffDir = path.join(extractedDir, artifact);
// Since v0.5.0 an intermediate directory is created
ruffDir = path.join(ruffDir, artifact);
} }
} const cachedToolDir = await tc.cacheDir(
const files = await fs.readdir(ruffDir); ruffDir,
core.debug(`Contents of ${ruffDir}: ${files.join(", ")}`); TOOL_CACHE_NAME,
return ruffDir; version,
arch,
);
return { version: version, cachedToolDir };
} }
export async function resolveVersion( 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)
@@ -125,35 +76,16 @@ export async function resolveVersion(
return version; return version;
} }
const availableVersions = await getAvailableVersions(githubToken); const availableVersions = await getAvailableVersions(githubToken);
const resolvedVersion = maxSatisfying(availableVersions, version); const resolvedVersion = tc.evaluateVersions(availableVersions, version);
if (resolvedVersion === undefined) { 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: string): Promise<string[]> { async function getAvailableVersions(githubToken: string): Promise<string[]> {
try { const octokit = github.getOctokit(githubToken);
const octokit = new PaginatingOctokit({
auth: githubToken,
});
return await getReleaseTagNames(octokit);
} catch (err) {
if ((err as Error).message.includes("Bad credentials")) {
core.info(
"No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.",
);
const octokit = new PaginatingOctokit();
return await getReleaseTagNames(octokit);
}
throw err;
}
}
async function getReleaseTagNames(
octokit: InstanceType<typeof PaginatingOctokit>,
): Promise<string[]> {
const response = await octokit.paginate(octokit.rest.repos.listReleases, { const response = await octokit.paginate(octokit.rest.repos.listReleases, {
owner: OWNER, owner: OWNER,
repo: REPO, repo: REPO,
@@ -162,56 +94,15 @@ async function getReleaseTagNames(
} }
async function getLatestVersion(githubToken: string) { async function getLatestVersion(githubToken: string) {
const octokit = new PaginatingOctokit({ const octokit = github.getOctokit(githubToken);
auth: githubToken,
});
let latestRelease: { tag_name: string } | undefined; const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({
try { owner: OWNER,
latestRelease = await getLatestRelease(octokit); repo: REPO,
} catch (err) { });
if ((err as Error).message.includes("Bad credentials")) {
core.info(
"No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.",
);
const octokit = new PaginatingOctokit();
latestRelease = await getLatestRelease(octokit);
} else {
throw err;
}
}
if (!latestRelease) { if (!latestRelease) {
throw new Error("Could not determine latest release."); throw new Error("Could not determine latest release.");
} }
return latestRelease.tag_name; return latestRelease.tag_name;
} }
async function getLatestRelease(
octokit: InstanceType<typeof PaginatingOctokit>,
) {
const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({
owner: OWNER,
repo: REPO,
});
return latestRelease;
}
function maxSatisfying(
versions: string[],
version: string,
): string | undefined {
const maxSemver = tc.evaluateVersions(versions, version);
if (maxSemver !== "") {
core.debug(`Found a version that satisfies the semver range: ${maxSemver}`);
return maxSemver;
}
const maxPep440 = pep440.maxSatisfying(versions, version);
if (maxPep440 !== null) {
core.debug(
`Found a version that satisfies the pep440 specifier: ${maxPep440}`,
);
return maxPep440;
}
return undefined;
}
+5 -19
View File
@@ -21,9 +21,8 @@ import {
version, version,
versionFile as versionFileInput, versionFile as versionFileInput,
} from "./utils/inputs"; } from "./utils/inputs";
import { getRuffVersionFromRequirementsFile } from "./utils/pyproject"; import { getRuffVersionFromPyproject } from "./utils/pyproject";
import * as fs from "node:fs"; import * as fs from "node:fs";
import * as semver from "semver";
async function run(): Promise<void> { async function run(): Promise<void> {
const platform = getPlatform(); const platform = getPlatform();
@@ -63,11 +62,6 @@ async function setupRuff(
githubToken: string, githubToken: string,
): Promise<{ ruffDir: string; version: string }> { ): Promise<{ ruffDir: string; version: string }> {
const resolvedVersion = await determineVersion(); const resolvedVersion = await determineVersion();
if (semver.lt(resolvedVersion, "v0.0.247")) {
throw Error(
"This action does not support ruff versions older than 0.0.247",
);
}
const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion); const toolCacheResult = tryGetFromToolCache(arch, resolvedVersion);
if (toolCacheResult.installedPath) { if (toolCacheResult.installedPath) {
core.info(`Found ruffDir in tool-cache for ${toolCacheResult.version}`); core.info(`Found ruffDir in tool-cache for ${toolCacheResult.version}`);
@@ -99,27 +93,19 @@ async function determineVersion(): Promise<string> {
return await resolveVersion(version, githubToken); return await resolveVersion(version, githubToken);
} }
if (versionFileInput !== "") { if (versionFileInput !== "") {
const versionFromPyproject = const versionFromPyproject = getRuffVersionFromPyproject(versionFileInput);
getRuffVersionFromRequirementsFile(versionFileInput);
if (versionFromPyproject === undefined) { if (versionFromPyproject === undefined) {
core.warning( core.warning(
`Could not parse version from ${versionFileInput}. Using latest version.`, "Could not parse version from supplied pyproject.toml. 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 = const versionFromPyproject = getRuffVersionFromPyproject(pyProjectPath);
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);
} }
+2 -6
View File
@@ -1,20 +1,16 @@
import { Octokit } from "@octokit/core"; import * as github from "@actions/github";
import * as core from "@actions/core"; import * as core from "@actions/core";
import { paginateRest } from "@octokit/plugin-paginate-rest";
import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
import { OWNER, REPO } from "./utils/constants"; import { OWNER, REPO } from "./utils/constants";
import * as semver from "semver"; import * as semver from "semver";
import { updateChecksums } from "./download/checksum/update-known-checksums"; import { updateChecksums } from "./download/checksum/update-known-checksums";
const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods);
async function run(): Promise<void> { async function run(): Promise<void> {
const checksumFilePath = process.argv.slice(2)[0]; const checksumFilePath = process.argv.slice(2)[0];
const github_token = process.argv.slice(2)[1]; const github_token = process.argv.slice(2)[1];
const octokit = new PaginatingOctokit({ auth: github_token }); const octokit = github.getOctokit(github_token);
const response = await octokit.paginate(octokit.rest.repos.listReleases, { const response = await octokit.paginate(octokit.rest.repos.listReleases, {
owner: OWNER, owner: OWNER,
+27 -71
View File
@@ -2,12 +2,34 @@ 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";
function getRuffVersionFromAllDependencies( export function getRuffVersionFromPyproject(
allDependencies: string[], filePath: string,
): string | undefined { ): string | undefined {
const ruffVersionDefinition = allDependencies.find((dep: string) => if (!fs.existsSync(filePath)) {
dep.startsWith("ruff"), core.warning(`Could not find file: ${filePath}`);
); 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
@@ -22,69 +44,3 @@ function getRuffVersionFromAllDependencies(
return undefined; return undefined;
} }
interface Pyproject {
project?: {
dependencies?: string[];
"optional-dependencies"?: Record<string, string[]>;
};
"dependency-groups"?: Record<string, Array<string | object>>;
tool?: {
poetry?: {
group?: Record<string, { dependencies: Record<string, string | object> }>;
};
};
}
function parsePyproject(pyprojectContent: string): string | undefined {
const pyproject: Pyproject = 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),
) || getRuffVersionFromPoetryGroups(pyproject)
);
}
function getRuffVersionFromPoetryGroups(
pyproject: Pyproject,
): string | undefined {
// Special handling for Poetry until it supports PEP 735
// See: <https://github.com/python-poetry/poetry/issues/9751>
const poetryGroups = Object.values(pyproject?.tool?.poetry?.group || {});
return poetryGroups
.flatMap((group) => Object.entries(group.dependencies))
.map(([name, spec]) => {
if (name === "ruff" && typeof spec === "string") return spec;
return undefined;
})
.find((version) => version !== undefined);
}
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;
}
}