mirror of
https://github.com/astral-sh/ruff-action.git
synced 2026-08-08 10:17:03 +00:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eef6392152 |
@@ -35,7 +35,7 @@ jobs:
|
|||||||
- name: Compare the expected and actual dist/ directories
|
- name: Compare the expected and actual dist/ directories
|
||||||
run: |
|
run: |
|
||||||
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
|
if [ "$(git diff --ignore-space-at-eol dist/ | wc -l)" -gt "0" ]; then
|
||||||
echo "::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
|
git diff --text -v
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -14,6 +14,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
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 }}
|
||||||
|
|||||||
+11
-70
@@ -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"
|
||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
npm run all
|
npm run all
|
||||||
- name: Make sure no changes from linters are detected
|
- name: Make sure no changes from linters are detected
|
||||||
run: |
|
run: |
|
||||||
git diff --exit-code || (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:
|
||||||
@@ -51,23 +51,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
version: ${{ matrix.ruff-version }}
|
version: ${{ matrix.ruff-version }}
|
||||||
src: __tests__/fixtures/python-project
|
src: __tests__/fixtures/python-project
|
||||||
test-version-from-version-file-pyproject:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Use version from pyproject.toml
|
|
||||||
id: ruff-action
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
src: __tests__/fixtures/python-project
|
|
||||||
version-file: __tests__/fixtures/pyproject.toml
|
|
||||||
- name: Correct version gets installed
|
|
||||||
run: |
|
|
||||||
if [ "$RUFF_VERSION" != "0.9.3" ]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
env:
|
|
||||||
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
|
|
||||||
test-default-version-from-pyproject:
|
test-default-version-from-pyproject:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@@ -101,57 +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-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:
|
||||||
@@ -252,3 +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:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Debug this
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
args: "--exit-zero"
|
||||||
|
src: __tests__/fixtures/python-project
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
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:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ 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](#install-a-version-by-supplying-a-semver-range)
|
- [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)
|
||||||
@@ -81,8 +81,7 @@ This action adds ruff to the PATH, so you can use it in subsequent steps.
|
|||||||
|
|
||||||
By default this action looks for a pyproject.toml file in the root of the repository to determine
|
By default this action looks for a pyproject.toml file in the root of the repository to determine
|
||||||
the ruff version to install. If no pyproject.toml file is found, or no ruff version is defined in
|
the ruff version to install. If no pyproject.toml file is found, or no ruff version is defined in
|
||||||
`project.dependencies`, `project.optional-dependencies`, or `dependency-groups`,
|
either `dependencies` or `dependency-groups.dev` the latest version is installed.
|
||||||
the latest version is installed.
|
|
||||||
|
|
||||||
#### Install the latest version
|
#### Install the latest version
|
||||||
|
|
||||||
@@ -124,13 +123,13 @@ to install the latest version that satisfies the range.
|
|||||||
#### Install a version from a specified version file
|
#### Install a version from a specified version file
|
||||||
|
|
||||||
You can specify a file to read the version from.
|
You can specify a file to read the version from.
|
||||||
Currently `pyproject.toml` 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"
|
|
||||||
-2
@@ -1,2 +0,0 @@
|
|||||||
def hello() -> str:
|
|
||||||
return "Hello from python-project!"
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
print("Hello world!")
|
|
||||||
@@ -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"
|
|
||||||
-2
@@ -1,2 +0,0 @@
|
|||||||
def hello() -> str:
|
|
||||||
return "Hello from python-project!"
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
print("Hello world!")
|
|
||||||
@@ -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 +0,0 @@
|
|||||||
ruff==0.9.0
|
|
||||||
+4304
-4043
File diff suppressed because it is too large
Load Diff
+4275
-3972
File diff suppressed because it is too large
Load Diff
Generated
+126
-88
@@ -11,19 +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/github": "^6.0.0",
|
||||||
"@actions/tool-cache": "^2.0.1",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"@octokit/core": "^6.1.3",
|
|
||||||
"@octokit/plugin-paginate-rest": "^11.4.0",
|
|
||||||
"@octokit/plugin-rest-endpoint-methods": "^13.3.0",
|
|
||||||
"smol-toml": "^1.3.1"
|
"smol-toml": "^1.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "1.9.4",
|
"@biomejs/biome": "1.9.4",
|
||||||
"@types/node": "^22.12.0",
|
"@types/node": "^22.10.5",
|
||||||
"@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.7.3"
|
"typescript": "^5.6.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/core": {
|
"node_modules/@actions/core": {
|
||||||
@@ -43,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",
|
||||||
@@ -234,128 +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.3",
|
"version": "5.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz",
|
||||||
"integrity": "sha512-z+j7DixNnfpdToYsOutStDgeRzJSMnbj8T1C/oQjB6Aa+kRfNjs/Fn7W6c8bmlt6mfy3FkgeKBRnDjxQow5dow==",
|
"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.1.4",
|
"@octokit/request": "^8.3.1",
|
||||||
"@octokit/request-error": "^6.1.6",
|
"@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.2",
|
"version": "9.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz",
|
||||||
"integrity": "sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==",
|
"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.0",
|
"version": "9.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz",
|
||||||
"integrity": "sha512-ttpGck5AYWkwMkMazNCZMqxKqIq1fJBNxBfsFwwfyYKTf914jKkLF0POMS3YkPBwp5g1c2Y4L79gDz01GhSr1g==",
|
"integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==",
|
||||||
"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.0",
|
"version": "10.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz",
|
||||||
"integrity": "sha512-LUm44shlmkp/6VC+qQgHl3W5vzUP99ZM54zH6BuqkJK4DqfFLhegANd+fM4YRLapTvPm4049iG7F3haANKMYvQ==",
|
"integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==",
|
||||||
"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-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.0",
|
"version": "8.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz",
|
||||||
"integrity": "sha512-kXLfcxhC4ozCnAXy2ff+cSxpcF0A1UqxjvYMqNuPIeOAzJbVWQ+dy5G2fTylofB/gTbObT8O6JORab+5XtA1Kw==",
|
"integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@octokit/endpoint": "^10.0.0",
|
"@octokit/endpoint": "^9.0.1",
|
||||||
"@octokit/request-error": "^6.0.1",
|
"@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.6",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz",
|
||||||
"integrity": "sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==",
|
"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.7.0",
|
"version": "13.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz",
|
||||||
"integrity": "sha512-BXfRP+3P3IN6fd4uF3SniaHKOO4UXWBfkdR3vA8mIvaoO/wLjGN5qivUtW0QRitBHHMcfC41SLhNVYIZZE+wkA==",
|
"integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@octokit/openapi-types": "^23.0.1"
|
"@octokit/openapi-types": "^22.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.12.0",
|
"version": "22.10.5",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
|
||||||
"integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==",
|
"integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~6.20.0"
|
"undici-types": "~6.20.0"
|
||||||
}
|
}
|
||||||
@@ -382,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",
|
||||||
@@ -413,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",
|
||||||
@@ -441,9 +474,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.7.3",
|
"version": "5.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
|
||||||
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
|
"integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
@@ -454,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"
|
||||||
},
|
},
|
||||||
@@ -472,9 +505,9 @@
|
|||||||
"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": {
|
"node_modules/uuid": {
|
||||||
"version": "3.4.0",
|
"version": "3.4.0",
|
||||||
@@ -484,6 +517,11 @@
|
|||||||
"bin": {
|
"bin": {
|
||||||
"uuid": "bin/uuid"
|
"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=="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-6
@@ -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,18 +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/github": "^6.0.0",
|
||||||
"@actions/tool-cache": "^2.0.1",
|
"@actions/tool-cache": "^2.0.1",
|
||||||
"@octokit/core": "^6.1.3",
|
|
||||||
"@octokit/plugin-paginate-rest": "^11.4.0",
|
|
||||||
"@octokit/plugin-rest-endpoint-methods": "^13.3.0",
|
|
||||||
"smol-toml": "^1.3.1"
|
"smol-toml": "^1.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "1.9.4",
|
"@biomejs/biome": "1.9.4",
|
||||||
"@types/node": "^22.12.0",
|
"@types/node": "^22.10.5",
|
||||||
"@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.7.3"
|
"typescript": "^5.6.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,73 +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.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":
|
||||||
|
|||||||
@@ -5,11 +5,7 @@ import { promises as fs } from "node:fs";
|
|||||||
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,
|
||||||
@@ -71,7 +67,6 @@ 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)
|
||||||
@@ -85,31 +80,12 @@ export async function resolveVersion(
|
|||||||
if (resolvedVersion === "") {
|
if (resolvedVersion === "") {
|
||||||
throw new Error(`No version found for ${version}`);
|
throw new Error(`No version found for ${version}`);
|
||||||
}
|
}
|
||||||
core.debug(`Resolved version: ${resolvedVersion}`);
|
|
||||||
return resolvedVersion;
|
return resolvedVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
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,
|
||||||
@@ -118,37 +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;
|
|
||||||
}
|
|
||||||
|
|||||||
+5
-13
@@ -21,7 +21,7 @@ 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";
|
||||||
|
|
||||||
async function run(): Promise<void> {
|
async function run(): Promise<void> {
|
||||||
@@ -93,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
-47
@@ -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,45 +44,3 @@ function getRuffVersionFromAllDependencies(
|
|||||||
|
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function parsePyproject(pyprojectContent: string): string | undefined {
|
|
||||||
const pyproject: {
|
|
||||||
project?: {
|
|
||||||
dependencies?: string[];
|
|
||||||
"optional-dependencies"?: Map<string, string[]>;
|
|
||||||
};
|
|
||||||
"dependency-groups"?: Map<string, Array<string | object>>;
|
|
||||||
} = toml.parse(pyprojectContent);
|
|
||||||
const dependencies: string[] = pyproject?.project?.dependencies || [];
|
|
||||||
const optionalDependencies: string[] = Object.values(
|
|
||||||
pyproject?.project?.["optional-dependencies"] || {},
|
|
||||||
).flat();
|
|
||||||
const devDependencies: string[] = Object.values(
|
|
||||||
pyproject?.["dependency-groups"] || {},
|
|
||||||
)
|
|
||||||
.flat()
|
|
||||||
.filter((item: string | object) => typeof item === "string");
|
|
||||||
return getRuffVersionFromAllDependencies(
|
|
||||||
dependencies.concat(optionalDependencies, devDependencies),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getRuffVersionFromRequirementsFile(
|
|
||||||
filePath: string,
|
|
||||||
): string | undefined {
|
|
||||||
if (!fs.existsSync(filePath)) {
|
|
||||||
core.warning(`Could not find file: ${filePath}`);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
|
|
||||||
if (filePath.endsWith(".txt")) {
|
|
||||||
return getRuffVersionFromAllDependencies(pyprojectContent.split("\n"));
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
return parsePyproject(pyprojectContent);
|
|
||||||
} catch (err) {
|
|
||||||
const message = (err as Error).message;
|
|
||||||
core.warning(`Error while parsing ${filePath}: ${message}`);
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user