Compare commits

..
1 Commits
Author SHA1 Message Date
Kevin Stillhammer eef6392152 Test exit-zero 2025-01-26 17:49:55 +01:00
25 changed files with 9021 additions and 9172 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
- name: Compare the expected and actual dist/ directories
run: |
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
echo "::error::Detected uncommitted changes after build. Run 'npm run build' and commit the changes."
echo "Detected uncommitted changes after build. See status below:"
git diff --text -v
exit 1
fi
+1 -1
View File
@@ -14,6 +14,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 🚀 Run Release Drafter
uses: release-drafter/release-drafter@v6.1.0
uses: release-drafter/release-drafter@v6.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+11 -70
View File
@@ -16,7 +16,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Actionlint
uses: eifinger/actionlint-action@23c85443d840cd73bbecb9cddfc933cc21649a38 # v1.9.1
uses: eifinger/actionlint-action@8ebeb40569f3c15ca66fe36d1b75f9b70c6c4f6e # v1.9.0
- uses: actions/setup-node@v4
with:
node-version: "20"
@@ -26,7 +26,7 @@ jobs:
npm run all
- name: Make sure no changes from linters are detected
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:
runs-on: ${{ matrix.os }}
strategy:
@@ -51,23 +51,6 @@ jobs:
with:
version: ${{ matrix.ruff-version }}
src: __tests__/fixtures/python-project
test-version-from-version-file-pyproject:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use version from pyproject.toml
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/python-project
version-file: __tests__/fixtures/pyproject.toml
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.9.3" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-pyproject:
runs-on: ubuntu-latest
steps:
@@ -101,57 +84,6 @@ jobs:
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-pyproject-dependency-groups:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use default version from pyproject.toml dependency groups
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/pyproject-dependency-groups-project
version-file: __tests__/fixtures/pyproject-dependency-groups-project/pyproject.toml
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.8.3" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-pyproject-optional-dependencies:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use default version from pyproject.toml optional dependencies
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/pyproject-optional-dependencies-project
version-file: __tests__/fixtures/pyproject-optional-dependencies-project/pyproject.toml
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.8.3" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-default-version-from-requirements:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use default version from requirements.txt
id: ruff-action
uses: ./
with:
src: __tests__/fixtures/python-project
version-file: __tests__/fixtures/requirements.txt
- name: Correct version gets installed
run: |
if [ "$RUFF_VERSION" != "0.9.0" ]; then
exit 1
fi
env:
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
test-semver-range:
runs-on: ubuntu-latest
steps:
@@ -252,3 +184,12 @@ jobs:
src: >-
__tests__/fixtures/python-project/src/python_project/__init__.py
__tests__/fixtures/python-project/src/python_project/hello_world.py
test-exit-zero:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Debug this
uses: ./
with:
args: "--exit-zero"
src: __tests__/fixtures/python-project
+1 -3
View File
@@ -1,8 +1,6 @@
name: "Update known checksums"
on:
workflow_dispatch:
schedule:
- cron: "0 4 * * *" # Run every day at 4am UTC
jobs:
build:
@@ -19,7 +17,7 @@ jobs:
src/download/checksum/known-checksums.ts ${{ secrets.GITHUB_TOKEN }}
- run: npm install && npm run all
- 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:
commit-message: "chore: update known checksums"
title:
+2 -29
View File
@@ -15,32 +15,5 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update Major Minor Tags
run: |
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}"
- name: Run Update semver
uses: haya14busa/action-update-semver@v1.2.1
+4 -16
View File
@@ -16,7 +16,7 @@ fix).
- [Use to install ruff](#use-to-install-ruff)
- [Use `ruff format`](#use-ruff-format)
- [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 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)
@@ -69,17 +69,6 @@ This action adds ruff to the PATH, so you can use it in subsequent steps.
- 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`
```yaml
@@ -92,8 +81,7 @@ you can use the `args` input to overwrite the default value (`check`):
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
`project.dependencies`, `project.optional-dependencies`, or `dependency-groups`,
the latest version is installed.
either `dependencies` or `dependency-groups.dev` the latest version is installed.
#### Install the latest version
@@ -135,13 +123,13 @@ to install the latest version that satisfies the range.
#### Install a version from a specified version file
You can specify a file to read the version from.
Currently `pyproject.toml` and `requirements.txt` are supported.
Currently `pyproject.toml` is supported.
```yaml
- name: Install a version from a specified version file
uses: astral-sh/ruff-action@v3
with:
version-file: "my-path/to/pyproject.toml-or-requirements.txt"
version-file: "my-path/to/pyproject.toml"
```
### 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,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
+4421 -4235
View File
File diff suppressed because it is too large Load Diff
+4392 -4164
View File
File diff suppressed because it is too large Load Diff
+142 -96
View File
@@ -11,19 +11,17 @@
"dependencies": {
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.2",
"@octokit/core": "^6.1.4",
"@octokit/plugin-paginate-rest": "^11.4.3",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"@actions/github": "^6.0.0",
"@actions/tool-cache": "^2.0.1",
"smol-toml": "^1.3.1"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.13.10",
"@types/node": "^22.10.5",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0",
"typescript": "^5.8.2"
"typescript": "^5.6.3"
}
},
"node_modules/@actions/core": {
@@ -43,6 +41,17 @@
"@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": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz",
@@ -58,15 +67,16 @@
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
},
"node_modules/@actions/tool-cache": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz",
"integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz",
"integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==",
"dependencies": {
"@actions/core": "^1.11.1",
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.0",
"@actions/http-client": "^2.0.1",
"@actions/io": "^1.1.1",
"semver": "^6.1.0"
"semver": "^6.1.0",
"uuid": "^3.3.2"
}
},
"node_modules/@biomejs/biome": {
@@ -233,129 +243,154 @@
}
},
"node_modules/@octokit/auth-token": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz",
"integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
"integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/core": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz",
"integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==",
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz",
"integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==",
"dependencies": {
"@octokit/auth-token": "^5.0.0",
"@octokit/graphql": "^8.1.2",
"@octokit/request": "^9.2.1",
"@octokit/request-error": "^6.1.7",
"@octokit/types": "^13.6.2",
"before-after-hook": "^3.0.2",
"universal-user-agent": "^7.0.0"
"@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^7.1.0",
"@octokit/request": "^8.3.1",
"@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.0.0",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/endpoint": {
"version": "10.1.3",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz",
"integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==",
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz",
"integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==",
"dependencies": {
"@octokit/types": "^13.6.2",
"universal-user-agent": "^7.0.2"
"@octokit/types": "^13.1.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/graphql": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.2.tgz",
"integrity": "sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==",
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz",
"integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==",
"dependencies": {
"@octokit/request": "^9.1.4",
"@octokit/types": "^13.6.2",
"universal-user-agent": "^7.0.0"
"@octokit/request": "^8.3.0",
"@octokit/types": "^13.0.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/openapi-types": {
"version": "23.0.1",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz",
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g=="
"version": "22.2.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz",
"integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg=="
},
"node_modules/@octokit/plugin-paginate-rest": {
"version": "11.4.3",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz",
"integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==",
"license": "MIT",
"version": "9.2.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz",
"integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==",
"dependencies": {
"@octokit/types": "^13.7.0"
"@octokit/types": "^12.6.0"
},
"engines": {
"node": ">= 18"
},
"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": {
"version": "13.3.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz",
"integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==",
"version": "10.4.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz",
"integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==",
"dependencies": {
"@octokit/types": "^13.8.0"
"@octokit/types": "^12.6.0"
},
"engines": {
"node": ">= 18"
},
"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": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz",
"integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==",
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz",
"integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==",
"dependencies": {
"@octokit/endpoint": "^10.1.3",
"@octokit/request-error": "^6.1.7",
"@octokit/types": "^13.6.2",
"fast-content-type-parse": "^2.0.0",
"universal-user-agent": "^7.0.2"
"@octokit/endpoint": "^9.0.1",
"@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.1.0",
"universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/request-error": {
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz",
"integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==",
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz",
"integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==",
"dependencies": {
"@octokit/types": "^13.6.2"
"@octokit/types": "^13.1.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/@octokit/types": {
"version": "13.8.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz",
"integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==",
"version": "13.6.1",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz",
"integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==",
"dependencies": {
"@octokit/openapi-types": "^23.0.1"
"@octokit/openapi-types": "^22.2.0"
}
},
"node_modules/@types/node": {
"version": "22.13.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
"version": "22.10.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
"integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
}
@@ -382,24 +417,14 @@
"dev": true
},
"node_modules/before-after-hook": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz",
"integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A=="
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
"integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
},
"node_modules/fast-content-type-parse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz",
"integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/fastify"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fastify"
}
]
"node_modules/deprecation": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
"integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
},
"node_modules/js-yaml": {
"version": "4.1.0",
@@ -413,6 +438,14 @@
"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": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -441,11 +474,10 @@
}
},
"node_modules/typescript": {
"version": "5.8.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
"integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -455,9 +487,9 @@
}
},
"node_modules/undici": {
"version": "5.28.5",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz",
"integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==",
"version": "5.28.4",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
"integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
"dependencies": {
"@fastify/busboy": "^2.0.0"
},
@@ -473,9 +505,23 @@
"license": "MIT"
},
"node_modules/universal-user-agent": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
"integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q=="
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
"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 -7
View File
@@ -12,7 +12,7 @@
"package": "ncc build -o dist/ruff-action src/ruff-action.ts && ncc build -o dist/update-known-checksums src/update-known-checksums.ts",
"act": "act pull_request -W .github/workflows/test.yml --container-architecture linux/amd64 -s GITHUB_TOKEN=\"$(gh auth token)\"",
"update-known-checksums": "RUNNER_TEMP=known_checksums node dist/update-known-checksums/index.js src/download/checksum/known-checksums.ts \"$(gh auth token)\"",
"all": "npm 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": {
"type": "git",
@@ -24,18 +24,16 @@
"dependencies": {
"@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.2",
"@octokit/core": "^6.1.4",
"@octokit/plugin-paginate-rest": "^11.4.3",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"@actions/github": "^6.0.0",
"@actions/tool-cache": "^2.0.1",
"smol-toml": "^1.3.1"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@types/node": "^22.13.10",
"@types/node": "^22.10.5",
"@types/semver": "^7.5.8",
"@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0",
"typescript": "^5.8.2"
"typescript": "^5.6.3"
}
}
-374
View File
@@ -1,379 +1,5 @@
// AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"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":
"fedcadac96deda2ed1a1ebe10985c9489e97768164e15a2f473830d97c760745",
"aarch64-pc-windows-msvc-0.9.1":
+7 -53
View File
@@ -5,11 +5,7 @@ import { promises as fs } from "node:fs";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum";
import { Octokit } from "@octokit/core";
import { paginateRest } from "@octokit/plugin-paginate-rest";
import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods);
import * as github from "@actions/github";
export function tryGetFromToolCache(
arch: Architecture,
@@ -71,7 +67,6 @@ export async function resolveVersion(
versionInput: string,
githubToken: string,
): Promise<string> {
core.debug(`Resolving ${versionInput}...`);
const version =
versionInput === "latest"
? await getLatestVersion(githubToken)
@@ -85,31 +80,12 @@ export async function resolveVersion(
if (resolvedVersion === "") {
throw new Error(`No version found for ${version}`);
}
core.debug(`Resolved version: ${resolvedVersion}`);
return resolvedVersion;
}
async function getAvailableVersions(githubToken: string): Promise<string[]> {
try {
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;
}
}
const octokit = github.getOctokit(githubToken);
async function getReleaseTagNames(
octokit: InstanceType<typeof PaginatingOctokit>,
): Promise<string[]> {
const response = await octokit.paginate(octokit.rest.repos.listReleases, {
owner: OWNER,
repo: REPO,
@@ -118,37 +94,15 @@ async function getReleaseTagNames(
}
async function getLatestVersion(githubToken: string) {
const octokit = new PaginatingOctokit({
auth: githubToken,
});
const octokit = github.getOctokit(githubToken);
let latestRelease: { tag_name: string } | undefined;
try {
latestRelease = await getLatestRelease(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();
latestRelease = await getLatestRelease(octokit);
} else {
throw err;
}
}
const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({
owner: OWNER,
repo: REPO,
});
if (!latestRelease) {
throw new Error("Could not determine latest release.");
}
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;
}
+5 -13
View File
@@ -21,7 +21,7 @@ import {
version,
versionFile as versionFileInput,
} from "./utils/inputs";
import { getRuffVersionFromRequirementsFile } from "./utils/pyproject";
import { getRuffVersionFromPyproject } from "./utils/pyproject";
import * as fs from "node:fs";
async function run(): Promise<void> {
@@ -93,27 +93,19 @@ async function determineVersion(): Promise<string> {
return await resolveVersion(version, githubToken);
}
if (versionFileInput !== "") {
const versionFromPyproject =
getRuffVersionFromRequirementsFile(versionFileInput);
const versionFromPyproject = getRuffVersionFromPyproject(versionFileInput);
if (versionFromPyproject === undefined) {
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");
if (!fs.existsSync(pyProjectPath)) {
core.info(`Could not find ${pyProjectPath}. Using latest version.`);
return await resolveVersion("latest", githubToken);
}
const versionFromPyproject =
getRuffVersionFromRequirementsFile(pyProjectPath);
if (versionFromPyproject === undefined) {
core.warning(
`Could not parse version from ${pyProjectPath}. Using latest version.`,
);
}
const versionFromPyproject = getRuffVersionFromPyproject(pyProjectPath);
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 { paginateRest } from "@octokit/plugin-paginate-rest";
import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
import { OWNER, REPO } from "./utils/constants";
import * as semver from "semver";
import { updateChecksums } from "./download/checksum/update-known-checksums";
const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods);
async function run(): Promise<void> {
const checksumFilePath = process.argv.slice(2)[0];
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, {
owner: OWNER,
+27 -47
View File
@@ -2,12 +2,34 @@ import * as fs from "node:fs";
import * as core from "@actions/core";
import * as toml from "smol-toml";
function getRuffVersionFromAllDependencies(
allDependencies: string[],
export function getRuffVersionFromPyproject(
filePath: string,
): string | undefined {
const ruffVersionDefinition = allDependencies.find((dep: string) =>
dep.startsWith("ruff"),
);
if (!fs.existsSync(filePath)) {
core.warning(`Could not find file: ${filePath}`);
return undefined;
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
let pyproject:
| {
project?: { dependencies?: string[] };
"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) {
const ruffVersion = ruffVersionDefinition
@@ -22,45 +44,3 @@ function getRuffVersionFromAllDependencies(
return undefined;
}
function parsePyproject(pyprojectContent: string): string | undefined {
const pyproject: {
project?: {
dependencies?: string[];
"optional-dependencies"?: Map<string, string[]>;
};
"dependency-groups"?: Map<string, Array<string | object>>;
} = toml.parse(pyprojectContent);
const dependencies: string[] = pyproject?.project?.dependencies || [];
const optionalDependencies: string[] = Object.values(
pyproject?.project?.["optional-dependencies"] || {},
).flat();
const devDependencies: string[] = Object.values(
pyproject?.["dependency-groups"] || {},
)
.flat()
.filter((item: string | object) => typeof item === "string");
return getRuffVersionFromAllDependencies(
dependencies.concat(optionalDependencies, devDependencies),
);
}
export function getRuffVersionFromRequirementsFile(
filePath: string,
): string | undefined {
if (!fs.existsSync(filePath)) {
core.warning(`Could not find file: ${filePath}`);
return undefined;
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
if (filePath.endsWith(".txt")) {
return getRuffVersionFromAllDependencies(pyprojectContent.split("\n"));
}
try {
return parsePyproject(pyprojectContent);
} catch (err) {
const message = (err as Error).message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
}