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 - 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
+1 -1
View File
@@ -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
View File
@@ -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 -3
View File
@@ -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:
@@ -19,7 +17,7 @@ jobs:
src/download/checksum/known-checksums.ts ${{ secrets.GITHUB_TOKEN }} src/download/checksum/known-checksums.ts ${{ secrets.GITHUB_TOKEN }}
- run: npm install && npm run all - run: npm install && npm run all
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8 uses: peter-evans/create-pull-request@67ccf781d68cd99b580ae25a5c18a1cc84ffff1f # v7.0.6
with: with:
commit-message: "chore: update known checksums" commit-message: "chore: update known checksums"
title: title:
+2 -29
View File
@@ -15,32 +15,5 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Update Major Minor Tags - name: Run Update semver
run: | uses: haya14busa/action-update-semver@v1.2.1
set -x
cd "${GITHUB_WORKSPACE}" || exit
# Set up variables.
TAG="${GITHUB_REF#refs/tags/}" # v1.2.3
MINOR="${TAG%.*}" # v1.2
MAJOR="${MINOR%.*}" # v1
if [ "${GITHUB_REF}" = "${TAG}" ]; then
echo "This workflow is not triggered by tag push: GITHUB_REF=${GITHUB_REF}"
exit 1
fi
MESSAGE="Release ${TAG}"
# Set up Git.
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
# Update MAJOR/MINOR tag
git tag -fa "${MAJOR}" -m "${MESSAGE}"
git tag -fa "${MINOR}" -m "${MESSAGE}"
# Push
git push --force origin "${MINOR}"
git push --force origin "${MAJOR}"
+4 -16
View File
@@ -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)
@@ -69,17 +69,6 @@ This action adds ruff to the PATH, so you can use it in subsequent steps.
- run: ruff format - run: ruff format
``` ```
By default, this action runs `ruff check` after installation.
If you do not want to run any `ruff` command but only install it,
you can use the `args` input to overwrite the default value (`check`):
```yaml
- name: Install ruff without running check or format
uses: astral-sh/ruff-action@v3
with:
args: "--version"
```
### Use `ruff format` ### Use `ruff format`
```yaml ```yaml
@@ -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 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
@@ -135,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"
@@ -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": { "dependencies": {
"@actions/core": "^1.11.1", "@actions/core": "^1.11.1",
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.2", "@actions/github": "^6.0.0",
"@octokit/core": "^6.1.4", "@actions/tool-cache": "^2.0.1",
"@octokit/plugin-paginate-rest": "^11.4.3",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"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.13.10", "@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.8.2" "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",
@@ -58,15 +67,16 @@
"integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q=="
}, },
"node_modules/@actions/tool-cache": { "node_modules/@actions/tool-cache": {
"version": "2.0.2", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.2.tgz", "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz",
"integrity": "sha512-fBhNNOWxuoLxztQebpOaWu6WeVmuwa77Z+DxIZ1B+OYvGkGQon6kTVg6Z32Cb13WCuw0szqonK+hh03mJV7Z6w==", "integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==",
"dependencies": { "dependencies": {
"@actions/core": "^1.11.1", "@actions/core": "^1.2.6",
"@actions/exec": "^1.0.0", "@actions/exec": "^1.0.0",
"@actions/http-client": "^2.0.1", "@actions/http-client": "^2.0.1",
"@actions/io": "^1.1.1", "@actions/io": "^1.1.1",
"semver": "^6.1.0" "semver": "^6.1.0",
"uuid": "^3.3.2"
} }
}, },
"node_modules/@biomejs/biome": { "node_modules/@biomejs/biome": {
@@ -233,129 +243,154 @@
} }
}, },
"node_modules/@octokit/auth-token": { "node_modules/@octokit/auth-token": {
"version": "5.1.2", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
"integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/core": { "node_modules/@octokit/core": {
"version": "6.1.4", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.4.tgz", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz",
"integrity": "sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==", "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==",
"dependencies": { "dependencies": {
"@octokit/auth-token": "^5.0.0", "@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^8.1.2", "@octokit/graphql": "^7.1.0",
"@octokit/request": "^9.2.1", "@octokit/request": "^8.3.1",
"@octokit/request-error": "^6.1.7", "@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.0.0",
"before-after-hook": "^3.0.2", "before-after-hook": "^2.2.0",
"universal-user-agent": "^7.0.0" "universal-user-agent": "^6.0.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/endpoint": { "node_modules/@octokit/endpoint": {
"version": "10.1.3", "version": "9.0.5",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.3.tgz", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz",
"integrity": "sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==", "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.6.2", "@octokit/types": "^13.1.0",
"universal-user-agent": "^7.0.2" "universal-user-agent": "^6.0.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/graphql": { "node_modules/@octokit/graphql": {
"version": "8.1.2", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz",
"integrity": "sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==", "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==",
"dependencies": { "dependencies": {
"@octokit/request": "^9.1.4", "@octokit/request": "^8.3.0",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.0.0",
"universal-user-agent": "^7.0.0" "universal-user-agent": "^6.0.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/openapi-types": { "node_modules/@octokit/openapi-types": {
"version": "23.0.1", "version": "22.2.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-23.0.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz",
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==" "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg=="
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "11.4.3", "version": "9.2.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz",
"integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==", "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==",
"license": "MIT",
"dependencies": { "dependencies": {
"@octokit/types": "^13.7.0" "@octokit/types": "^12.6.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=6" "@octokit/core": "5"
}
},
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
"integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA=="
},
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
"integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
"dependencies": {
"@octokit/openapi-types": "^20.0.0"
} }
}, },
"node_modules/@octokit/plugin-rest-endpoint-methods": { "node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "13.3.1", "version": "10.4.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz",
"integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==", "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.8.0" "@octokit/types": "^12.6.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=6" "@octokit/core": "5"
}
},
"node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": {
"version": "20.0.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
"integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA=="
},
"node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
"version": "12.6.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
"integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
"dependencies": {
"@octokit/openapi-types": "^20.0.0"
} }
}, },
"node_modules/@octokit/request": { "node_modules/@octokit/request": {
"version": "9.2.2", "version": "8.4.0",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz",
"integrity": "sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==", "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==",
"dependencies": { "dependencies": {
"@octokit/endpoint": "^10.1.3", "@octokit/endpoint": "^9.0.1",
"@octokit/request-error": "^6.1.7", "@octokit/request-error": "^5.1.0",
"@octokit/types": "^13.6.2", "@octokit/types": "^13.1.0",
"fast-content-type-parse": "^2.0.0", "universal-user-agent": "^6.0.0"
"universal-user-agent": "^7.0.2"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/request-error": { "node_modules/@octokit/request-error": {
"version": "6.1.7", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.7.tgz", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz",
"integrity": "sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==", "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==",
"dependencies": { "dependencies": {
"@octokit/types": "^13.6.2" "@octokit/types": "^13.1.0",
"deprecation": "^2.0.0",
"once": "^1.4.0"
}, },
"engines": { "engines": {
"node": ">= 18" "node": ">= 18"
} }
}, },
"node_modules/@octokit/types": { "node_modules/@octokit/types": {
"version": "13.8.0", "version": "13.6.1",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.8.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.1.tgz",
"integrity": "sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==", "integrity": "sha512-PHZE9Z+kWXb23Ndik8MKPirBPziOc0D2/3KH1P+6jK5nGWe96kadZuE4jev2/Jq7FvIfTlT2Ltg8Fv2x1v0a5g==",
"dependencies": { "dependencies": {
"@octokit/openapi-types": "^23.0.1" "@octokit/openapi-types": "^22.2.0"
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "22.13.10", "version": "22.10.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz",
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==", "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~6.20.0" "undici-types": "~6.20.0"
} }
@@ -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,11 +474,10 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.8.2", "version": "5.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
"dev": true, "dev": true,
"license": "Apache-2.0",
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
@@ -455,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"
}, },
@@ -473,9 +505,23 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/universal-user-agent": { "node_modules/universal-user-agent": {
"version": "7.0.2", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
"integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==" "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ=="
},
"node_modules/uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
"bin": {
"uuid": "bin/uuid"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
} }
} }
} }
+5 -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", "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/tool-cache": "^2.0.2", "@actions/github": "^6.0.0",
"@octokit/core": "^6.1.4", "@actions/tool-cache": "^2.0.1",
"@octokit/plugin-paginate-rest": "^11.4.3",
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
"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.13.10", "@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.8.2" "typescript": "^5.6.3"
} }
} }
-374
View File
@@ -1,379 +1,5 @@
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
export const KNOWN_CHECKSUMS: { [key: string]: string } = { export const KNOWN_CHECKSUMS: { [key: string]: string } = {
"aarch64-apple-darwin-0.11.0":
"09ea313f2aab3844432b46c6c5e3e066b26ae4953f4bac1e545176e5dea22306",
"aarch64-pc-windows-msvc-0.11.0":
"49c1a9f99aa0e606d66960be12bb21e40da190e4798a18df0bf361c99dc644ad",
"aarch64-unknown-linux-gnu-0.11.0":
"e4e69fe47ad319aeef0983e26e927907d7521214a7d72c79cf2e2b15316ecfa5",
"aarch64-unknown-linux-musl-0.11.0":
"60904d6d51b1a8dd49ab948dd1de33ce439ca872c82faa5dab90fce838539317",
"arm-unknown-linux-musleabihf-0.11.0":
"0320e9cf0684cb7bc4ba38030fc4dc55d2bc6f373c182b13b5874cf43130e749",
"armv7-unknown-linux-gnueabihf-0.11.0":
"c04a60e29efcaa554e7c56bdf4eb8ca472fa77fde3b59e100c25b903a518f32b",
"armv7-unknown-linux-musleabihf-0.11.0":
"85f4aaf213fd8ffdf259eb1e43a775d093c8ac106188cc6baae036317f4510ac",
"i686-pc-windows-msvc-0.11.0":
"92c1b065f33dcd88efa08fb374a81d9687430faee11c18f7d3dea12ad88ee163",
"i686-unknown-linux-gnu-0.11.0":
"f61a226452f6b6b68faafacf0ded2ff9d53a7c6a48dcb7b87b4012dca46303ad",
"i686-unknown-linux-musl-0.11.0":
"3046960555a10daf0d86fe976283391c97200669b5c840e387a607a378f1ca6c",
"powerpc64-unknown-linux-gnu-0.11.0":
"c8aff47b5b2492a889d9c5f04b3d16d4b5787d11d728dd4f390bc76debcf35db",
"powerpc64le-unknown-linux-gnu-0.11.0":
"4dd6f67ef8c993c3467a7fa1253159a98e26c28321ec5fcaaa46bbd8baf2b40e",
"s390x-unknown-linux-gnu-0.11.0":
"411dfebaf45c3f119c11f2d1ecbec7874062b75baff0ec9ea3a20dcd02477a8c",
"x86_64-apple-darwin-0.11.0":
"a208dee9c1a7a063dace746836fd2d7e5f7694d2142700d3964fccf141ada555",
"x86_64-pc-windows-msvc-0.11.0":
"92e87a04f5750312a5454610633f6af91485578cc1dd944b4692d2fb5f6188dc",
"x86_64-unknown-linux-gnu-0.11.0":
"ad61c55a3b361e4f451e90247d6ca6018c2563f41c5142c1f8388138bdac96b3",
"x86_64-unknown-linux-musl-0.11.0":
"3148cd8131ec4f525551b16a57186f5533c705950269cbee7674d484ca6eefe5",
"aarch64-apple-darwin-0.10.0":
"1da279b8302cd86f50d38fc8ad62cd12f4d07c0c402c13a3bac7dc244c7db138",
"aarch64-pc-windows-msvc-0.10.0":
"e40d9d7efe47fcd1a5ffc2314ea45076d71cf83638550c5b95f9ecfff3cbac2b",
"aarch64-unknown-linux-gnu-0.10.0":
"c5fefbb03f7e885063f311d532494b0702dd72689c62ef62cc0c803a27acd50a",
"aarch64-unknown-linux-musl-0.10.0":
"7b9fe2e2cecde897fb35a1a0bb1ccd10dde3395acd81aea7e5e6b0b24824e7c7",
"arm-unknown-linux-musleabihf-0.10.0":
"194358d10125ab02e1bbe163664f3d45133f1cd2c0d536c7f4f89c54cb13c525",
"armv7-unknown-linux-gnueabihf-0.10.0":
"d4a12c8710386d2dbe1b0c77651b49eb26650712462cbef24c6b56752271b5a4",
"armv7-unknown-linux-musleabihf-0.10.0":
"333d6b0e1ff9d2114a1acc8d28fabc911e0c911d055a36b6d072428cac003a0c",
"i686-pc-windows-msvc-0.10.0":
"81477cb2152d195cfa7181773d8a7c32fd9bd2f9292e8e8ce7848fdd2d7bebb8",
"i686-unknown-linux-gnu-0.10.0":
"ba25c96731474aee9533b706ca89467f79469c0cb4599a799bb0122373c984cb",
"i686-unknown-linux-musl-0.10.0":
"f0ae870fc0aa8f77da3fc5d39489c46a7f1fb0c504bbd700729ce54bb0804e4e",
"powerpc64-unknown-linux-gnu-0.10.0":
"41db344c0740af4cd38fa3c332abe0aebe2d98c8e1d18a5fe4f9316cae39f61a",
"powerpc64le-unknown-linux-gnu-0.10.0":
"6d15f4fded4493744def7b44f0ebfb49567830a77d7f49b21f9710f2d34f461f",
"s390x-unknown-linux-gnu-0.10.0":
"6b28f1d1e6608205fe5f8b403fe5e3a4276dc0d3030215a7d6107495977f1b53",
"x86_64-apple-darwin-0.10.0":
"2388af7881c7e50026388e953fa6eab7c1ae94c868926a6185c3cb38f9f15aa2",
"x86_64-pc-windows-msvc-0.10.0":
"f97160653dc9f9dde5cdbe8b24a53cb93a43e54ee30da6b995cf667c2e599ff2",
"x86_64-unknown-linux-gnu-0.10.0":
"fd14f35039302d96e7cb810350627239f122c2f4334580a28a9f5f9486b2c7c4",
"x86_64-unknown-linux-musl-0.10.0":
"5e949f667a1dd76ab4382ba713fed3390ddc6088147ba0eb70fd8aa2ec564751",
"aarch64-apple-darwin-0.9.10":
"1fccbd53431eaa596f2322494edbdc444f99db651566188fa0a9820c26bbef77",
"aarch64-pc-windows-msvc-0.9.10":
"3e89dd753090ae81947e8e2ddb88cf0475c931041d92afb95654ade5af54d7f7",
"aarch64-unknown-linux-gnu-0.9.10":
"95932bcc42d2692e9bb14055fdd76a7ca6d3750d447ef1b1ef0db074024f92b7",
"aarch64-unknown-linux-musl-0.9.10":
"c131df77457ed45aa44b617194563ceea2e29e595c42d06804e04155529423b4",
"arm-unknown-linux-musleabihf-0.9.10":
"bcb333ff3aa7600bbeee4231e75936d3eca60fb5c4c097c017b3b83756a9d2af",
"armv7-unknown-linux-gnueabihf-0.9.10":
"3daf5c538959917b5fbb83bd06f56b61c3495d92c8fe8dd973779cf6500c922c",
"armv7-unknown-linux-musleabihf-0.9.10":
"0768244bb055459e392c62a98ab0af3cec47dd126e6c504aa322ac6c5cb0f891",
"i686-pc-windows-msvc-0.9.10":
"a4ebfb2e8521e01dcd4ac4ca554b29e24157eb042c2a93662c7107bbb92d90ed",
"i686-unknown-linux-gnu-0.9.10":
"a931b4eda4499872d3f7b4b7d4f92e687bf5526f0e14164c9ebea046c4c44ef0",
"i686-unknown-linux-musl-0.9.10":
"86b53473143154ff56f186c5ff59cdda85f4947f90156bcbc7c0a2bcc322ca09",
"powerpc64-unknown-linux-gnu-0.9.10":
"08402302e254aece133dc7205fb225a11a8fba62dcfc5d84a9a54dda8036951c",
"powerpc64le-unknown-linux-gnu-0.9.10":
"db6b48fa692d54da27c8434079ce87e0dc794be34516c1fe8ada835c62a00b7e",
"s390x-unknown-linux-gnu-0.9.10":
"00a0b73e3a26355e8d9ac575cb39c7cc64993f020cdceadce03b5814f1edf3b6",
"x86_64-apple-darwin-0.9.10":
"1e5080489fdf483e7111bb1575f045ec13da2fdbfc6ac5fd58b5d55cf9cd7668",
"x86_64-pc-windows-msvc-0.9.10":
"f1e75b080ea1c83737d0ada30a1338ba87d7792ce1dadd67daade720b539f8f7",
"x86_64-unknown-linux-gnu-0.9.10":
"1612de28c132b9605da220014177c5c9963f3ed3db203951f22968306f183f97",
"x86_64-unknown-linux-musl-0.9.10":
"15e93ee078beb5ec24d1afb02a1cce2a873ac627d378c987adda4f6ab3b5f886",
"aarch64-apple-darwin-0.9.9":
"b4fc98b638b903e7d5aa6ac245c955077e672b6b2072b9a5249c15ff0a9052de",
"aarch64-pc-windows-msvc-0.9.9":
"48ef6bde8d31c3e959e2ced28d033c948dfdf7bc06578865d404987be88c89af",
"aarch64-unknown-linux-gnu-0.9.9":
"34b4ea311560d5e7f80597eaf3dede9ded194dffe131d7fee8841904792a644c",
"aarch64-unknown-linux-musl-0.9.9":
"df49a2ab1b62b6992aaeebdf590751f9c6536eefa3d149a1e6dd454b7d3b5681",
"arm-unknown-linux-musleabihf-0.9.9":
"c081bbd7268f65e77e91596556ac4c81506dd8fe09c50a6791fdce1be8ae4e5d",
"armv7-unknown-linux-gnueabihf-0.9.9":
"11c98f90103a409b55afac3534a0396e38a055bfa09e45b774a298a6107899f1",
"armv7-unknown-linux-musleabihf-0.9.9":
"1340a24f74782c95cc78b66434ead244a38e60d2a4f07b0954b5029272566794",
"i686-pc-windows-msvc-0.9.9":
"4c0355a6c9ec92d89c8802aabd84a7e0fcf27794befc51a1c7a58bec2b70e5fd",
"i686-unknown-linux-gnu-0.9.9":
"d9648994937c8e24376b1e300b56edd2b45266bab42ec400cf7090bfbefe0927",
"i686-unknown-linux-musl-0.9.9":
"8e11ac8533c438003be1df417397e3467cc51675f579d7b906b46339ab43530f",
"powerpc64-unknown-linux-gnu-0.9.9":
"5e6a6039646e2bdc32b254a0feb6842bfa9c0a9c9d3301de6996720278e9550f",
"powerpc64le-unknown-linux-gnu-0.9.9":
"38b40dd824bc32c97ad250a2108debfd0aa0cf30ad011702b8fb96da476b7d7a",
"s390x-unknown-linux-gnu-0.9.9":
"3d06a0c49b4c287769538033fc2be0b0b7eeb74d5b36344c272fb31d37718271",
"x86_64-apple-darwin-0.9.9":
"518e891bc5f4af795fe9a49f00bc9db9b8258e0d73d452eee8ada15471a2ce95",
"x86_64-pc-windows-msvc-0.9.9":
"13ccd981a38af7011844f8125210007aef026ad59348db9944a083d6081e660d",
"x86_64-unknown-linux-gnu-0.9.9":
"49592925719ee59a7e6675a95dc20e76c0b921b498500a54b1cce3c314fdf794",
"x86_64-unknown-linux-musl-0.9.9":
"a29c014960f68045fd5e52df20889be801ad92eda0961c4aede191a6d01dbee9",
"aarch64-apple-darwin-0.9.8":
"5ea25e5c3b6c825a9b860fe0162ef8dd248c31bf00d63a107a38ef7318988c80",
"aarch64-pc-windows-msvc-0.9.8":
"6b14e0a3a3d5e783ddc1e3dbecbb3552c0b302a096af88e7b57323bb6d88975e",
"aarch64-unknown-linux-gnu-0.9.8":
"82dd223919efd3f0a46b1eb5b7bba17bbf86b408c8fca203f49eb920888dcada",
"aarch64-unknown-linux-musl-0.9.8":
"6a86bdbbfd9c43cde7a15f0a1ef5ad8ec3b21e319ae178caa3b384bada3a20fb",
"arm-unknown-linux-musleabihf-0.9.8":
"2e7bcd94f0aaccd418d5d8425fbfef37270aa6605d2072350570eb9e7082e804",
"armv7-unknown-linux-gnueabihf-0.9.8":
"3036c3b6ce3b1ccfc5aaa98a55649a4c4347fde171b519ad8f41ba5944bbf789",
"armv7-unknown-linux-musleabihf-0.9.8":
"7cccfd2855f07e7038880b68a35efcf3c2c35f7bce6b097e340399510d89877e",
"i686-pc-windows-msvc-0.9.8":
"3f5ab787bb2e39ce582675af5ab600f4e08a4f65c44e34e7b840cf6a231bd43a",
"i686-unknown-linux-gnu-0.9.8":
"461ed20d81247e59cec7b132180355a4ed238bb096f3e743b101e0e9cd982715",
"i686-unknown-linux-musl-0.9.8":
"5fc3e649929fccf8be516a347b6ea67e2102760c36d95562c8839025087bc08d",
"powerpc64-unknown-linux-gnu-0.9.8":
"d584cbb844cca74754382fa4330ff66a2e26ae072b2fa84c965526120bed8469",
"powerpc64le-unknown-linux-gnu-0.9.8":
"67812e8647ff88304a92f724fe84a39c78da77f596e870bbcddc63c470a05f46",
"s390x-unknown-linux-gnu-0.9.8":
"b91f9111104a5fafaec6581cdbbb658bc8c7411c45945887e66c6b658a419f3f",
"x86_64-apple-darwin-0.9.8":
"88fc6143eaa9a6ab247163ad9cba167a8384d80d2260b2a9dee1fd3c87ca7d52",
"x86_64-pc-windows-msvc-0.9.8":
"7144401f70fe7410a771537cf2bc6e50a82cf95a2f51c611397ed4eccb777409",
"x86_64-unknown-linux-gnu-0.9.8":
"905172846650475d4e163b6eb34dac4660e4f10d7ed886846390865e49e7e6c0",
"x86_64-unknown-linux-musl-0.9.8":
"dc24ad1fd3af5c3ee9101d3bc5f04b648f3037dd206ffee7088f52ca5fa4c10e",
"aarch64-apple-darwin-0.9.7":
"f14437e71399e14302bdf5ce910e3df9abc9a223fe0ff5d6b02eb083c39fa30b",
"aarch64-pc-windows-msvc-0.9.7":
"724a1d87421e125759e9b7dbab16a4d1034892ce4180aaaf61e3ebbe7e67afa2",
"aarch64-unknown-linux-gnu-0.9.7":
"95d2a031a3de3ea5ce99febcbb6891781ebb430213115c1f729578db83109416",
"aarch64-unknown-linux-musl-0.9.7":
"b94ad94bc0cf14a12a725fcf2383ed047b537068f4b33bf0815e8baf35e6ec5c",
"arm-unknown-linux-musleabihf-0.9.7":
"ded01d55a349302b0b47deceb144886b7a3767f71d717fc78bb94f1aed1f4e24",
"armv7-unknown-linux-gnueabihf-0.9.7":
"6cc563095f798a67bfe55a7ce1e652b238a5c09aaa543427ce7562cbbe482dea",
"armv7-unknown-linux-musleabihf-0.9.7":
"688a0baae40a5da8489a7c581b7118ff79dc33e862aac3f032e400e8515e6d45",
"i686-pc-windows-msvc-0.9.7":
"72e941fd8177a8cf9f4b9a56e8c8a8262440b98b69b415062c06709cdb4d9361",
"i686-unknown-linux-gnu-0.9.7":
"4c0141f1b7c5e68b1f195097ed7993b12c2d593fcbf650196e0e50f8de8fe282",
"i686-unknown-linux-musl-0.9.7":
"407310c90618470d5f76b1761040d1a0bc0c3b4d65d8999fcad89ad7e622e0be",
"powerpc64-unknown-linux-gnu-0.9.7":
"f304a482ef6cb78909d38dc4fde20027ac4a9cbdbe37b007bd48d2f95b11059d",
"powerpc64le-unknown-linux-gnu-0.9.7":
"8d9a4807f84f0b5520d8c1606d0b2bb8eb85adb496329d2f88699e41b0f098b6",
"s390x-unknown-linux-gnu-0.9.7":
"153ac343084d6b5f6605b49c1800aabee9dea02f5c6f9110967e8dcc05b6a36c",
"x86_64-apple-darwin-0.9.7":
"2a0fd12cd66d20a882ca970159ef361d5f397b938a5ab9d7619dec0f15152f53",
"x86_64-pc-windows-msvc-0.9.7":
"236c69ed510a3302f40b5e0ec1cde0cc7535146cd37658e6d3168c85e94e308a",
"x86_64-unknown-linux-gnu-0.9.7":
"902f9ed51f13ed04eb3dc855af99d70e682846c538521a1b2c1b04c170bb5a7d",
"x86_64-unknown-linux-musl-0.9.7":
"f0b7c7a5ae446730ac111904a504cb96789cc1c82b9966b55bedd88a6d3ec077",
"aarch64-apple-darwin-0.9.6":
"a3132eb5e3d95f36d378144082276fbed0309789dadb19d8a4c41ec5e80451fb",
"aarch64-pc-windows-msvc-0.9.6":
"7c397ec18e458c7a7e49277d7d719b0b6bf2f459f570e01a9f1d1906d678190e",
"aarch64-unknown-linux-gnu-0.9.6":
"cf796c953def5a7102002372893942fac875ac718355698a4a70405104dfbb6c",
"aarch64-unknown-linux-musl-0.9.6":
"8f64e97deae1c12f659fd13e6e14d78cf15ed876d1548ac76b235f78ab5803e1",
"arm-unknown-linux-musleabihf-0.9.6":
"ec72087fa80aff95871aac0f8aa8ca708a82c6789641ac8362fb58212cfc5410",
"armv7-unknown-linux-gnueabihf-0.9.6":
"fba48ab2b77a358c2600d5636759ed779b29bebcc8de66e331c00d7704c41d1c",
"armv7-unknown-linux-musleabihf-0.9.6":
"4944aafeab7ce9cb5a000bdaf71e38a917b506574f859d333bd4698efd5fd3bc",
"i686-pc-windows-msvc-0.9.6":
"05c50165f1330d797de444d99c1c9230dcb2377c2a7ff9b9f8718dc5617c1d4b",
"i686-unknown-linux-gnu-0.9.6":
"508a2f35904b986bf7cf7e2a73d138b1ca590daf4ee562c4630c60aa5ba39922",
"i686-unknown-linux-musl-0.9.6":
"16acf21b61fa006b5642443bba4c52e84d2ce2b15cba1f616a856956c5a2ea49",
"powerpc64-unknown-linux-gnu-0.9.6":
"1309f5489bccfb99084f9686ec20ca1295d7aa976a2c3e6dbeb822564269cbfb",
"powerpc64le-unknown-linux-gnu-0.9.6":
"ff0e02c901869fef9c7434be347959ddca64f585a089ac6485592c91c279c803",
"s390x-unknown-linux-gnu-0.9.6":
"c5ce85e5913c2d34d3332452e01c12e28a45c15ff33c8e8d30572070979230ba",
"x86_64-apple-darwin-0.9.6":
"ec88c095036b25e95391ea202fcc9496d565f4e43152db10785eb9757ea0815d",
"x86_64-pc-windows-msvc-0.9.6":
"51f492e46d967c6a3bb63d5e245e8f454ccf6f5207b6f3c4f1b63a8bec30d954",
"x86_64-unknown-linux-gnu-0.9.6":
"bed850f15d4d5aaaef2b6a131bfecd5b9d7d3191596249d07e576bd9fd37078e",
"x86_64-unknown-linux-musl-0.9.6":
"c725f57aa11d636f1d7f0f378c604d4db29c4dbb5ff0578f9fbbc578364875df",
"aarch64-apple-darwin-0.9.5":
"8c9ae3e71317b67f46752a239f8d1044c60ba9d1748d3146af6ed26679eb697f",
"aarch64-pc-windows-msvc-0.9.5":
"75882eebde374c8f6016f3501c4a769ec1d13cb07798de77187542f9928eba44",
"aarch64-unknown-linux-gnu-0.9.5":
"e637a06d4b8b9f5cced6ad6f1f0a6ec5c1f632db7a3413cac76b61e670409afa",
"aarch64-unknown-linux-musl-0.9.5":
"3c5085b2b410ac9449c72d659ac9812eb75cf2619253e53915507a7fec5267f0",
"arm-unknown-linux-musleabihf-0.9.5":
"d92bd2ca743d7e5cad0c63597f05c5e97f92940e8fe2e9f388185e7c5ebedd31",
"armv7-unknown-linux-gnueabihf-0.9.5":
"61cef37c13e16eb3ac06c46e9d80a8da21a08882d3bd9171a3aaa17f770c23aa",
"armv7-unknown-linux-musleabihf-0.9.5":
"167fc22a232f37d77f1bcb580ebe26f13b57130d656c5970ceadc7f356dcbe5a",
"i686-pc-windows-msvc-0.9.5":
"6ea88e4aab7c4bc3e8c6f580b814d3a5aa05795e10c9b01e467ecfa8fdc58823",
"i686-unknown-linux-gnu-0.9.5":
"3ba63fab8cb42b689543eb560e3301dff320f01f24603cc09552b644266a081d",
"i686-unknown-linux-musl-0.9.5":
"307a970b43dfaa419d2baf340555a3ee78eaa65d940797a6d469ee10da3581a6",
"powerpc64-unknown-linux-gnu-0.9.5":
"9b64bc415661b503b0ae6716bd8203cbf54342c60a8d75ceed5a0b7c48a5a038",
"powerpc64le-unknown-linux-gnu-0.9.5":
"8faeaec0843bf19de8a6e64289ce1dcb4205c82b4a4d189e121137b194c15a5b",
"s390x-unknown-linux-gnu-0.9.5":
"b0506369986af415dde8568d5433f9bc801bed310162221677a6ba076d30f26f",
"x86_64-apple-darwin-0.9.5":
"4b141507ddadaa524af4ca19eff0fe7fe7a50c45e61e217ff6721a6be9796634",
"x86_64-pc-windows-msvc-0.9.5":
"48d096bc53e4c0d7434965c6b4bff911e53250cf8da8866a95b85ed4107259bf",
"x86_64-unknown-linux-gnu-0.9.5":
"88ac7931cffa4e247e465b2aa4ed890af7a134e18a422f5f79041a792aa1559b",
"x86_64-unknown-linux-musl-0.9.5":
"ef73516d8b7b284cd1a6b8ae33cad373516c29ce3e0eb82744d73def5e516832",
"aarch64-apple-darwin-0.9.4":
"48927361be76a93dbded0555d374af3172fc4010b54d97347957f6ab509d7e33",
"aarch64-pc-windows-msvc-0.9.4":
"3c14b5fcfae80d22532f895fec0c84dbc9c387a766368b460c3c96aa62b83562",
"aarch64-unknown-linux-gnu-0.9.4":
"b165463041685c958a978f0f4e78fb4afd9aa7729508c4eeaee703b0411bd6fe",
"aarch64-unknown-linux-musl-0.9.4":
"a9e880d819f290fc602768d25065c1316401229d04f0efaa7440017459968b11",
"arm-unknown-linux-musleabihf-0.9.4":
"0f1d4df0f31f9d874e59668d648126c6bbc796a22c65127dd2a4759de02879f7",
"armv7-unknown-linux-gnueabihf-0.9.4":
"cb8e19d7ad75c7eb136e2b3ae47d576d9f57c86a6e005b84db2da4cdd2d5f3e5",
"armv7-unknown-linux-musleabihf-0.9.4":
"4f2c10151af528935d56ad216125feef7cff4784619f6d62ea749ce037793285",
"i686-pc-windows-msvc-0.9.4":
"dae8a08a794ba0716cd4d48a84a3605f5049cef1a70381906b7ec9731915478a",
"i686-unknown-linux-gnu-0.9.4":
"2aaa7c5d8d6735e09121a9a4d20161cf9c6f6b9ada0aa433c71c33d2ecd22318",
"i686-unknown-linux-musl-0.9.4":
"b1c8d20e12ed41abc38e46f66b397ea6bdcdd59ecae801e81e93eaa239c9f53c",
"powerpc64-unknown-linux-gnu-0.9.4":
"e8a89325ae24e42d0c73780bdf448f25871d3657e9df31aa9547e8c2720e45b9",
"powerpc64le-unknown-linux-gnu-0.9.4":
"f361098f627e1f920b855bd2e709f420c5f107619f8c8533347ae6ad3e43128d",
"s390x-unknown-linux-gnu-0.9.4":
"a2b38dd0babe9af97977e49db895a8ee89bd3ea54d27e28e47d5c7e0f93a32c2",
"x86_64-apple-darwin-0.9.4":
"7abe5ec80ae556fcf445be65825a340df32a8404a28332a988cb97dc65fe60c4",
"x86_64-pc-windows-msvc-0.9.4":
"45f4b700e864520fdc051b0631df4f07a2f65bcdf51fc01ee07769fd8257d092",
"x86_64-unknown-linux-gnu-0.9.4":
"c55b088472c2c6a030bf29f414c6e38028145a32b3c3da2036347f0fc9de6360",
"x86_64-unknown-linux-musl-0.9.4":
"c49af645ed618e660c64cd253892039ff30645e1f1563bc7842918f7cd74d596",
"aarch64-apple-darwin-0.9.3":
"4dccd7ca0def1bdf45acac18cf5f1d1cda0cfd6b039a6db1e87a93fdd10ed530",
"aarch64-pc-windows-msvc-0.9.3":
"3ead3099e552d60f3e85a41fb649c703a5825c22e08ad97261f5a89162463604",
"aarch64-unknown-linux-gnu-0.9.3":
"4de4579604254281758231b5146a5aaa8b24cd7e8be8af66f5aa123efa0f6f49",
"aarch64-unknown-linux-musl-0.9.3":
"77b92ae0497342b6056cfbdb93f4e522b26f28b13fd828e24c7e146eb5b92ee1",
"arm-unknown-linux-musleabihf-0.9.3":
"cdbd37452826930a73c2e453fc7ead25b3180871f9d52c718bc8a4e7ea7bcdb1",
"armv7-unknown-linux-gnueabihf-0.9.3":
"0b3c8beb58b72f06bdc9b87ecc746b44b25e548575a2ddd1b7eb8f35d91eff98",
"armv7-unknown-linux-musleabihf-0.9.3":
"9fcc1eb4da75d0f64f094c3413980118ffe56c97803566634f5ddfd266f7f45c",
"i686-pc-windows-msvc-0.9.3":
"a7a8078d1f1f80d803e009dfa295ecd7445b630aa9fbcbb14fbddffd9cdeadd2",
"i686-unknown-linux-gnu-0.9.3":
"d686e9938a4af8a58b0003ae076e9de3677042af0d7e22e80fa90777a60b4b98",
"i686-unknown-linux-musl-0.9.3":
"87e773939129fde85569e08e92980115548fd74069d31b5bfea97e6e2cb7ec4b",
"powerpc64-unknown-linux-gnu-0.9.3":
"e599a22959b1aa39b2ac33b38fdd81753c0342ea4c3ffbcc0631a9d2778823cb",
"powerpc64le-unknown-linux-gnu-0.9.3":
"d030c0402e6c63ad0777000692b035d96070b628c31ac662f44c1cedda4ed1ab",
"s390x-unknown-linux-gnu-0.9.3":
"2364f7e39d81401198798b430184ac71ba09982017939db6228927be17955572",
"x86_64-apple-darwin-0.9.3":
"48e29e36e0197a81d74aeb7fa8d0b0f789378879e8ba3cf4ce855610b0f0f05a",
"x86_64-pc-windows-msvc-0.9.3":
"60e67f1b9373d5da71af5f9863acf28429367b296665935f2c2b9f8a2b260a92",
"x86_64-unknown-linux-gnu-0.9.3":
"2d6101d78d3321ec2d7891a846caa809fc124b3b791a69160f28d6ba730a36bf",
"x86_64-unknown-linux-musl-0.9.3":
"9928cbbd34e644611479a47a905c35b7132f457669223528a077d277279fe22d",
"aarch64-apple-darwin-0.9.2":
"1ff7226ebc7bf2ead7426c14aad72c13090836d4938ad28c9fc3472dc930a887",
"aarch64-pc-windows-msvc-0.9.2":
"5bed70eea1b95e0aaea3839e7c95cc90037e9e42aa3af7db04536c1ac972b08f",
"aarch64-unknown-linux-gnu-0.9.2":
"ce155623f59209e04ee5874631421684a22673894af2f4138848fa3fc1da85f2",
"aarch64-unknown-linux-musl-0.9.2":
"462b632287b54003a426e19220f53afe9595eabae935949adb9574fe53363b41",
"arm-unknown-linux-musleabihf-0.9.2":
"80c5819587e21d6e4643bf109b1c12b97a6a9d54a86401c49358ef953e97fddb",
"armv7-unknown-linux-gnueabihf-0.9.2":
"733284809b6d135218303aab792c73a8b5628e337b78fb469a105eea9de115db",
"armv7-unknown-linux-musleabihf-0.9.2":
"18374ba7e07ee9df004e9ec5ae459600d8a736b46353bc815b2eeab4425352f5",
"i686-pc-windows-msvc-0.9.2":
"f310eee069cc922b0f18b00cac907114535d72c759ee0dbd221682e11769978c",
"i686-unknown-linux-gnu-0.9.2":
"e594560132cbc5d450a6749c5fb97116833796f84f85ff6e3d672440763e3a6b",
"i686-unknown-linux-musl-0.9.2":
"c8930bd3e414b388a92b6a9d66806bd745c99804c0c099bb257e441f1fc7d208",
"powerpc64-unknown-linux-gnu-0.9.2":
"2ad778fd6b8d3eccecae77538562ed524d4c1591f1730c89e019a08d799869c2",
"powerpc64le-unknown-linux-gnu-0.9.2":
"5bbcbd265390f556c10916fa02761d4fe1bba1b49ec5dbc7eaaca3d3fa7c935c",
"s390x-unknown-linux-gnu-0.9.2":
"761dcd1a3c09d6d8589a30b5457fab8ea9d06fad27add82efd7b34d3feffc280",
"x86_64-apple-darwin-0.9.2":
"01cbdfddf2eac74087f7fa717911418d27f65d98bb8b6ba2c36ce26e98417306",
"x86_64-pc-windows-msvc-0.9.2":
"77d4124dc2ab70a9e1e30114c2028f04618dc78be948b4f6e00a1256c4f349ac",
"x86_64-unknown-linux-gnu-0.9.2":
"ac3758b8b8970af4cbb311ce5095d0b5e42df688d45a1a703639b8fc9dac48fe",
"x86_64-unknown-linux-musl-0.9.2":
"bbe622067d5b915cc476b693520caaff55f6ba9c8ca700e1f03bfd5b43647d31",
"aarch64-apple-darwin-0.9.1": "aarch64-apple-darwin-0.9.1":
"fedcadac96deda2ed1a1ebe10985c9489e97768164e15a2f473830d97c760745", "fedcadac96deda2ed1a1ebe10985c9489e97768164e15a2f473830d97c760745",
"aarch64-pc-windows-msvc-0.9.1": "aarch64-pc-windows-msvc-0.9.1":
+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 { 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
View File
@@ -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);
} }
+2 -6
View File
@@ -1,20 +1,16 @@
import { Octokit } from "@octokit/core"; import * as github from "@actions/github";
import * as core from "@actions/core"; import * as core from "@actions/core";
import { paginateRest } from "@octokit/plugin-paginate-rest";
import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
import { OWNER, REPO } from "./utils/constants"; import { OWNER, REPO } from "./utils/constants";
import * as semver from "semver"; import * as semver from "semver";
import { updateChecksums } from "./download/checksum/update-known-checksums"; import { updateChecksums } from "./download/checksum/update-known-checksums";
const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods);
async function run(): Promise<void> { async function run(): Promise<void> {
const checksumFilePath = process.argv.slice(2)[0]; const checksumFilePath = process.argv.slice(2)[0];
const github_token = process.argv.slice(2)[1]; const github_token = process.argv.slice(2)[1];
const octokit = new PaginatingOctokit({ auth: github_token }); const octokit = github.getOctokit(github_token);
const response = await octokit.paginate(octokit.rest.repos.listReleases, { const response = await octokit.paginate(octokit.rest.repos.listReleases, {
owner: OWNER, owner: OWNER,
+27 -47
View File
@@ -2,12 +2,34 @@ import * as fs from "node:fs";
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as toml from "smol-toml"; import * as toml from "smol-toml";
function getRuffVersionFromAllDependencies( export function getRuffVersionFromPyproject(
allDependencies: string[], filePath: string,
): string | undefined { ): string | undefined {
const ruffVersionDefinition = allDependencies.find((dep: string) => if (!fs.existsSync(filePath)) {
dep.startsWith("ruff"), core.warning(`Could not find file: ${filePath}`);
); return undefined;
}
const pyprojectContent = fs.readFileSync(filePath, "utf-8");
let pyproject:
| {
project?: { dependencies?: string[] };
"dependency-groups"?: { dev?: string[] };
}
| undefined;
try {
pyproject = toml.parse(pyprojectContent);
} catch (err) {
const message = (err as Error).message;
core.warning(`Error while parsing ${filePath}: ${message}`);
return undefined;
}
const dependencies: string[] = pyproject?.project?.dependencies || [];
const devDependencies: string[] = pyproject?.["dependency-groups"]?.dev || [];
const ruffVersionDefinition =
dependencies.find((dep: string) => dep.startsWith("ruff")) ||
devDependencies.find((dep: string) => dep.startsWith("ruff"));
if (ruffVersionDefinition) { if (ruffVersionDefinition) {
const ruffVersion = ruffVersionDefinition const ruffVersion = ruffVersionDefinition
@@ -22,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;
}
}