Compare commits

...
Author SHA1 Message Date
copilot-swe-agent[bot]andeifinger 12172e3cfe Add reliability documentation and final improvements
Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-10-14 08:59:04 +00:00
copilot-swe-agent[bot]andeifinger 0e7e01552a Add retry mechanisms for network operations to fix Connect Timeout Error
Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-10-14 08:56:51 +00:00
copilot-swe-agent[bot] 03f689c6c5 Initial plan 2025-10-14 08:47:43 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5ad29210b1 Bump eifinger/actionlint-action from 1.9.1 to 1.9.2 (#247)
Bumps
[eifinger/actionlint-action](https://github.com/eifinger/actionlint-action)
from 1.9.1 to 1.9.2.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eifinger/actionlint-action/commit/03ff1f78c0670b71017616a37170f327df932030"><code>03ff1f7</code></a>
Bump actions/checkout to v5 (<a
href="https://redirect.github.com/eifinger/actionlint-action/issues/26">#26</a>)</li>
<li><a
href="https://github.com/eifinger/actionlint-action/commit/5f8fad542a78b6a7b983e6568af5cc903ef40a20"><code>5f8fad5</code></a>
Replace haya14busa/action-update-semver</li>
<li><a
href="https://github.com/eifinger/actionlint-action/commit/04e640ab2882a7cdb3d995db9a91003e0c0aa2a9"><code>04e640a</code></a>
set default actionlint version to 1.7.8</li>
<li>See full diff in <a
href="https://github.com/eifinger/actionlint-action/compare/23c85443d840cd73bbecb9cddfc933cc21649a38...03ff1f78c0670b71017616a37170f327df932030">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eifinger/actionlint-action&package-manager=github_actions&previous-version=1.9.1&new-version=1.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 05:46:04 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e46bd63c5f Bump actions/setup-node from 4.4.0 to 6.0.0 (#249)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from
4.4.0 to 6.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<p><strong>Breaking Changes</strong></p>
<ul>
<li>Limit automatic caching to npm, update workflows and documentation
by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1374">actions/setup-node#1374</a></li>
</ul>
<p><strong>Dependency Upgrades</strong></p>
<ul>
<li>Upgrade ts-jest from 29.1.2 to 29.4.1 and document breaking changes
in v5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1336">#1336</a></li>
<li>Upgrade prettier from 2.8.8 to 3.6.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1334">#1334</a></li>
<li>Upgrade actions/publish-action from 0.3.0 to 0.4.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1362">#1362</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v5...v6.0.0">https://github.com/actions/setup-node/compare/v5...v6.0.0</a></p>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<h3>Breaking Changes</h3>
<ul>
<li>Enhance caching in setup-node with automatic package manager
detection by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1348">actions/setup-node#1348</a></li>
</ul>
<p>This update, introduces automatic caching when a valid
<code>packageManager</code> field is present in your
<code>package.json</code>. This aims to improve workflow performance and
make dependency management more seamless.
To disable this automatic caching, set <code>package-manager-cache:
false</code></p>
<pre lang="yaml"><code>steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
  with:
    package-manager-cache: false
</code></pre>
<ul>
<li>Upgrade action to use node24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1325">actions/setup-node#1325</a></li>
</ul>
<p>Make sure your runner is on version v2.327.1 or later to ensure
compatibility with this release. <a
href="https://github.com/actions/runner/releases/tag/v2.327.1">See
Release Notes</a></p>
<h3>Dependency Upgrades</h3>
<ul>
<li>Upgrade <code>@​octokit/request-error</code> and
<code>@​actions/github</code> by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1227">actions/setup-node#1227</a></li>
<li>Upgrade uuid from 9.0.1 to 11.1.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1273">actions/setup-node#1273</a></li>
<li>Upgrade undici from 5.28.5 to 5.29.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1295">actions/setup-node#1295</a></li>
<li>Upgrade form-data to bring in fix for critical vulnerability by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1332">actions/setup-node#1332</a></li>
<li>Upgrade actions/checkout from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/actions/setup-node/pull/1345">actions/setup-node#1345</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1348">actions/setup-node#1348</a></li>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1325">actions/setup-node#1325</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v4...v5.0.0">https://github.com/actions/setup-node/compare/v4...v5.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/setup-node/commit/2028fbc5c25fe9cf00d9f06a71cc4710d4507903"><code>2028fbc</code></a>
Limit automatic caching to npm, update workflows and documentation (<a
href="https://redirect.github.com/actions/setup-node/issues/1374">#1374</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/13427813f706a0f6c9b74603b31103c40ab1c35a"><code>1342781</code></a>
Bump actions/publish-action from 0.3.0 to 0.4.0 (<a
href="https://redirect.github.com/actions/setup-node/issues/1362">#1362</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/89d709d423dc495668cd762a18dd4a070611be3f"><code>89d709d</code></a>
Bump prettier from 2.8.8 to 3.6.2 (<a
href="https://redirect.github.com/actions/setup-node/issues/1334">#1334</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/cd2651c46231bc0d6f48d6b34433b845331235fe"><code>cd2651c</code></a>
Bump ts-jest from 29.1.2 to 29.4.1 (<a
href="https://redirect.github.com/actions/setup-node/issues/1336">#1336</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/a0853c24544627f65ddf259abe73b1d18a591444"><code>a0853c2</code></a>
Bump actions/checkout from 4 to 5 (<a
href="https://redirect.github.com/actions/setup-node/issues/1345">#1345</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/b7234cc9fe124f0f4932554b4e5284543083ae7b"><code>b7234cc</code></a>
Upgrade action to use node24 (<a
href="https://redirect.github.com/actions/setup-node/issues/1325">#1325</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/d7a11313b581b306c961b506cfc8971208bb03f6"><code>d7a1131</code></a>
Enhance caching in setup-node with automatic package manager detection
(<a
href="https://redirect.github.com/actions/setup-node/issues/1348">#1348</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/5e2628c959b9ade56971c0afcebbe5332d44b398"><code>5e2628c</code></a>
Bumps form-data (<a
href="https://redirect.github.com/actions/setup-node/issues/1332">#1332</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/65beceff8e91358525397bdce9103d999507ab03"><code>65becef</code></a>
Bump undici from 5.28.5 to 5.29.0 (<a
href="https://redirect.github.com/actions/setup-node/issues/1295">#1295</a>)</li>
<li><a
href="https://github.com/actions/setup-node/commit/7e24a656e1c7a0d6f3eaef8d8e84ae379a5b035b"><code>7e24a65</code></a>
Bump uuid from 9.0.1 to 11.1.0 (<a
href="https://redirect.github.com/actions/setup-node/issues/1273">#1273</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/setup-node/compare/49933ea5288caeca8642d1e84afbd3f7d6820020...2028fbc5c25fe9cf00d9f06a71cc4710d4507903">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=4.4.0&new-version=6.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 07:43:56 +02:00
bfff570296 chore: update known checksums for 0.13.3/0.14.0 (#239)
chore: update known checksums for 0.14.0

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-10-08 05:37:47 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6576144cee Bump github/codeql-action from 3.29.11 to 3.30.5 (#234)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 3.29.11 to 3.30.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v3.30.5</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.5/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.4</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
<li>We added support for reducing the size of dependency caches for Java
analyses, which will reduce cache usage and speed up workflows. This
will be enabled automatically at a later time. <a
href="https://redirect.github.com/github/codeql-action/pull/3107">#3107</a></li>
<li>You can now run the latest CodeQL nightly bundle by passing
<code>tools: nightly</code> to the <code>init</code> action. In general,
the nightly bundle is unstable and we only recommend running it when
directed by GitHub staff. <a
href="https://redirect.github.com/github/codeql-action/pull/3130">#3130</a></li>
<li>Update default CodeQL bundle version to 2.23.1. <a
href="https://redirect.github.com/github/codeql-action/pull/3118">#3118</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.4/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.3</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.3 - 10 Sep 2025</h2>
<p>No user facing changes.</p>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.3/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.2</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.30.2 - 09 Sep 2025</h2>
<ul>
<li>Fixed a bug which could cause language autodetection to fail. <a
href="https://redirect.github.com/github/codeql-action/pull/3084">#3084</a></li>
<li>Experimental: The <code>quality-queries</code> input that was added
in <code>3.29.2</code> as part of an internal experiment is now
deprecated and will be removed in an upcoming version of the CodeQL
Action. It has been superseded by a new <code>analysis-kinds</code>
input, which is part of the same internal experiment. Do not use this in
production as it is subject to change at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3064">#3064</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.30.2/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.30.1</h2>
<h1>CodeQL Action Changelog</h1>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>3.30.5 - 26 Sep 2025</h2>
<ul>
<li>We fixed a bug that was introduced in <code>3.30.4</code> with
<code>upload-sarif</code> which resulted in files without a
<code>.sarif</code> extension not getting uploaded. <a
href="https://redirect.github.com/github/codeql-action/pull/3160">#3160</a></li>
</ul>
<h2>3.30.4 - 25 Sep 2025</h2>
<ul>
<li>We have improved the CodeQL Action's ability to validate that the
workflow it is used in does not use different versions of the CodeQL
Action for different workflow steps. Mixing different versions of the
CodeQL Action in the same workflow is unsupported and can lead to
unpredictable results. A warning will now be emitted from the
<code>codeql-action/init</code> step if different versions of the CodeQL
Action are detected in the workflow file. Additionally, an error will
now be thrown by the other CodeQL Action steps if they load a
configuration file that was generated by a different version of the
<code>codeql-action/init</code> step. <a
href="https://redirect.github.com/github/codeql-action/pull/3099">#3099</a>
and <a
href="https://redirect.github.com/github/codeql-action/pull/3100">#3100</a></li>
<li>We added support for reducing the size of dependency caches for Java
analyses, which will reduce cache usage and speed up workflows. This
will be enabled automatically at a later time. <a
href="https://redirect.github.com/github/codeql-action/pull/3107">#3107</a></li>
<li>You can now run the latest CodeQL nightly bundle by passing
<code>tools: nightly</code> to the <code>init</code> action. In general,
the nightly bundle is unstable and we only recommend running it when
directed by GitHub staff. <a
href="https://redirect.github.com/github/codeql-action/pull/3130">#3130</a></li>
<li>Update default CodeQL bundle version to 2.23.1. <a
href="https://redirect.github.com/github/codeql-action/pull/3118">#3118</a></li>
</ul>
<h2>3.30.3 - 10 Sep 2025</h2>
<p>No user facing changes.</p>
<h2>3.30.2 - 09 Sep 2025</h2>
<ul>
<li>Fixed a bug which could cause language autodetection to fail. <a
href="https://redirect.github.com/github/codeql-action/pull/3084">#3084</a></li>
<li>Experimental: The <code>quality-queries</code> input that was added
in <code>3.29.2</code> as part of an internal experiment is now
deprecated and will be removed in an upcoming version of the CodeQL
Action. It has been superseded by a new <code>analysis-kinds</code>
input, which is part of the same internal experiment. Do not use this in
production as it is subject to change at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/3064">#3064</a></li>
</ul>
<h2>3.30.1 - 05 Sep 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.23.0. <a
href="https://redirect.github.com/github/codeql-action/pull/3077">#3077</a></li>
</ul>
<h2>3.30.0 - 01 Sep 2025</h2>
<ul>
<li>Reduce the size of the CodeQL Action, speeding up workflows by
approximately 4 seconds. <a
href="https://redirect.github.com/github/codeql-action/pull/3054">#3054</a></li>
</ul>
<h2>3.29.11 - 21 Aug 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.22.4. <a
href="https://redirect.github.com/github/codeql-action/pull/3044">#3044</a></li>
</ul>
<h2>3.29.10 - 18 Aug 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.9 - 12 Aug 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.8 - 08 Aug 2025</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/codeql-action/commit/3599b3baa15b485a2e49ef411a7a4bb2452e7f93"><code>3599b3b</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3161">#3161</a>
from github/update-v3.30.5-0a67bd46a</li>
<li><a
href="https://github.com/github/codeql-action/commit/2ca0085e584affd600efbd3930bc90e48dbacb46"><code>2ca0085</code></a>
Update changelog for v3.30.5</li>
<li><a
href="https://github.com/github/codeql-action/commit/0a67bd46a0f456ddad9e4b732137f519280275db"><code>0a67bd4</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3160">#3160</a>
from github/mbg/fix/upload-sarif</li>
<li><a
href="https://github.com/github/codeql-action/commit/8e34f2f3bf0f3f0b192913b0e0f234372329699b"><code>8e34f2f</code></a>
Add changelog</li>
<li><a
href="https://github.com/github/codeql-action/commit/0b7fc5664842c1a6bb23c4ef64b85438afcb76c5"><code>0b7fc56</code></a>
Fix <code>upload-sarif</code> not uploading non-<code>.sarif</code>
files</li>
<li><a
href="https://github.com/github/codeql-action/commit/94a9b7a1101a1320dcadcbda5e7fd9a1e6abaaca"><code>94a9b7a</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3155">#3155</a>
from github/mbg/node/no-install-in-actions</li>
<li><a
href="https://github.com/github/codeql-action/commit/a0ae9ba2026911d58db9df06e6b074d8ef6c24c9"><code>a0ae9ba</code></a>
Log what the script is doing</li>
<li><a
href="https://github.com/github/codeql-action/commit/b27a8ef21f72b5c541232d50400874a3f0a374b9"><code>b27a8ef</code></a>
Exit if running in an Actions workflow</li>
<li><a
href="https://github.com/github/codeql-action/commit/65925679a36e83b45b5f1673869dabf891669742"><code>6592567</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3139">#3139</a>
from github/henrymercer/fix-log-message</li>
<li><a
href="https://github.com/github/codeql-action/commit/fa64a7dee67e389b18445aa15d26426512d9ab97"><code>fa64a7d</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3154">#3154</a>
from github/mbg/node/check-up-to-date-deps</li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/3c3833e0f8c1c83d449a7478aa59c036a9165498...3599b3baa15b485a2e49ef411a7a4bb2452e7f93">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=3.29.11&new-version=3.30.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-02 21:54:51 +02:00
7af5f13130 chore: update known checksums for 0.13.2 (#232)
chore: update known checksums for 0.13.2

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-10-01 05:26:52 +00:00
Kevin StillhammerandGitHub c48d3eaf66 Don't assume all test passed if cancelled (#236) 2025-09-30 18:00:56 +00:00
f18f95d449 chore: update known checksums for 0.13.1 (#230)
chore: update known checksums for 0.13.1

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-09-19 06:52:42 +00:00
15a82c0309 chore: update known checksums for 0.13.0 (#223)
chore: update known checksums for 0.13.0

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-09-11 08:26:39 +00:00
5071c37a33 chore: update known checksums for 0.12.12 (#218)
chore: update known checksums for 0.12.12

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-09-05 09:35:58 +02:00
c397d0cf88 chore: update known checksums for 0.12.11 (#214)
chore: update known checksums for 0.12.11

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-08-29 06:12:32 +00:00
16fb2a8927 chore: update known checksums for 0.12.10 (#210)
chore: update known checksums for 0.12.10

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-08-24 07:55:46 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
421486e990 Bump github/codeql-action from 3.29.9 to 3.29.11 (#211)
Bumps [github/codeql-action](https://github.com/github/codeql-action)
from 3.29.9 to 3.29.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/releases">github/codeql-action's
releases</a>.</em></p>
<blockquote>
<h2>v3.29.11</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.29.11 - 21 Aug 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.22.4. <a
href="https://redirect.github.com/github/codeql-action/pull/3044">#3044</a></li>
</ul>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.29.11/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
<h2>v3.29.10</h2>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>3.29.10 - 18 Aug 2025</h2>
<p>No user facing changes.</p>
<p>See the full <a
href="https://github.com/github/codeql-action/blob/v3.29.10/CHANGELOG.md">CHANGELOG.md</a>
for more information.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's
changelog</a>.</em></p>
<blockquote>
<h1>CodeQL Action Changelog</h1>
<p>See the <a
href="https://github.com/github/codeql-action/releases">releases
page</a> for the relevant changes to the CodeQL CLI and language
packs.</p>
<h2>[UNRELEASED]</h2>
<p>No user facing changes.</p>
<h2>3.29.11 - 21 Aug 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.22.4. <a
href="https://redirect.github.com/github/codeql-action/pull/3044">#3044</a></li>
</ul>
<h2>3.29.10 - 18 Aug 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.9 - 12 Aug 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.8 - 08 Aug 2025</h2>
<ul>
<li>Fix an issue where the Action would autodetect unsupported languages
such as HTML. <a
href="https://redirect.github.com/github/codeql-action/pull/3015">#3015</a></li>
</ul>
<h2>3.29.7 - 07 Aug 2025</h2>
<p>This release rolls back 3.29.6 to address issues with language
autodetection. It is identical to 3.29.5.</p>
<h2>3.29.6 - 07 Aug 2025</h2>
<ul>
<li>The <code>cleanup-level</code> input to the <code>analyze</code>
Action is now deprecated. The CodeQL Action has written a limited amount
of intermediate results to the database since version 2.2.5, and now
automatically manages cleanup. <a
href="https://redirect.github.com/github/codeql-action/pull/2999">#2999</a></li>
<li>Update default CodeQL bundle version to 2.22.3. <a
href="https://redirect.github.com/github/codeql-action/pull/3000">#3000</a></li>
</ul>
<h2>3.29.5 - 29 Jul 2025</h2>
<ul>
<li>Update default CodeQL bundle version to 2.22.2. <a
href="https://redirect.github.com/github/codeql-action/pull/2986">#2986</a></li>
</ul>
<h2>3.29.4 - 23 Jul 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.3 - 21 Jul 2025</h2>
<p>No user facing changes.</p>
<h2>3.29.2 - 30 Jun 2025</h2>
<ul>
<li>Experimental: When the <code>quality-queries</code> input for the
<code>init</code> action is provided with an argument, separate
<code>.quality.sarif</code> files are produced and uploaded for each
language with the results of the specified queries. Do not use this in
production as it is part of an internal experiment and subject to change
at any time. <a
href="https://redirect.github.com/github/codeql-action/pull/2935">#2935</a></li>
</ul>
<h2>3.29.1 - 27 Jun 2025</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/github/codeql-action/commit/3c3833e0f8c1c83d449a7478aa59c036a9165498"><code>3c3833e</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3052">#3052</a>
from github/update-v3.29.11-14148a433</li>
<li><a
href="https://github.com/github/codeql-action/commit/8c4bfbd99ba6ef652eca12461ad7618142e00679"><code>8c4bfbd</code></a>
Update changelog for v3.29.11</li>
<li><a
href="https://github.com/github/codeql-action/commit/14148a433d789d9b6c7dadb56d8e3f8ad1e59605"><code>14148a4</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3044">#3044</a>
from github/update-bundle/codeql-bundle-v2.22.4</li>
<li><a
href="https://github.com/github/codeql-action/commit/71b2cb38a1e682cb9b2453a5f1400eef870a37df"><code>71b2cb3</code></a>
Add changelog note</li>
<li><a
href="https://github.com/github/codeql-action/commit/2bf78254cceec27aab20b1623ba68c63c6eb85c6"><code>2bf7825</code></a>
Update default bundle to codeql-bundle-v2.22.4</li>
<li><a
href="https://github.com/github/codeql-action/commit/db69a5182d331d562e511302ae3c9aafd5fada6c"><code>db69a51</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3049">#3049</a>
from github/update-supported-enterprise-server-versions</li>
<li><a
href="https://github.com/github/codeql-action/commit/a68d47bfa574c69f3de7d6484cf28a9c55ff7287"><code>a68d47b</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3050">#3050</a>
from github/henrymercer/init-not-called-config-error</li>
<li><a
href="https://github.com/github/codeql-action/commit/e496ff959372e828f30b1518fd22cb76170cf5db"><code>e496ff9</code></a>
Make &quot;init not called&quot; a configuration error</li>
<li><a
href="https://github.com/github/codeql-action/commit/fd2ea72d34cdf8157d85d93decf87671705166a3"><code>fd2ea72</code></a>
Update supported GitHub Enterprise Server versions</li>
<li><a
href="https://github.com/github/codeql-action/commit/6dee5bc9c165ca206a70f4e3d18271971cf6ff26"><code>6dee5bc</code></a>
Merge pull request <a
href="https://redirect.github.com/github/codeql-action/issues/3045">#3045</a>
from github/dependabot/npm_and_yarn/npm-5b4171dd16</li>
<li>Additional commits viewable in <a
href="https://github.com/github/codeql-action/compare/df559355d593797519d70b90fc8edd5db049e7a2...3c3833e0f8c1c83d449a7478aa59c036a9165498">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github/codeql-action&package-manager=github_actions&previous-version=3.29.9&new-version=3.29.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 20:05:00 +02:00
Kevin StillhammerandGitHub 6d8460e4e6 Don't warn on no version found in pyproject.toml (#209) 2025-08-21 09:31:37 +00:00
William WoodruffandGitHub 74b1866cee chore(ci): address all lint findings (#206)
This addresses a variety of findings, mostly around overly broad default
permissions and credential sharing.

I've also run [pinact](https://github.com/suzuki-shunsuke/pinact) to
auto-hash-pin all action references -- Dependabot will still update
these, but having them hash-pinned will seal off any undesirable
tag/branch mutability 🙂

(99% of these findings were done automatically with `zizmor --fix=all`,
followed by verifying the results. I haven't added a
[zizmor](https://docs.zizmor.sh) workflow as part of this PR, but I'd be
happy to if desired.)

---------

Signed-off-by: William Woodruff <william@astral.sh>
2025-08-20 00:07:37 +02:00
fbc7e4525b chore: update known checksums for 0.12.9 (#204)
chore: update known checksums for 0.12.9

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-08-15 07:24:07 +00:00
Kevin StillhammerandGitHub 57714a7c8a bump biome to 2.1.4 (#201) 2025-08-12 19:53:24 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f46fd74e35 Bump actions/checkout from 4 to 5 (#197)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to
5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
<li>Prepare v5.0.0 release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2238">actions/checkout#2238</a></li>
</ul>
<h2>⚠️ Minimum Compatible Runner Version</h2>
<p><strong>v2.327.1</strong><br />
<a
href="https://github.com/actions/runner/releases/tag/v2.327.1">Release
Notes</a></p>
<p>Make sure your runner is updated to this version or newer to use this
release.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4...v5.0.0">https://github.com/actions/checkout/compare/v4...v5.0.0</a></p>
<h2>v4.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
<li>Prepare release v4.3.0 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2237">actions/checkout#2237</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/motss"><code>@​motss</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li><a href="https://github.com/mouismail"><code>@​mouismail</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li><a href="https://github.com/benwells"><code>@​benwells</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li><a href="https://github.com/nebuk89"><code>@​nebuk89</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4...v4.3.0">https://github.com/actions/checkout/compare/v4...v4.3.0</a></p>
<h2>v4.2.2</h2>
<h2>What's Changed</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4.2.1...v4.2.2">https://github.com/actions/checkout/compare/v4.2.1...v4.2.2</a></p>
<h2>v4.2.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Jcambass"><code>@​Jcambass</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/checkout/pull/1919">actions/checkout#1919</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v4.2.0...v4.2.1">https://github.com/actions/checkout/compare/v4.2.0...v4.2.1</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>V5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>V4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable
version. by <a href="https://github.com/jww3"><code>@​jww3</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkout#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkout#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkout#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkout#1695</a></li>
<li>README: Suggest <code>user.email</code> to be
<code>41898282+github-actions[bot]@users.noreply.github.com</code> by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1707">actions/checkout#1707</a></li>
</ul>
<h2>v4.1.4</h2>
<ul>
<li>Disable <code>extensions.worktreeConfig</code> when disabling
<code>sparse-checkout</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1692">actions/checkout#1692</a></li>
<li>Add dependabot config by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1688">actions/checkout#1688</a></li>
<li>Bump the minor-actions-dependencies group with 2 updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1693">actions/checkout#1693</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1643">actions/checkout#1643</a></li>
</ul>
<h2>v4.1.3</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/08c6903cd8c0fde910a37f88322edcfb5dd907a8"><code>08c6903</code></a>
Prepare v5.0.0 release (<a
href="https://redirect.github.com/actions/checkout/issues/2238">#2238</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/9f265659d3bb64ab1440b03b12f4d47a24320917"><code>9f26565</code></a>
Update actions checkout to use node 24 (<a
href="https://redirect.github.com/actions/checkout/issues/2226">#2226</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 19:23:04 +00:00
Kevin StillhammerandGitHub 6afcb280fd Bump dependencies (#200) 2025-08-12 21:18:51 +02:00
Kevin StillhammerandGitHub 232c1eca56 Improve error messages on GitHub API errors (#199)
Fixes: #198
2025-08-12 19:13:17 +00:00
6b45781b82 chore: update known checksums for 0.12.8 (#190)
chore: update known checksums for 0.12.8

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-08-10 15:32:56 +00:00
a099b88c70 chore: update known checksums for 0.12.5 (#189)
chore: update known checksums for 0.12.5

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-07-25 05:24:40 +00:00
b63c059bc7 chore: update known checksums for 0.12.4 (#185)
chore: update known checksums for 0.12.4

Co-authored-by: eifinger <1481961+eifinger@users.noreply.github.com>
2025-07-17 18:30:23 +00:00
24 changed files with 2090 additions and 272 deletions
+4 -4
View File
@@ -4,12 +4,12 @@
"owner": "ruff-check", "owner": "ruff-check",
"pattern": [ "pattern": [
{ {
"regexp": "^Error: (.*):(\\d+):(\\d+): (\\w+) (.*)$", "code": 4,
"column": 3,
"file": 1, "file": 1,
"line": 2, "line": 2,
"column": 3, "message": 5,
"code": 4, "regexp": "^Error: (.*):(\\d+):(\\d+): (\\w+) (.*)$"
"message": 5
} }
] ]
} }
+2 -2
View File
@@ -4,9 +4,9 @@
"owner": "ruff-format", "owner": "ruff-format",
"pattern": [ "pattern": [
{ {
"regexp": "^(Would reformat):\\s*(.+)$", "file": 2,
"message": 1, "message": 1,
"file": 2 "regexp": "^(Would reformat):\\s*(.+)$"
} }
] ]
} }
+6 -4
View File
@@ -39,11 +39,13 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v3 uses: github/codeql-action/init@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
source-root: src source-root: src
@@ -55,7 +57,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v3 uses: github/codeql-action/autobuild@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
# ️ Command-line programs to run using the OS shell. # ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@@ -69,4 +71,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3 uses: github/codeql-action/analyze@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.30.5
+1 -1
View File
@@ -17,6 +17,6 @@ jobs:
pull-requests: read pull-requests: read
steps: steps:
- name: 🚀 Run Release Drafter - name: 🚀 Run Release Drafter
uses: release-drafter/release-drafter@v6.1.0 uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+72 -26
View File
@@ -10,14 +10,18 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
permissions: {}
jobs: jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Actionlint - name: Actionlint
uses: eifinger/actionlint-action@23c85443d840cd73bbecb9cddfc933cc21649a38 # v1.9.1 uses: eifinger/actionlint-action@03ff1f78c0670b71017616a37170f327df932030 # v1.9.2
- uses: actions/setup-node@v4 - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with: with:
node-version: "20" node-version: "20"
- run: | - run: |
@@ -38,7 +42,9 @@ jobs:
matrix: matrix:
os: [ubuntu-latest, macos-latest, macos-14, windows-latest] os: [ubuntu-latest, macos-latest, macos-14, windows-latest]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use latest version - name: Use latest version
uses: ./ uses: ./
with: with:
@@ -51,7 +57,9 @@ jobs:
ruff-version: ["0.1.7", "0.1.8", "0.4.7", "0.4.10", "0.7", "0.7.x", ">=0.7.0"] ruff-version: ["0.1.7", "0.1.8", "0.4.7", "0.4.10", "0.7", "0.7.x", ">=0.7.0"]
os: [ ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-14, windows-latest ] os: [ ubuntu-latest, ubuntu-24.04-arm, macos-latest, macos-14, windows-latest ]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use version ${{ matrix.ruff-version }} - name: Use version ${{ matrix.ruff-version }}
uses: ./ uses: ./
with: with:
@@ -60,7 +68,9 @@ jobs:
test-unsupported-version: test-unsupported-version:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Try install old version - name: Try install old version
id: install id: install
continue-on-error: true continue-on-error: true
@@ -70,13 +80,17 @@ jobs:
src: __tests__/fixtures/python-project src: __tests__/fixtures/python-project
- name: Check if the action failed - name: Check if the action failed
run: | run: |
if [ ${{ steps.install.outcome }} == "success" ]; then if [ "${INSTALL_OUTCOME}" == "success" ]; then
exit 1 exit 1
fi fi
env:
INSTALL_OUTCOME: ${{ steps.install.outcome }}
test-version-from-version-file-pyproject: test-version-from-version-file-pyproject:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use version from pyproject.toml - name: Use version from pyproject.toml
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -93,7 +107,9 @@ jobs:
test-default-version-from-pyproject: test-default-version-from-pyproject:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version from pyproject.toml - name: Use default version from pyproject.toml
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -109,7 +125,9 @@ jobs:
test-default-version-from-pyproject-dev-group: test-default-version-from-pyproject-dev-group:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version from pyproject.toml dev group - name: Use default version from pyproject.toml dev group
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -126,7 +144,9 @@ jobs:
test-default-version-from-pyproject-dependency-groups: test-default-version-from-pyproject-dependency-groups:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version from pyproject.toml dependency groups - name: Use default version from pyproject.toml dependency groups
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -143,7 +163,9 @@ jobs:
test-default-version-from-pyproject-poetry-groups: test-default-version-from-pyproject-poetry-groups:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version from pyproject.toml poetry group dependencies - name: Use default version from pyproject.toml poetry group dependencies
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -160,7 +182,9 @@ jobs:
test-default-version-from-pyproject-poetry: test-default-version-from-pyproject-poetry:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version from pyproject.toml poetry dependencies - name: Use default version from pyproject.toml poetry dependencies
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -177,7 +201,9 @@ jobs:
test-default-version-from-pyproject-optional-dependencies: test-default-version-from-pyproject-optional-dependencies:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version from pyproject.toml optional dependencies - name: Use default version from pyproject.toml optional dependencies
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -194,7 +220,9 @@ jobs:
test-default-version-from-requirements: test-default-version-from-requirements:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version from requirements.txt - name: Use default version from requirements.txt
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -211,7 +239,9 @@ jobs:
test-semver-range: test-semver-range:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use version 0.7 - name: Use version 0.7
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -228,7 +258,9 @@ jobs:
test-pep440-version-specifier: test-pep440-version-specifier:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Install version 0.9.10 - name: Install version 0.9.10
id: ruff-action id: ruff-action
uses: ./ uses: ./
@@ -252,7 +284,9 @@ jobs:
- os: macos-latest - os: macos-latest
checksum: "af9583bff12afbca5d5670334e0187dd60c4d91bc71317d1b2dde70cb1200ba9" checksum: "af9583bff12afbca5d5670334e0187dd60c4d91bc71317d1b2dde70cb1200ba9"
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Checksum matches expected - name: Checksum matches expected
uses: ./ uses: ./
with: with:
@@ -262,7 +296,9 @@ jobs:
test-with-explicit-token: test-with-explicit-token:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use default version - name: Use default version
uses: ./ uses: ./
with: with:
@@ -274,7 +310,9 @@ jobs:
matrix: matrix:
os: [ubuntu-latest, windows-latest] os: [ubuntu-latest, windows-latest]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use args - name: Use args
uses: ./ uses: ./
with: with:
@@ -283,7 +321,9 @@ jobs:
test-failure: test-failure:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Format should fail - name: Format should fail
id: format-should-fail id: format-should-fail
continue-on-error: true continue-on-error: true
@@ -293,9 +333,11 @@ jobs:
src: __tests__/fixtures/malformed-python-project src: __tests__/fixtures/malformed-python-project
- name: Check if the action failed - name: Check if the action failed
run: | run: |
if [ ${{ steps.format-should-fail.outcome }} == "success" ]; then if [ "${FORMAT_SHOULD_FAIL_OUTCOME}" == "success" ]; then
exit 1 exit 1
fi fi
env:
FORMAT_SHOULD_FAIL_OUTCOME: ${{ steps.format-should-fail.outcome }}
- name: Check should fail - name: Check should fail
id: check-should-fail id: check-should-fail
continue-on-error: true continue-on-error: true
@@ -304,16 +346,20 @@ jobs:
src: __tests__/fixtures/malformed-python-project src: __tests__/fixtures/malformed-python-project
- name: Check if the action failed - name: Check if the action failed
run: | run: |
if [ ${{ steps.check-should-fail.outcome }} == "success" ]; then if [ "${CHECK_SHOULD_FAIL_OUTCOME}" == "success" ]; then
exit 1 exit 1
fi fi
env:
CHECK_SHOULD_FAIL_OUTCOME: ${{ steps.check-should-fail.outcome }}
test-multiple-src: test-multiple-src:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ ubuntu-latest, windows-latest ] os: [ ubuntu-latest, windows-latest ]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Use args - name: Use args
uses: ./ uses: ./
with: with:
@@ -348,6 +394,6 @@ jobs:
steps: steps:
- name: All tests passed - name: All tests passed
run: | run: |
echo "All jobs passed: ${{ !contains(needs.*.result, 'failure') }}" echo "All jobs passed: ${{ !(contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) }}"
# shellcheck disable=SC2242 # shellcheck disable=SC2242
exit ${{ contains(needs.*.result, 'failure') && 1 || 0 }} exit ${{ (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')) && 1 || 0 }}
+4 -2
View File
@@ -11,8 +11,10 @@ jobs:
contents: write contents: write
pull-requests: write pull-requests: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/setup-node@v4 with:
persist-credentials: false
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
with: with:
node-version: "20" node-version: "20"
- name: Update known checksums - name: Update known checksums
@@ -16,7 +16,9 @@ jobs:
permissions: permissions:
contents: write contents: write
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Update Major Minor Tags - name: Update Major Minor Tags
run: | run: |
set -x set -x
+3
View File
@@ -0,0 +1,3 @@
{
"recommendations": ["biomejs.biome"]
}
+16
View File
@@ -0,0 +1,16 @@
{
"editor.codeActionsOnSave": {
"source.action.useSortedAttributes.biome": "explicit",
"source.action.useSortedKeys.biome": "explicit",
"source.fixAll.biome": "explicit"
},
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true,
"explorer.excludeGitIgnore": false,
"search.defaultViewMode": "list",
"search.exclude": {
"**/node_modules": true
},
"typescript.enablePromptUseWorkspaceTsdk": true,
"typescript.tsdk": "node_modules/typescript/lib"
}
+9
View File
@@ -186,6 +186,15 @@ are not sufficient, you can provide a custom GitHub token with the necessary per
github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} github-token: ${{ secrets.CUSTOM_GITHUB_TOKEN }}
``` ```
## Reliability
This action includes built-in retry mechanisms to handle intermittent network issues that can occur when downloading Ruff or fetching version information from GitHub's API. The action will automatically retry failed operations up to 3 times with exponential backoff, which significantly reduces failure rates due to temporary connectivity issues.
- **GitHub API calls**: 30-second timeout with 3 retries
- **Binary downloads**: 60-second timeout with 3 retries
- **Smart error detection**: Automatically identifies retryable errors (timeouts, network issues, 5xx HTTP responses)
- **Detailed logging**: Provides comprehensive error information for debugging
## Outputs ## Outputs
| Output | Description | | Output | Description |
+26 -13
View File
@@ -1,20 +1,34 @@
{ {
"$schema": "https://biomejs.dev/schemas/1.9.2/schema.json", "$schema": "https://biomejs.dev/schemas/2.1.4/schema.json",
"vcs": { "assist": {
"enabled": true, "actions": {
"clientKind": "git", "source": {
"useIgnoreFile": false "organizeImports": "on",
"useSortedAttributes": "on",
"useSortedKeys": "on"
}
}
}, },
"files": { "files": {
"ignoreUnknown": false, "ignoreUnknown": false,
"ignore": ["dist", "lib", "node_modules"] "includes": [
"**",
"!**/dist",
"!**/lib",
"!**/node_modules",
"!**/package*.json",
"!**/known-checksums.*"
]
}, },
"formatter": { "formatter": {
"enabled": true, "enabled": true,
"indentStyle": "space" "indentStyle": "space"
}, },
"organizeImports": { "javascript": {
"enabled": true "formatter": {
"quoteStyle": "double",
"trailingCommas": "all"
}
}, },
"linter": { "linter": {
"enabled": true, "enabled": true,
@@ -22,10 +36,9 @@
"recommended": true "recommended": true
} }
}, },
"javascript": { "vcs": {
"formatter": { "clientKind": "git",
"quoteStyle": "double", "enabled": true,
"trailingCommas": "all" "useIgnoreFile": false
}
} }
} }
Generated Vendored
+503 -26
View File
@@ -29014,12 +29014,12 @@ var __importStar = (this && this.__importStar) || (function () {
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.validateChecksum = validateChecksum; exports.validateChecksum = validateChecksum;
exports.isknownVersion = isknownVersion; exports.isknownVersion = isknownVersion;
const fs = __importStar(__nccwpck_require__(3024));
const crypto = __importStar(__nccwpck_require__(7598)); const crypto = __importStar(__nccwpck_require__(7598));
const fs = __importStar(__nccwpck_require__(3024));
const core = __importStar(__nccwpck_require__(7484)); const core = __importStar(__nccwpck_require__(7484));
const known_checksums_1 = __nccwpck_require__(2764); const known_checksums_1 = __nccwpck_require__(2764);
async function validateChecksum(checkSum, downloadPath, arch, platform, version) { async function validateChecksum(checkSum, downloadPath, arch, platform, version) {
let isValid = undefined; let isValid;
if (checkSum !== undefined && checkSum !== "") { if (checkSum !== undefined && checkSum !== "") {
isValid = await validateFileCheckSum(downloadPath, checkSum); isValid = await validateFileCheckSum(downloadPath, checkSum);
} }
@@ -29071,6 +29071,236 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0; exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = { exports.KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.14.0": "0b7c193d5c45eda02226720eb75239fabeca995d5a0eb3830fd2973caa3030ec",
"aarch64-pc-windows-msvc-0.14.0": "a882d2ec2235c13f63453fde682775d2e1f8a44ccfd1af9e031255b051e30e70",
"aarch64-unknown-linux-gnu-0.14.0": "60fc3b464a723456ba1bc8cd91d29806753c885f72e26ac67b718cee6b35aaca",
"aarch64-unknown-linux-musl-0.14.0": "34a25398f03e7d32a4ec406c5c841c6e183fa0a96fbdd40b7e7eec1f177b360e",
"arm-unknown-linux-musleabihf-0.14.0": "7fd422231c9f34ccf8afed3e11db7add9aaedb25e8f5086e856e1f405f8b6625",
"armv7-unknown-linux-gnueabihf-0.14.0": "994f029a927373d9039319775971ae04aaf07cfe2b2d0eed2e1f4817437441dc",
"armv7-unknown-linux-musleabihf-0.14.0": "dad98aa125f6c164e1dec2401dc67661128725f17d7a2d17021254ad47f29a69",
"i686-pc-windows-msvc-0.14.0": "75326418f1728e83ff615143beb32d203c73272621c4fec402dfd9c4ca0a403d",
"i686-unknown-linux-gnu-0.14.0": "5005907c511b455ff6f617805ddd6363e648240fe639134f93190e8c20496c75",
"i686-unknown-linux-musl-0.14.0": "58831bbc23d69541643796922197e3f145f556283409683f8a19624e89f13956",
"powerpc64-unknown-linux-gnu-0.14.0": "7c892d6dd348b8a01ba07c6a819f3f68996b5e73a1dc9b8f0858f4f3788d89b1",
"powerpc64le-unknown-linux-gnu-0.14.0": "b66f376d7a19808ab5760f98c1cdf577e7dab666340437fb665a863baf701c02",
"riscv64gc-unknown-linux-gnu-0.14.0": "7126a36d39b58d2bb45a241e490c5b6f9e6f9f32880a0c50f65f6545b73b570c",
"s390x-unknown-linux-gnu-0.14.0": "d6160cda15380eed80c4512b4c577e105e3f00a5a6d6e5c5f6dcc1199a91396a",
"x86_64-apple-darwin-0.14.0": "880ae046b435eb306cd557a7481eed6da463b85f283ba1f2c1e2ad7c139ed6c5",
"x86_64-pc-windows-msvc-0.14.0": "f81f957c862f310ac0be70ae7cef2e99afb4cc09648e40c039432e11465c2c1c",
"x86_64-unknown-linux-gnu-0.14.0": "28fe06f700caf99eee235f90e6e349f48b7f9a4b0d42e3ee5b3686f9259649a3",
"x86_64-unknown-linux-musl-0.14.0": "ed6d1b8407a1d228dc332fb19057e86e04a6cd3c2beacdb324ad6ff2a3f9071b",
"aarch64-apple-darwin-0.13.3": "a170ead9a9f03527dba3d2fb3e9e445f73d9efe3584c3307f3d30c6d5f31c487",
"aarch64-pc-windows-msvc-0.13.3": "382c0c3948330f8abe0b5349c41aa80a01a6c54201f2312ef41152a057008bce",
"aarch64-unknown-linux-gnu-0.13.3": "bbc9e73e8e302ec2f6175165374aadfb15f5210ec12660aa444c1cc1e3058cfc",
"aarch64-unknown-linux-musl-0.13.3": "4301d51fd2fbce6d4cc55613e5f8f96ee4fcb8dcaec8419023fe555575cf78f6",
"arm-unknown-linux-musleabihf-0.13.3": "377dc72597e3760b25c3b18616bf69966aed963e68b51f94a12c63207da286ba",
"armv7-unknown-linux-gnueabihf-0.13.3": "86c4411773e21fa4bc1969da3a62d9f795205d83908d94a0bf3d91b577a6edaf",
"armv7-unknown-linux-musleabihf-0.13.3": "8c981482f90a9bc4bed9c8f5b51ea272fb70baf239998a8ae13d7a57c8eeeb09",
"i686-pc-windows-msvc-0.13.3": "f8800f124929cac319ec13be1d5a3941a0ba986e3c2e8bb31eee962098eb5e0c",
"i686-unknown-linux-gnu-0.13.3": "77502c38f90e583bcc8e713007fcb5ec669c872252850028e01e98893e8bd6be",
"i686-unknown-linux-musl-0.13.3": "e6f740d1b8eb8c14adab59abfe1fcf0ba97ebd34c92c65611de001e28edb697d",
"powerpc64-unknown-linux-gnu-0.13.3": "f402e5e49bcfc3b4bcc54a093c908a5798fb61890a96a9aa034ecb79bebcf398",
"powerpc64le-unknown-linux-gnu-0.13.3": "eb22f5bcf2f7e4cbec894423c00b31169ac6df0898fccfb465f0e29d1370f9bc",
"riscv64gc-unknown-linux-gnu-0.13.3": "83c62e1b880ffd36020b50fd9d2c5169ed3eba984b59f5347ea3301636f747da",
"s390x-unknown-linux-gnu-0.13.3": "2e8cbf501f913fe809e9fc382229d214ed7ba0ddaa556d9cb3ca4b254865d1ac",
"x86_64-apple-darwin-0.13.3": "1c3a291a595ddd08398eb1e06fba883b7d8d715bd4255af5972f858fec8b4e57",
"x86_64-pc-windows-msvc-0.13.3": "01e7ce81e052ad8788d6a9bffbce74524d80fbf0659e6194165d1e1d3ded9f39",
"x86_64-unknown-linux-gnu-0.13.3": "65667601e41bc669b5b52e0e52cb778d4a982381c9b92423279e8ca43f11268a",
"x86_64-unknown-linux-musl-0.13.3": "8d24d74171772c67366d3187b990a3dc706022aa3a631b2a612d12e362f226c7",
"aarch64-apple-darwin-0.13.2": "96738ad0b9decb981f53790949487650255a9da0375524b02dcdd862de9f2efa",
"aarch64-pc-windows-msvc-0.13.2": "58b946ceaa220052bcb919d1a64ce3fd216ab24ae121fd0484513dd518ff5a40",
"aarch64-unknown-linux-gnu-0.13.2": "6aabf5f6d12d981d5b6d0759b118bd52ad4de77695f573c96d74de78fb2b1820",
"aarch64-unknown-linux-musl-0.13.2": "a225f352214340d50882ede447fb8eea6a0a5a77233a2e03cda194aa19e5e514",
"arm-unknown-linux-musleabihf-0.13.2": "5dc57704c05c4e583b1b98aacc70ca900f9bb15abb3def1ae9d178905f2fa0f3",
"armv7-unknown-linux-gnueabihf-0.13.2": "5b16463eb53cc2189c46c9b40c1596fa28d0a657681594ca42afc5606fac732e",
"armv7-unknown-linux-musleabihf-0.13.2": "4c852003d3b9841fb61910bfb0dd2588bff51db647f759b23fcfd637811d379e",
"i686-pc-windows-msvc-0.13.2": "cc498f637cca87e1a87ba35f66e020797e514959bf74932d87d9b8c8a5d733b1",
"i686-unknown-linux-gnu-0.13.2": "a951df6892005b6f5c8264b531f2ddf253dec9097dbcee9594295227eb93455d",
"i686-unknown-linux-musl-0.13.2": "ad6b9933e4b43d509aa686b4e915aa132a8537ee2fe86753ca29d1efac8270c9",
"powerpc64-unknown-linux-gnu-0.13.2": "3f656a654fc7f19a9dd9b6f4e17f8b181fca2d8eb36036d4c44a7d747ca4f834",
"powerpc64le-unknown-linux-gnu-0.13.2": "cb6aab61485a32c24e334c005106775c94dad10a687dd31a3e2e9ddc65682776",
"riscv64gc-unknown-linux-gnu-0.13.2": "a1ea659d0aab60dc3aa308d1ebf27abb3e95b4bbd89b836d9e8fb91dcc9b1b45",
"s390x-unknown-linux-gnu-0.13.2": "8ba0c6d8ad5e102d9d4e6d3fbdabdf4cd1a894add52bc8b238bd675a03abc9b7",
"x86_64-apple-darwin-0.13.2": "ed848ebd0a8d7d96a88686c5fc86e8bb6a4c1b831ace2dfa252777f9c69460c6",
"x86_64-pc-windows-msvc-0.13.2": "dea59c3440e59e4dbfa17ec8e51c10fb6f7586650cf30aad8dd8674ee4cb3f3c",
"x86_64-unknown-linux-gnu-0.13.2": "882a9b37e9fde0835ea67f98ad240c16abee6a2d374bc2429fee45a25b4a0738",
"x86_64-unknown-linux-musl-0.13.2": "60755c060181b8d3649d5b568ebc80f76df49dd03249445627f2ceae552c21b6",
"aarch64-apple-darwin-0.13.1": "1cfb3a7455a83602d474044243b618989edf58c2edda45eb4d3331ab550d52c1",
"aarch64-pc-windows-msvc-0.13.1": "17c8ec337b61c014c0d1d090e379f28181d34c3d29edf528de3cf006f944bb18",
"aarch64-unknown-linux-gnu-0.13.1": "a2c2063a82428abe654cc8cdd7427db0b5790ccdd6b8ab505af17e328b0e7d32",
"aarch64-unknown-linux-musl-0.13.1": "3ad26d4a7a736e00373e635f03d7427e20183b0fe99b003a494bd5cdbc3c9c12",
"arm-unknown-linux-musleabihf-0.13.1": "810e2f052b66c86836c6fcb88b888f6731047537d38e97afc4d43787363bddfe",
"armv7-unknown-linux-gnueabihf-0.13.1": "c603565c9e1b13acadf54c02ff7a42b32787c6b60f45971e2519547d77535df4",
"armv7-unknown-linux-musleabihf-0.13.1": "1d120eef7b14b5d141e77ffb3e3eaf161e597e7b55cc7d45977f1960b5be2d08",
"i686-pc-windows-msvc-0.13.1": "f95615a35a87d7f8f6fb501feb01bc419e6d268ecd4af4f18777efac603a7d2a",
"i686-unknown-linux-gnu-0.13.1": "2d332ec4da0b211a34a65c9f89dfd482907b35dfa82b95964fba82acb9db7948",
"i686-unknown-linux-musl-0.13.1": "8e0f53b0ef11ef1a328a9c33dd565d16149397c33ac5bf9b1218373dad896e0f",
"powerpc64-unknown-linux-gnu-0.13.1": "5f122167cb3719ae116421a6d2ff30a6dbf7f06649a998b7ea25a0450e3a4285",
"powerpc64le-unknown-linux-gnu-0.13.1": "b2af20eb2a3a976c6bb5573a98e577334a366bc6a15a06dee165ae85ad7efe5d",
"riscv64gc-unknown-linux-gnu-0.13.1": "48af0ab64584ee9b3c2b44e3c311e5c9ccce56af16234b7c916cc22068b1494e",
"s390x-unknown-linux-gnu-0.13.1": "08cd47492750a58546d799b4774fcf21e62b8d9a5015d3bf1751d69a19659eea",
"x86_64-apple-darwin-0.13.1": "9c4d53f20f5bae4d4e664cc91c26d57c1d0a67fb5fd16af6cffdac0db88474c2",
"x86_64-pc-windows-msvc-0.13.1": "d9a89413459698f4b1a3803fe76ce1f5976c7d058ed33a081dcc570aca20ced7",
"x86_64-unknown-linux-gnu-0.13.1": "ed653acecf38654fb2e0e45c760a2a12fabf84b390230efa0529896576fcb84a",
"x86_64-unknown-linux-musl-0.13.1": "917c300e001a86d9a5d9aaa275dc49b20a7438e3f298e071b7b695a4092f1898",
"aarch64-apple-darwin-0.13.0": "0d706798534537b6655b79fd95c2955c0a0013d4c54d36679d3306825a6bd6aa",
"aarch64-pc-windows-msvc-0.13.0": "7131186a9e946ed5ef6bc90724b549b05317bbb7919b19927bfdf23df4434249",
"aarch64-unknown-linux-gnu-0.13.0": "7aae1ff1a049bca087aabacf05dc7a13fcca4616efe1b7f031c3397d52f25e82",
"aarch64-unknown-linux-musl-0.13.0": "bdee6f1376470b74b1dc5ed48eca52ec9c3e4512bd7f3204e0df100f0bed4741",
"arm-unknown-linux-musleabihf-0.13.0": "9d118582cb4b2bb803be19b24b12ce74c78d450fbd9b6b3ca0bb1a8d626add89",
"armv7-unknown-linux-gnueabihf-0.13.0": "eddb2dc55df67cca755b6e9006a28d709f6d565c8925dbe73569be195fe2ed35",
"armv7-unknown-linux-musleabihf-0.13.0": "9b9f0e9926966b6f7227ff5eb115f0ce9fa00e70173a5ba52a4498cce9ccda49",
"i686-pc-windows-msvc-0.13.0": "2cfb5ee1214ce8e5d8bbeefd7f48571b98f03dfb4f226fdebf879af82f912d7c",
"i686-unknown-linux-gnu-0.13.0": "ec837f0fd6c2bdae082ac6af0417b235fdc500de56cecad9b1969c683a3c1126",
"i686-unknown-linux-musl-0.13.0": "f1a4fd05eceee516eea520ae13fa9b496fa34563cadcc6b77f3f1bdd39b22dd6",
"powerpc64-unknown-linux-gnu-0.13.0": "da2b5c82d2f68a5c52997d4557c7d399af8fa541e7691ccc5b4f44156c4389e2",
"powerpc64le-unknown-linux-gnu-0.13.0": "55754ba31237cc0b4ce8156cfd76498a4478784568b200cd6a910de5931b84cf",
"riscv64gc-unknown-linux-gnu-0.13.0": "41efed62a6c46f3e267763d481c223db96179a2eea203ad429f7af9986af1994",
"s390x-unknown-linux-gnu-0.13.0": "a425d93ed5f3fd3d0e842c34fc26caf0226380c5c1feb953dc5143d32270833b",
"x86_64-apple-darwin-0.13.0": "ac47ad1ac90f3070c064d2f5fceef4fe609fec7c073fd29d0814ed126c492e6d",
"x86_64-pc-windows-msvc-0.13.0": "3a8d8cb96333671f78a5d209ddb4f830287e3eb2796fe01dd043b02ec1c1c7f1",
"x86_64-unknown-linux-gnu-0.13.0": "19152c46d147cf0d3bf8486628fa1de4a8a33cdc5a1b263c4ed31c949de992d7",
"x86_64-unknown-linux-musl-0.13.0": "b56ac90cc6987401bafdcf1b931ef044074c5b9451286afa4606a983f64f4fdd",
"aarch64-apple-darwin-0.12.12": "fcf7bf04fcd4de79c5a4046ac4dd5eef6ad82f584f8656c2ab1da218639d386d",
"aarch64-pc-windows-msvc-0.12.12": "b55d13ad63c8f48c623adb0290b5e02fa5cb65dc76b4bbcff649d7f1d4273af8",
"aarch64-unknown-linux-gnu-0.12.12": "e8e508419940fd33c657b8abd3c0ede7ec04006619476e22f02d78ccd9476b44",
"aarch64-unknown-linux-musl-0.12.12": "1fe423a0dba3d441bbd5e5cb46a635a8fcbe9812488524235e4f1bb725754f01",
"arm-unknown-linux-musleabihf-0.12.12": "60d90844366feb2a3014f05440c229b8e916f4d197e38cb5e4f8149a39aebc92",
"armv7-unknown-linux-gnueabihf-0.12.12": "273e73c140816c188399f4364b698998d1aba1e4b682696729c4e54de3670772",
"armv7-unknown-linux-musleabihf-0.12.12": "3fabdcdde82870e53623f634a43d5bb543e7cfa8bc3b6e24149cbf19ab6436a2",
"i686-pc-windows-msvc-0.12.12": "6121d1e2b0a5a37821aaa2c2d21e81da80e94c942fa12b6f752531b882cd0c51",
"i686-unknown-linux-gnu-0.12.12": "7420224b8a5f7283147f72284de649a297a762bb8984ddc1ffda56f623748938",
"i686-unknown-linux-musl-0.12.12": "75ed6520296f67e9b0cd82e26d3897896a24747e41dfa33786458208a7a491fd",
"powerpc64-unknown-linux-gnu-0.12.12": "3308e5a680189793bfd408e52c724124c9cf01787f13da31c4d8e5d5bb02c620",
"powerpc64le-unknown-linux-gnu-0.12.12": "3cb063448a9acf92d5e234b4af2cc8800808e0c9d09078dc66f2ca64dffa9a0e",
"riscv64gc-unknown-linux-gnu-0.12.12": "140ba0ebddd736b793c80ec36dc870fa11974cf194921fefb6aab303afe1a696",
"s390x-unknown-linux-gnu-0.12.12": "13777acab7da68b180912e3933249ee069378b8f768e95ff0d2359d43f9e549a",
"x86_64-apple-darwin-0.12.12": "92231ffd1448909f09ce2675ea674e5c51e1984cb64b99919fff60b861b4f5d9",
"x86_64-pc-windows-msvc-0.12.12": "bd10f42b2d580e2fd4af2757d68df34e6483dbee5d57263b33b2198cc11058a8",
"x86_64-unknown-linux-gnu-0.12.12": "1baad5d4282fcad356925d45b84b5c0a9c8a814c1b7919027651b8f83bd78828",
"x86_64-unknown-linux-musl-0.12.12": "dd4840045c585ebc982530b9a8b687787dd6f3c099da93a6c1ff495471ab937b",
"aarch64-apple-darwin-0.12.11": "09690b35cac07d5bb096b291b88b8adcbf7750163c20ada2dfd33aa02acd3d88",
"aarch64-pc-windows-msvc-0.12.11": "758d7da795fca758ca82b3b657f71dda92ef090bbb581bce189dde5412eafcc6",
"aarch64-unknown-linux-gnu-0.12.11": "4664bec73806c4b9a30a56510281004dcccfac4f1877a60fcd87e07b01ab7463",
"aarch64-unknown-linux-musl-0.12.11": "9848a6f91b0aa292063c04a74f5a8984a83bb1f4c9c21518e6f9eda4ec810d44",
"arm-unknown-linux-musleabihf-0.12.11": "f82835161ff591489ed270781154ea78b0e4b55f98229892f7efa200be3cff74",
"armv7-unknown-linux-gnueabihf-0.12.11": "e231c22937bf53d399a0f10e6b7e418c7e69462c0ce2b6a51a49e51a8a3e060d",
"armv7-unknown-linux-musleabihf-0.12.11": "7d94766a23e40a6c351aa803cf868247a006bbe5ee08385edf8d02889ba1ddaa",
"i686-pc-windows-msvc-0.12.11": "5f44870463efc6c8b16eb07f2b6fc8209c75f5c1050ef83b2c66305a6dd0839c",
"i686-unknown-linux-gnu-0.12.11": "e2b7c746c40aaacb0f8eeef4bf04c520479ecf3b162edb7c836e8873c68b099c",
"i686-unknown-linux-musl-0.12.11": "a644834a42e13b3768c151152f154e3ab12154e5566dfb46edea0bf3862d6e43",
"powerpc64-unknown-linux-gnu-0.12.11": "99736afef3ea165aae8800411a1c058a0037f774691400c1679bd609a5bc0419",
"powerpc64le-unknown-linux-gnu-0.12.11": "c01aef8b1f20878952399a1a71011be2ab14471c44d94b652be1e41ee3e07315",
"riscv64gc-unknown-linux-gnu-0.12.11": "88d0604b40b523b208e68669512bc8a6d2ea7043d745976ff6530de79bce9385",
"s390x-unknown-linux-gnu-0.12.11": "cc16d30ba5a4544c75d608ac78cf59ebb27f657c7e92ea853398ed63794a7319",
"x86_64-apple-darwin-0.12.11": "b6627363e52f6b49466f032894c3c395c4bbc645f6c520069050debbbaf8204f",
"x86_64-pc-windows-msvc-0.12.11": "a9246d32c62999747cd0671e7d11ad4ebfb36a5f658fe63de583c7a5e9e2f306",
"x86_64-unknown-linux-gnu-0.12.11": "c127b7ccc292ad4489440e90e3ef314113cda79f3add3acd687a0db235f1692c",
"x86_64-unknown-linux-musl-0.12.11": "8e1631dc9b662759d08ab7bc0e4643636e36c450479006711bfe0d83b659686f",
"aarch64-apple-darwin-0.12.10": "72c6abf39f5e87c57faa2d191baf2582e437ff72cdc0f52b7c7e50f26d41b807",
"aarch64-pc-windows-msvc-0.12.10": "b157b393f368f9f1f646f573066e0cbf81fa852be3ba15fdd3a76c75a0b45c6e",
"aarch64-unknown-linux-gnu-0.12.10": "f58ea47d6d482712a8338056541fb604956d8c81f37323d29c7920a88179e542",
"aarch64-unknown-linux-musl-0.12.10": "10b43a88fb948aaae538ec9f35e93b4433f144d0379fb3a67d88282595b969f7",
"arm-unknown-linux-musleabihf-0.12.10": "a6d94f838d4a2720199ea530172b63280860f9f92cae1eaaa3041899e62664e2",
"armv7-unknown-linux-gnueabihf-0.12.10": "4e1a7330cebebd3f4e4e0dc1f5b8d4f768f0dc1cff0e199e8425eb8ebe8bf799",
"armv7-unknown-linux-musleabihf-0.12.10": "4f0b1cd3ea250c87abc766c341225e12c465fc4622272e621e9fb64b4b00ac19",
"i686-pc-windows-msvc-0.12.10": "b5d58c3b59aebe46626116721498bb7f88605f0085ebc23d3a75b78724ecc687",
"i686-unknown-linux-gnu-0.12.10": "759096182f5e767efc6b7f3ac2a3df2dceb26c5091604b03a305f3882fb80ae4",
"i686-unknown-linux-musl-0.12.10": "c7b6d22586642a3f2f6ce051a75783874cb7f3f3626e28b92fbf22fbbfd2329d",
"powerpc64-unknown-linux-gnu-0.12.10": "49e52b6ee3edef681e1d28127ef990b504996b97d8e1ee30a000a72c9486c31e",
"powerpc64le-unknown-linux-gnu-0.12.10": "0c562f790640b6d128867af254a646b86d1975a7ae426b3a61e332c08ad9db6c",
"riscv64gc-unknown-linux-gnu-0.12.10": "9ca0ecf7a7b93a7d3348cbc10989a4779a9a79bc47b5ab47f510fde74abe88d5",
"s390x-unknown-linux-gnu-0.12.10": "a71fe85458fb0e1df2e73abb03a945a90eda722162fe13e1b326bd6807b83192",
"x86_64-apple-darwin-0.12.10": "8619f277921b3e2e56d850c3e203fd4ef10b457bc50f93ab6fe85743eb324de6",
"x86_64-pc-windows-msvc-0.12.10": "a639e4dee10cb2900bffa7165457766671c59c744ce6b61cc658c35ab33a91fd",
"x86_64-unknown-linux-gnu-0.12.10": "a3e1757c16f3feffab6faf22140d57e5528c91c7b338d4fa542dc50f95b857fb",
"x86_64-unknown-linux-musl-0.12.10": "dd4e5b8f81547a48975489913a80e0dce6be7f1c455912fe3a5bd5a1f5f1a35d",
"aarch64-apple-darwin-0.12.9": "68cb47f9a98e17c59e861c3b635b32c5212defd21a4ec0b5c1d56950d06076e5",
"aarch64-pc-windows-msvc-0.12.9": "c747d2ca1bd3bb6df0a2af31f39a53180f2bf556242e5380c495cbd7056c10be",
"aarch64-unknown-linux-gnu-0.12.9": "302dcca660fb843f4cebff7ae57e1f4177c5cbc3d760aea419cead8a741a77b7",
"aarch64-unknown-linux-musl-0.12.9": "dca567860383bb6a7b021dab76c616b02ed9a268516a0a1a1dce56ee482740d7",
"arm-unknown-linux-musleabihf-0.12.9": "d58c9b2a5f92494a5765a22feaf4704eede88a97105d60a0436d3af9b88db335",
"armv7-unknown-linux-gnueabihf-0.12.9": "062242367b6a3e72f436e6f913b1c1afa2cc161dc270128366b3f0e27e14f2f6",
"armv7-unknown-linux-musleabihf-0.12.9": "aee8c90b621d339bb10fa53a88e3f3d33881ddaa7a5d04a398b3c2eb42769f3c",
"i686-pc-windows-msvc-0.12.9": "3a043c3f3b5dfd2bd074a6bc86ee83f218dad59dc47b2dcea23ef27ac9b973eb",
"i686-unknown-linux-gnu-0.12.9": "5f5a3ae7b21e09b2fca7a950e466f56769845b93a851bc354f2811c6483041dd",
"i686-unknown-linux-musl-0.12.9": "66e5db26cc7bf20edc8be2e89dfceb25bd5828ea7405009ad0c5edaa7019e47f",
"powerpc64-unknown-linux-gnu-0.12.9": "0a520d5bc483ef02c4d37d716d8ed276e08d5df8e85b5cce8cdb5a2cefe31777",
"powerpc64le-unknown-linux-gnu-0.12.9": "ac9c786cc9bb6c84aa3a5ea5f5a2135349f3e3a28068f307863d8d72c83b11e3",
"riscv64gc-unknown-linux-gnu-0.12.9": "cf7bf473d85ceb289b0e51619cf07d3b854976dc6f99213c869c1e4710264bc7",
"s390x-unknown-linux-gnu-0.12.9": "2d67952a2f5b4fff530e89f969cd4075b7086032135829ae82221b2d2bd2bab0",
"x86_64-apple-darwin-0.12.9": "cc8195f89146268086e99225316b4214100eb78010aa84b9e650f8322d5790f0",
"x86_64-pc-windows-msvc-0.12.9": "9d360dfd4ca5f688aabf542c570644fab8b02a3c0e71460cf51fc4869df03ba6",
"x86_64-unknown-linux-gnu-0.12.9": "db126272c8473979d744c9be0fd9410ca431dc0cc9daa67286f4f206dd715957",
"x86_64-unknown-linux-musl-0.12.9": "c177d59d4c6347abbf08c8943eff919432d5c70229a0dd6390e5697d393a9c05",
"aarch64-apple-darwin-0.12.8": "d7ddfc029858b97452e728c229b0378e3dde5300b23df5cc5c77296025971379",
"aarch64-pc-windows-msvc-0.12.8": "99cedac1f9b7a321a0e2b81ded68bbaf5dbff6aedac528766eda50d3871ccce9",
"aarch64-unknown-linux-gnu-0.12.8": "fc4a79cfe90c8e4f7bfdad2198e939b70416916a7e90f687f30490b25e2171d6",
"aarch64-unknown-linux-musl-0.12.8": "6840915d3f11a32ac00368206d7a4c957d2d499bc324ab39a3a0a851fda07dc2",
"arm-unknown-linux-musleabihf-0.12.8": "cf549a91db1de22bde9562725d748625a23d41050f2e3ef9a6dca0b6abaa3ca3",
"armv7-unknown-linux-gnueabihf-0.12.8": "b69472a32bc355f7cbc61d939d3ea1cbf1ab42f1bddd56f4ad53af1a372dab55",
"armv7-unknown-linux-musleabihf-0.12.8": "0de514e00cfccff21fd52315f439e52ac95f02539487a78ea864df5d8627e77e",
"i686-pc-windows-msvc-0.12.8": "50bd0eea8f4dc8a94a96cc64f3f61163421f02230672e12b5a91068c7585f7e1",
"i686-unknown-linux-gnu-0.12.8": "3363c9c7b41fec9ad680f9bb32b65fffb30bd582e0fc2ae5d3ee8c51e3fc8347",
"i686-unknown-linux-musl-0.12.8": "73dbe5b0718322479e7e78abf598c626d7ffc8cf10a2ebc54524fb0e0118fa37",
"powerpc64-unknown-linux-gnu-0.12.8": "570dda0a1f5683eb2124491356694fcd2d5b13efc43f2b2f7315fe187fc2add5",
"powerpc64le-unknown-linux-gnu-0.12.8": "73bab12d97b6ecd54d8e338f57ab90b3c06e6bdb965bd9ea1613a2c11eb24256",
"s390x-unknown-linux-gnu-0.12.8": "001f98c87871a617fda8addc74954b79b8c10875feade4a187de79daf8613fcc",
"x86_64-apple-darwin-0.12.8": "5c795cae1956a1d1c84e1d93c952b627da1541311fdbb09885bf9d80b0e2cc42",
"x86_64-pc-windows-msvc-0.12.8": "223d7691fc68bfcfb0bbefa35e5d63998721367404573d883e97583fe73a7682",
"x86_64-unknown-linux-gnu-0.12.8": "ac0edfd0935dfedc884f2ddeab6705b4875e7e84aa9f1c7af78233492ebecdb0",
"x86_64-unknown-linux-musl-0.12.8": "0062142b6277177f196a9dd7cf1bcf10f536f8a33c458d258525504f94760227",
"aarch64-apple-darwin-0.12.7": "86b39b4002bb12588af972ad56cfddc1eaa0879c4badb07f0021fae77b5cd958",
"aarch64-pc-windows-msvc-0.12.7": "35b51d47463eebfc2d39863222a19540e73ddda5b1662b88e774580a7ac526a4",
"aarch64-unknown-linux-gnu-0.12.7": "0d4bb492a02cf191a2e1e058cf819c2ed86c05ea444de5e3895ba75c890a9804",
"aarch64-unknown-linux-musl-0.12.7": "5f97261a334af4f4ba41baa5cea0f0dfd8d732d9ab22beb5bf0639804389bfa3",
"arm-unknown-linux-musleabihf-0.12.7": "ec0d3cf0c6721b1c4c7480995d8a538b217c9dcf37f64389f05a0bea7ff308b9",
"armv7-unknown-linux-gnueabihf-0.12.7": "59f8f6d19faa61f3ca6e7127a3e34470028bed90e40bebacf7c8be48d3080140",
"armv7-unknown-linux-musleabihf-0.12.7": "6ce861317f812b69c68a92c6f6afbb68b99bab4525758b9bad659f94a6fd2429",
"i686-pc-windows-msvc-0.12.7": "becca8cf66388f2532477ad28fae2bd3ccfda8635f4fd68d7139914020203ff6",
"i686-unknown-linux-gnu-0.12.7": "65bbeba7444f62cc403591999d7bfbf3aec0e2ecae869c969c9faf096a737279",
"i686-unknown-linux-musl-0.12.7": "0fd4cc8e5f2f02acd208482da316fdb4ecc2179d11bf0aa61d7622ba7100e889",
"powerpc64-unknown-linux-gnu-0.12.7": "81efd82ed616aa951499cf4012420adfbc4cac0b39375623bbecbf79a4d08098",
"powerpc64le-unknown-linux-gnu-0.12.7": "46360fc4d0b498a3ebfc9ee73ee6b2b59db3ace21dbf12ba41e5fb15dfb71364",
"s390x-unknown-linux-gnu-0.12.7": "ef03f40de21e9eed3e66626d3af768b3f9a82cd2e8cd62bc887bcd206a2ccdce",
"x86_64-apple-darwin-0.12.7": "f0179a587d5509f32ab16bd95cdf64ddcebc80d653e3674161d366312a4eaf7a",
"x86_64-pc-windows-msvc-0.12.7": "12a239698d4f0926523cb51a9b00a560615d6237e9a748c563a74f4708f4abdf",
"x86_64-unknown-linux-gnu-0.12.7": "65b1ec7ba8feda6cbe52aec168f32e5c276577065914fca922b9a8b3f42db433",
"x86_64-unknown-linux-musl-0.12.7": "58aeb49137d0a9df810ba26c778d10d612f8c1439439527a6a95c90ea318c7c5",
"aarch64-apple-darwin-0.12.5": "8819b61cff645c1d1671df331bb57c1ab230094b686942bccedde1f888feb522",
"aarch64-pc-windows-msvc-0.12.5": "b5f06365b87c4d90de76dbd17379db937faa49cd37a931f1908e7c94a604dcd4",
"aarch64-unknown-linux-gnu-0.12.5": "6d00576ccef50b5627ded90879430acd40d590bbc7b354af0549f41fe2f58fcf",
"aarch64-unknown-linux-musl-0.12.5": "f147ccdbe26d35f2752c6d97d158bc8e3b4d1833d283748fc48f350c698a6f7b",
"arm-unknown-linux-musleabihf-0.12.5": "c6aaa6d90cd2abad0650e968defa8e30dd065ea05ef6391716302cc8e6e34287",
"armv7-unknown-linux-gnueabihf-0.12.5": "e479a5f64160f814b44415ccdc834b0f85b539bc286eb8c09199a7aeefa6bf06",
"armv7-unknown-linux-musleabihf-0.12.5": "04b7b507752e6f62fffefa3d02d31e96a7e8fb31f699dbc83fb814d7c3c4bb15",
"i686-pc-windows-msvc-0.12.5": "a0c5b5be39841055fa7b4255cbcc9e8761a1328f461d2335dd53cc195b7c51bb",
"i686-unknown-linux-gnu-0.12.5": "0c95dc3c5711fccccf26a1aef9a620d6a1fd2faa8485e38ec91d836f7d2200e1",
"i686-unknown-linux-musl-0.12.5": "d223f9db886191de0c80c5e2519f413dce0281080f6bc9eecbaff18e2c474d52",
"powerpc64-unknown-linux-gnu-0.12.5": "c436a319fec80a7b23591fbd15b2c224a3b30a5c0dc257d150f684a8c45dc147",
"powerpc64le-unknown-linux-gnu-0.12.5": "26ccf69bb0a6b98b8ad0d7e566acacbd86e2fbbd734ea98b854e40237905a9c9",
"s390x-unknown-linux-gnu-0.12.5": "c8f8ef8f4ce2930085f7e3e17ee58936938b41c9753c2a9aeab0a6473138887a",
"x86_64-apple-darwin-0.12.5": "5af0b2931581a5ed91743c9f669c23cb0db9bb1f0c49f8695ad1443dbc6a9e50",
"x86_64-pc-windows-msvc-0.12.5": "91b88d365f60e3b641d5204a87d56275cd1b4a869f939b637b06e1d6e9fd38e1",
"x86_64-unknown-linux-gnu-0.12.5": "1ef5e978c41c67feaa5447d97a4400f5f0136c92d6507a876d81f1a2fd64d154",
"x86_64-unknown-linux-musl-0.12.5": "79beb4eac07beaea24774709eeb88a87115f1b53f857dcc1155431e642e01ade",
"aarch64-apple-darwin-0.12.4": "be7dc64e69a31b1bb9e875274778c1b65c9470ff18214232aa35fc843e5a6826",
"aarch64-pc-windows-msvc-0.12.4": "859739ae8f64f39512f637ecc56ca12adfdc0d45f79f2ce1ba53d5111d92e753",
"aarch64-unknown-linux-gnu-0.12.4": "8ce8faaeeb277f7481eb6fb21d1073365f1e633513f67542d245fad2aeebabca",
"aarch64-unknown-linux-musl-0.12.4": "adab1c084dbe508c134a354e277b6706da98e89c84aee619cbff37fff5f0b8fc",
"arm-unknown-linux-musleabihf-0.12.4": "0357e038b60ef8c879d625474f0c93e31601a3e648836ccf4dfcf85ffa7897d3",
"armv7-unknown-linux-gnueabihf-0.12.4": "dd6f50075a6b02878d35b21a192ba6ec1a7b43be21b882f6363cceac19e457f7",
"armv7-unknown-linux-musleabihf-0.12.4": "1286d7520f616f797427a492e51f2f53248505661c86ed30d141379f595ad049",
"i686-pc-windows-msvc-0.12.4": "5f6a09e123059e7b434edc68b5ed5e8d2af8156cf10506a3587c51ecc1ffcab1",
"i686-unknown-linux-gnu-0.12.4": "a19cc2babc73065184e60ee41a1157e94f290261175cbc51b11038ebb0dde84a",
"i686-unknown-linux-musl-0.12.4": "c230fe5125497ba667bbe554759bdbd43d7e45855762ce35afc7e1bccd4300ed",
"powerpc64-unknown-linux-gnu-0.12.4": "d8f029b295985aeb0ec877e232d43f56e452792e8edabcc82b1094ac2d07c006",
"powerpc64le-unknown-linux-gnu-0.12.4": "60ac64921ff538beb3cbe8d91b56bda14dffaa7f4c398ebbedb0ff358b1c71c8",
"s390x-unknown-linux-gnu-0.12.4": "78319ca0b164c84cb8a0f8bbe13372c9dd4d26cbc286b78c34bb5e947695fe08",
"x86_64-apple-darwin-0.12.4": "2c829e3128354900495ad91d0401e2284e70121bae67cfcb264eea3a639381a5",
"x86_64-pc-windows-msvc-0.12.4": "0fcadba5764177cc79d3b1bdf56481e71977dd167efd1073f9db9b719e34ed38",
"x86_64-unknown-linux-gnu-0.12.4": "bc783b6b4b4a253ec2d9baf5ce559aa3a41570a14ae865cac3cdd11ef28403a7",
"x86_64-unknown-linux-musl-0.12.4": "41117fc1c67eb9572c50403297bd5fcb8cec99d8a1566badec7ff1a03f8a356d",
"aarch64-apple-darwin-0.12.3": "5769e4841870d1f7c17f12a7d1437222e8035eded52f93c54c035c770dbffebb", "aarch64-apple-darwin-0.12.3": "5769e4841870d1f7c17f12a7d1437222e8035eded52f93c54c035c770dbffebb",
"aarch64-pc-windows-msvc-0.12.3": "25056f8a5ca19f87e4d8e13b744077ad47e122dbef454a6ecf572d9d92d5dbf1", "aarch64-pc-windows-msvc-0.12.3": "25056f8a5ca19f87e4d8e13b744077ad47e122dbef454a6ecf572d9d92d5dbf1",
"aarch64-unknown-linux-gnu-0.12.3": "d63a773c9e2854d4d726bc8ac0d919736e8f8e683b5a54caea0ad470ce233f0c", "aarch64-unknown-linux-gnu-0.12.3": "d63a773c9e2854d4d726bc8ac0d919736e8f8e683b5a54caea0ad470ce233f0c",
@@ -31482,17 +31712,18 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.tryGetFromToolCache = tryGetFromToolCache; exports.tryGetFromToolCache = tryGetFromToolCache;
exports.downloadVersion = downloadVersion; exports.downloadVersion = downloadVersion;
exports.resolveVersion = resolveVersion; exports.resolveVersion = resolveVersion;
const node_fs_1 = __nccwpck_require__(3024);
const path = __importStar(__nccwpck_require__(6760));
const core = __importStar(__nccwpck_require__(7484)); const core = __importStar(__nccwpck_require__(7484));
const tc = __importStar(__nccwpck_require__(3472)); const tc = __importStar(__nccwpck_require__(3472));
const path = __importStar(__nccwpck_require__(6760));
const node_fs_1 = __nccwpck_require__(3024);
const semver = __importStar(__nccwpck_require__(9318));
const pep440 = __importStar(__nccwpck_require__(3297));
const constants_1 = __nccwpck_require__(6156);
const checksum_1 = __nccwpck_require__(5391);
const core_1 = __nccwpck_require__(767); const core_1 = __nccwpck_require__(767);
const plugin_paginate_rest_1 = __nccwpck_require__(3779); const plugin_paginate_rest_1 = __nccwpck_require__(3779);
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210); const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210);
const pep440 = __importStar(__nccwpck_require__(3297));
const semver = __importStar(__nccwpck_require__(9318));
const constants_1 = __nccwpck_require__(6156);
const retry_1 = __nccwpck_require__(5931);
const checksum_1 = __nccwpck_require__(5391);
const PaginatingOctokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.restEndpointMethods); const PaginatingOctokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.restEndpointMethods);
function tryGetFromToolCache(arch, version) { function tryGetFromToolCache(arch, version) {
core.debug(`Trying to get ruff from tool cache for ${version}...`); core.debug(`Trying to get ruff from tool cache for ${version}...`);
@@ -31503,7 +31734,7 @@ function tryGetFromToolCache(arch, version) {
resolvedVersion = version; resolvedVersion = version;
} }
const installedPath = tc.find(constants_1.TOOL_CACHE_NAME, resolvedVersion, arch); const installedPath = tc.find(constants_1.TOOL_CACHE_NAME, resolvedVersion, arch);
return { version: resolvedVersion, installedPath }; return { installedPath, version: resolvedVersion };
} }
async function downloadVersion(platform, arch, version, checkSum, githubToken) { async function downloadVersion(platform, arch, version, checkSum, githubToken) {
const artifact = `ruff-${arch}-${platform}`; const artifact = `ruff-${arch}-${platform}`;
@@ -31513,12 +31744,26 @@ async function downloadVersion(platform, arch, version, checkSum, githubToken) {
} }
const downloadUrl = constructDownloadUrl(version, platform, arch); const downloadUrl = constructDownloadUrl(version, platform, arch);
core.debug(`Downloading ruff from "${downloadUrl}" ...`); core.debug(`Downloading ruff from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool(downloadUrl, undefined, githubToken); const downloadPath = await (0, retry_1.withRetry)(async () => {
try {
return await tc.downloadTool(downloadUrl, undefined, githubToken);
}
catch (error) {
const err = error;
if ((0, retry_1.isRetryableError)(err)) {
throw new retry_1.RetryableError(`Failed to download ruff binary: ${err.message}`, err);
}
else {
throw new retry_1.NonRetryableError(`Failed to download ruff binary: ${err.message}`, err);
}
}
}, { maxRetries: 3, timeoutMs: 60000 }, // 60 second timeout for downloads
"download ruff binary");
core.debug(`Downloaded ruff to "${downloadPath}"`); core.debug(`Downloaded ruff to "${downloadPath}"`);
await (0, checksum_1.validateChecksum)(checkSum, downloadPath, arch, platform, version); await (0, checksum_1.validateChecksum)(checkSum, downloadPath, arch, platform, version);
const extractedDir = await extractDownloadedArtifact(version, downloadPath, extension, platform, artifact); const extractedDir = await extractDownloadedArtifact(version, downloadPath, extension, platform, artifact);
const cachedToolDir = await tc.cacheDir(extractedDir, constants_1.TOOL_CACHE_NAME, version, arch); const cachedToolDir = await tc.cacheDir(extractedDir, constants_1.TOOL_CACHE_NAME, version, arch);
return { version: version, cachedToolDir }; return { cachedToolDir, version: version };
} }
function constructDownloadUrl(version, platform, arch) { function constructDownloadUrl(version, platform, arch) {
const artifactVersionSuffix = semver.lte(version, "v0.4.10") && semver.gte(version, "v0.1.8") const artifactVersionSuffix = semver.lte(version, "v0.4.10") && semver.gte(version, "v0.1.8")
@@ -31569,6 +31814,7 @@ async function resolveVersion(versionInput, githubToken) {
return resolvedVersion; return resolvedVersion;
} }
async function getAvailableVersions(githubToken) { async function getAvailableVersions(githubToken) {
return await (0, retry_1.withRetry)(async () => {
try { try {
const octokit = new PaginatingOctokit({ const octokit = new PaginatingOctokit({
auth: githubToken, auth: githubToken,
@@ -31576,22 +31822,48 @@ async function getAvailableVersions(githubToken) {
return await getReleaseTagNames(octokit); return await getReleaseTagNames(octokit);
} }
catch (err) { catch (err) {
if (err.message.includes("Bad credentials")) { const error = err;
if (error.message.includes("Bad credentials")) {
core.info("No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited."); core.info("No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.");
const octokit = new PaginatingOctokit(); const octokit = new PaginatingOctokit();
return await getReleaseTagNames(octokit); return await getReleaseTagNames(octokit);
} }
throw err; if ((0, retry_1.isRetryableError)(error)) {
throw new retry_1.RetryableError(`Failed to get available versions: ${error.message}`, error);
} }
else {
throw new retry_1.NonRetryableError(`Failed to get available versions: ${error.message}`, error);
}
}
}, { maxRetries: 3, timeoutMs: 30000 }, // 30 second timeout for API calls
"get available versions");
} }
async function getReleaseTagNames(octokit) { async function getReleaseTagNames(octokit) {
const response = await octokit.paginate(octokit.rest.repos.listReleases, { const response = await (0, retry_1.withRetry)(async () => {
try {
return await octokit.paginate(octokit.rest.repos.listReleases, {
owner: constants_1.OWNER, owner: constants_1.OWNER,
repo: constants_1.REPO, repo: constants_1.REPO,
}); });
}
catch (error) {
const err = error;
if ((0, retry_1.isRetryableError)(err)) {
throw new retry_1.RetryableError(`Failed to list GitHub releases: ${err.message}`, err);
}
else {
throw new retry_1.NonRetryableError(`Failed to list GitHub releases: ${err.message}`, err);
}
}
}, { maxRetries: 3, timeoutMs: 30000 }, "list GitHub releases");
const releaseTagNames = response.map((release) => release.tag_name);
if (releaseTagNames.length === 0) {
throw Error("Github API request failed while getting releases. Check the GitHub status page for outages. Try again later.");
}
return response.map((release) => release.tag_name); return response.map((release) => release.tag_name);
} }
async function getLatestVersion(githubToken) { async function getLatestVersion(githubToken) {
return await (0, retry_1.withRetry)(async () => {
const octokit = new PaginatingOctokit({ const octokit = new PaginatingOctokit({
auth: githubToken, auth: githubToken,
}); });
@@ -31600,26 +31872,47 @@ async function getLatestVersion(githubToken) {
latestRelease = await getLatestRelease(octokit); latestRelease = await getLatestRelease(octokit);
} }
catch (err) { catch (err) {
if (err.message.includes("Bad credentials")) { const error = err;
if (error.message.includes("Bad credentials")) {
core.info("No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited."); core.info("No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.");
const octokit = new PaginatingOctokit(); const octokit = new PaginatingOctokit();
latestRelease = await getLatestRelease(octokit); latestRelease = await getLatestRelease(octokit);
} }
else { else {
throw err; core.error("Github API request failed while getting latest release. Check the GitHub status page for outages. Try again later.");
if ((0, retry_1.isRetryableError)(error)) {
throw new retry_1.RetryableError(`Failed to get latest version: ${error.message}`, error);
}
else {
throw new retry_1.NonRetryableError(`Failed to get latest version: ${error.message}`, error);
}
} }
} }
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;
}, { maxRetries: 3, timeoutMs: 30000 }, "get latest version");
} }
async function getLatestRelease(octokit) { async function getLatestRelease(octokit) {
return await (0, retry_1.withRetry)(async () => {
try {
const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({ const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({
owner: constants_1.OWNER, owner: constants_1.OWNER,
repo: constants_1.REPO, repo: constants_1.REPO,
}); });
return latestRelease; return latestRelease;
}
catch (error) {
const err = error;
if ((0, retry_1.isRetryableError)(err)) {
throw new retry_1.RetryableError(`Failed to get latest release: ${err.message}`, err);
}
else {
throw new retry_1.NonRetryableError(`Failed to get latest release: ${err.message}`, err);
}
}
}, { maxRetries: 3, timeoutMs: 30000 }, "get latest release");
} }
function maxSatisfying(versions, version) { function maxSatisfying(versions, version) {
const maxSemver = tc.evaluateVersions(versions, version); const maxSemver = tc.evaluateVersions(versions, version);
@@ -31677,15 +31970,15 @@ var __importStar = (this && this.__importStar) || (function () {
}; };
})(); })();
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
const fs = __importStar(__nccwpck_require__(3024));
const path = __importStar(__nccwpck_require__(6760));
const core = __importStar(__nccwpck_require__(7484)); const core = __importStar(__nccwpck_require__(7484));
const exec = __importStar(__nccwpck_require__(5236)); const exec = __importStar(__nccwpck_require__(5236));
const path = __importStar(__nccwpck_require__(6760));
const download_version_1 = __nccwpck_require__(8255);
const platforms_1 = __nccwpck_require__(8361);
const inputs_1 = __nccwpck_require__(9612);
const pyproject_1 = __nccwpck_require__(3929);
const fs = __importStar(__nccwpck_require__(3024));
const semver = __importStar(__nccwpck_require__(9318)); const semver = __importStar(__nccwpck_require__(9318));
const download_version_1 = __nccwpck_require__(8255);
const inputs_1 = __nccwpck_require__(9612);
const platforms_1 = __nccwpck_require__(8361);
const pyproject_1 = __nccwpck_require__(3929);
async function run() { async function run() {
const platform = (0, platforms_1.getPlatform)(); const platform = (0, platforms_1.getPlatform)();
const arch = (0, platforms_1.getArch)(); const arch = (0, platforms_1.getArch)();
@@ -31749,7 +32042,7 @@ async function determineVersion() {
} }
const versionFromPyproject = (0, pyproject_1.getRuffVersionFromRequirementsFile)(pyProjectPath); const versionFromPyproject = (0, pyproject_1.getRuffVersionFromRequirementsFile)(pyProjectPath);
if (versionFromPyproject === undefined) { if (versionFromPyproject === undefined) {
core.warning(`Could not parse version from ${pyProjectPath}. Using latest version.`); core.info(`Could not parse version from ${pyProjectPath}. Using latest version.`);
} }
return await (0, download_version_1.resolveVersion)(versionFromPyproject || "latest", inputs_1.githubToken); return await (0, download_version_1.resolveVersion)(versionFromPyproject || "latest", inputs_1.githubToken);
} }
@@ -31851,9 +32144,9 @@ exports.getPlatform = getPlatform;
function getArch() { function getArch() {
const arch = process.arch; const arch = process.arch;
const archMapping = { const archMapping = {
arm64: "aarch64",
ia32: "i686", ia32: "i686",
x64: "x86_64", x64: "x86_64",
arm64: "aarch64",
}; };
if (arch in archMapping) { if (arch in archMapping) {
return archMapping[arch]; return archMapping[arch];
@@ -31862,8 +32155,8 @@ function getArch() {
function getPlatform() { function getPlatform() {
const platform = process.platform; const platform = process.platform;
const platformMapping = { const platformMapping = {
linux: "unknown-linux-gnu",
darwin: "apple-darwin", darwin: "apple-darwin",
linux: "unknown-linux-gnu",
win32: "pc-windows-msvc", win32: "pc-windows-msvc",
}; };
if (platform in platformMapping) { if (platform in platformMapping) {
@@ -31977,6 +32270,175 @@ function getRuffVersionFromRequirementsFile(filePath) {
} }
/***/ }),
/***/ 5931:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.NonRetryableError = exports.RetryableError = exports.DEFAULT_RETRY_OPTIONS = void 0;
exports.withRetry = withRetry;
exports.withTimeout = withTimeout;
exports.isRetryableError = isRetryableError;
exports.wrapWithRetryLogic = wrapWithRetryLogic;
const core = __importStar(__nccwpck_require__(7484));
exports.DEFAULT_RETRY_OPTIONS = {
backoffMultiplier: 2,
initialDelayMs: 1000,
maxDelayMs: 10000,
maxRetries: 3,
timeoutMs: 30000, // 30 second timeout
};
class RetryableError extends Error {
cause;
constructor(message, cause) {
super(message);
this.cause = cause;
this.name = "RetryableError";
}
}
exports.RetryableError = RetryableError;
class NonRetryableError extends Error {
cause;
constructor(message, cause) {
super(message);
this.cause = cause;
this.name = "NonRetryableError";
}
}
exports.NonRetryableError = NonRetryableError;
async function withRetry(operation, options = {}, operationName = "operation") {
const opts = { ...exports.DEFAULT_RETRY_OPTIONS, ...options };
let lastError;
for (let attempt = 0; attempt <= opts.maxRetries; attempt++) {
try {
if (attempt > 0) {
const delay = Math.min(opts.initialDelayMs * opts.backoffMultiplier ** (attempt - 1), opts.maxDelayMs);
core.info(`Retrying ${operationName} (attempt ${attempt + 1}/${opts.maxRetries + 1}) after ${delay}ms delay...`);
await sleep(delay);
}
// Wrap operation with timeout if specified
if (opts.timeoutMs) {
return await withTimeout(operation(), opts.timeoutMs, operationName);
}
else {
return await operation();
}
}
catch (error) {
lastError = error;
// Don't retry on non-retryable errors
if (lastError instanceof NonRetryableError) {
core.debug(`Non-retryable error in ${operationName}: ${lastError.message}`);
throw lastError.cause || lastError;
}
// Log the error for debugging
core.debug(`Attempt ${attempt + 1} failed for ${operationName}: ${lastError.message}`);
// If this was the last attempt, throw the error
if (attempt === opts.maxRetries) {
core.error(`${operationName} failed after ${opts.maxRetries + 1} attempts. Last error: ${lastError.message}`);
throw lastError;
}
}
}
throw lastError || new Error(`${operationName} failed for unknown reason`);
}
async function withTimeout(promise, timeoutMs, operationName = "operation") {
const timeoutPromise = new Promise((_, reject) => {
setTimeout(() => {
reject(new RetryableError(`${operationName} timed out after ${timeoutMs}ms`));
}, timeoutMs);
});
return Promise.race([promise, timeoutPromise]);
}
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
function isRetryableError(error) {
const message = error.message.toLowerCase();
// Network-related errors that should be retried
const retryableMessages = [
"connect timeout",
"connection timeout",
"timeout",
"econnreset",
"econnrefused",
"enotfound",
"network error",
"request timeout",
"socket timeout",
"fetch failed",
"connect etimedout",
];
// HTTP status codes that should be retried
const retryableStatusCodes = [408, 429, 500, 502, 503, 504];
// Check for retryable messages
if (retryableMessages.some((msg) => message.includes(msg))) {
return true;
}
// Check for HTTP status codes in error message
const statusMatch = message.match(/status.*?(\d{3})/);
if (statusMatch) {
const statusCode = parseInt(statusMatch[1], 10);
if (retryableStatusCodes.includes(statusCode)) {
return true;
}
}
return false;
}
function wrapWithRetryLogic(operation, operationName, options = {}) {
return async () => {
try {
return await withRetry(operation, options, operationName);
}
catch (error) {
const err = error;
if (isRetryableError(err)) {
throw new RetryableError(`${operationName} failed: ${err.message}`, err);
}
else {
throw new NonRetryableError(`${operationName} failed: ${err.message}`, err);
}
}
};
}
/***/ }), /***/ }),
/***/ 2613: /***/ 2613:
@@ -36057,14 +36519,16 @@ function normalizePaginatedListResponse(response) {
data: [] data: []
}; };
} }
const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
if (!responseNeedsNormalization) return response; if (!responseNeedsNormalization) return response;
const incompleteResults = response.data.incomplete_results; const incompleteResults = response.data.incomplete_results;
const repositorySelection = response.data.repository_selection; const repositorySelection = response.data.repository_selection;
const totalCount = response.data.total_count; const totalCount = response.data.total_count;
const totalCommits = response.data.total_commits;
delete response.data.incomplete_results; delete response.data.incomplete_results;
delete response.data.repository_selection; delete response.data.repository_selection;
delete response.data.total_count; delete response.data.total_count;
delete response.data.total_commits;
const namespaceKey = Object.keys(response.data)[0]; const namespaceKey = Object.keys(response.data)[0];
const data = response.data[namespaceKey]; const data = response.data[namespaceKey];
response.data = data; response.data = data;
@@ -36075,6 +36539,7 @@ function normalizePaginatedListResponse(response) {
response.data.repository_selection = repositorySelection; response.data.repository_selection = repositorySelection;
} }
response.data.total_count = totalCount; response.data.total_count = totalCount;
response.data.total_commits = totalCommits;
return response; return response;
} }
@@ -36095,6 +36560,16 @@ function iterator(octokit, route, parameters) {
url = ((normalizedResponse.headers.link || "").match( url = ((normalizedResponse.headers.link || "").match(
/<([^<>]+)>;\s*rel="next"/ /<([^<>]+)>;\s*rel="next"/
) || [])[1]; ) || [])[1];
if (!url && "total_commits" in normalizedResponse.data) {
const parsedUrl = new URL(normalizedResponse.url);
const params = parsedUrl.searchParams;
const page = parseInt(params.get("page") || "1", 10);
const per_page = parseInt(params.get("per_page") || "250", 10);
if (page * per_page < normalizedResponse.data.total_commits) {
params.set("page", String(page + 1));
url = parsedUrl.toString();
}
}
return { value: normalizedResponse }; return { value: normalizedResponse };
} catch (error) { } catch (error) {
if (error.status !== 409) throw error; if (error.status !== 409) throw error;
@@ -36289,6 +36764,8 @@ var paginatingEndpoints = [
"GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
"GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/status",
"GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
"GET /repos/{owner}/{repo}/compare/{basehead}",
"GET /repos/{owner}/{repo}/compare/{base}...{head}",
"GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/contributors",
"GET /repos/{owner}/{repo}/dependabot/alerts", "GET /repos/{owner}/{repo}/dependabot/alerts",
"GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/dependabot/secrets",
+446 -4
View File
@@ -28205,6 +28205,236 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.KNOWN_CHECKSUMS = void 0; exports.KNOWN_CHECKSUMS = void 0;
// AUTOGENERATED_DO_NOT_EDIT // AUTOGENERATED_DO_NOT_EDIT
exports.KNOWN_CHECKSUMS = { exports.KNOWN_CHECKSUMS = {
"aarch64-apple-darwin-0.14.0": "0b7c193d5c45eda02226720eb75239fabeca995d5a0eb3830fd2973caa3030ec",
"aarch64-pc-windows-msvc-0.14.0": "a882d2ec2235c13f63453fde682775d2e1f8a44ccfd1af9e031255b051e30e70",
"aarch64-unknown-linux-gnu-0.14.0": "60fc3b464a723456ba1bc8cd91d29806753c885f72e26ac67b718cee6b35aaca",
"aarch64-unknown-linux-musl-0.14.0": "34a25398f03e7d32a4ec406c5c841c6e183fa0a96fbdd40b7e7eec1f177b360e",
"arm-unknown-linux-musleabihf-0.14.0": "7fd422231c9f34ccf8afed3e11db7add9aaedb25e8f5086e856e1f405f8b6625",
"armv7-unknown-linux-gnueabihf-0.14.0": "994f029a927373d9039319775971ae04aaf07cfe2b2d0eed2e1f4817437441dc",
"armv7-unknown-linux-musleabihf-0.14.0": "dad98aa125f6c164e1dec2401dc67661128725f17d7a2d17021254ad47f29a69",
"i686-pc-windows-msvc-0.14.0": "75326418f1728e83ff615143beb32d203c73272621c4fec402dfd9c4ca0a403d",
"i686-unknown-linux-gnu-0.14.0": "5005907c511b455ff6f617805ddd6363e648240fe639134f93190e8c20496c75",
"i686-unknown-linux-musl-0.14.0": "58831bbc23d69541643796922197e3f145f556283409683f8a19624e89f13956",
"powerpc64-unknown-linux-gnu-0.14.0": "7c892d6dd348b8a01ba07c6a819f3f68996b5e73a1dc9b8f0858f4f3788d89b1",
"powerpc64le-unknown-linux-gnu-0.14.0": "b66f376d7a19808ab5760f98c1cdf577e7dab666340437fb665a863baf701c02",
"riscv64gc-unknown-linux-gnu-0.14.0": "7126a36d39b58d2bb45a241e490c5b6f9e6f9f32880a0c50f65f6545b73b570c",
"s390x-unknown-linux-gnu-0.14.0": "d6160cda15380eed80c4512b4c577e105e3f00a5a6d6e5c5f6dcc1199a91396a",
"x86_64-apple-darwin-0.14.0": "880ae046b435eb306cd557a7481eed6da463b85f283ba1f2c1e2ad7c139ed6c5",
"x86_64-pc-windows-msvc-0.14.0": "f81f957c862f310ac0be70ae7cef2e99afb4cc09648e40c039432e11465c2c1c",
"x86_64-unknown-linux-gnu-0.14.0": "28fe06f700caf99eee235f90e6e349f48b7f9a4b0d42e3ee5b3686f9259649a3",
"x86_64-unknown-linux-musl-0.14.0": "ed6d1b8407a1d228dc332fb19057e86e04a6cd3c2beacdb324ad6ff2a3f9071b",
"aarch64-apple-darwin-0.13.3": "a170ead9a9f03527dba3d2fb3e9e445f73d9efe3584c3307f3d30c6d5f31c487",
"aarch64-pc-windows-msvc-0.13.3": "382c0c3948330f8abe0b5349c41aa80a01a6c54201f2312ef41152a057008bce",
"aarch64-unknown-linux-gnu-0.13.3": "bbc9e73e8e302ec2f6175165374aadfb15f5210ec12660aa444c1cc1e3058cfc",
"aarch64-unknown-linux-musl-0.13.3": "4301d51fd2fbce6d4cc55613e5f8f96ee4fcb8dcaec8419023fe555575cf78f6",
"arm-unknown-linux-musleabihf-0.13.3": "377dc72597e3760b25c3b18616bf69966aed963e68b51f94a12c63207da286ba",
"armv7-unknown-linux-gnueabihf-0.13.3": "86c4411773e21fa4bc1969da3a62d9f795205d83908d94a0bf3d91b577a6edaf",
"armv7-unknown-linux-musleabihf-0.13.3": "8c981482f90a9bc4bed9c8f5b51ea272fb70baf239998a8ae13d7a57c8eeeb09",
"i686-pc-windows-msvc-0.13.3": "f8800f124929cac319ec13be1d5a3941a0ba986e3c2e8bb31eee962098eb5e0c",
"i686-unknown-linux-gnu-0.13.3": "77502c38f90e583bcc8e713007fcb5ec669c872252850028e01e98893e8bd6be",
"i686-unknown-linux-musl-0.13.3": "e6f740d1b8eb8c14adab59abfe1fcf0ba97ebd34c92c65611de001e28edb697d",
"powerpc64-unknown-linux-gnu-0.13.3": "f402e5e49bcfc3b4bcc54a093c908a5798fb61890a96a9aa034ecb79bebcf398",
"powerpc64le-unknown-linux-gnu-0.13.3": "eb22f5bcf2f7e4cbec894423c00b31169ac6df0898fccfb465f0e29d1370f9bc",
"riscv64gc-unknown-linux-gnu-0.13.3": "83c62e1b880ffd36020b50fd9d2c5169ed3eba984b59f5347ea3301636f747da",
"s390x-unknown-linux-gnu-0.13.3": "2e8cbf501f913fe809e9fc382229d214ed7ba0ddaa556d9cb3ca4b254865d1ac",
"x86_64-apple-darwin-0.13.3": "1c3a291a595ddd08398eb1e06fba883b7d8d715bd4255af5972f858fec8b4e57",
"x86_64-pc-windows-msvc-0.13.3": "01e7ce81e052ad8788d6a9bffbce74524d80fbf0659e6194165d1e1d3ded9f39",
"x86_64-unknown-linux-gnu-0.13.3": "65667601e41bc669b5b52e0e52cb778d4a982381c9b92423279e8ca43f11268a",
"x86_64-unknown-linux-musl-0.13.3": "8d24d74171772c67366d3187b990a3dc706022aa3a631b2a612d12e362f226c7",
"aarch64-apple-darwin-0.13.2": "96738ad0b9decb981f53790949487650255a9da0375524b02dcdd862de9f2efa",
"aarch64-pc-windows-msvc-0.13.2": "58b946ceaa220052bcb919d1a64ce3fd216ab24ae121fd0484513dd518ff5a40",
"aarch64-unknown-linux-gnu-0.13.2": "6aabf5f6d12d981d5b6d0759b118bd52ad4de77695f573c96d74de78fb2b1820",
"aarch64-unknown-linux-musl-0.13.2": "a225f352214340d50882ede447fb8eea6a0a5a77233a2e03cda194aa19e5e514",
"arm-unknown-linux-musleabihf-0.13.2": "5dc57704c05c4e583b1b98aacc70ca900f9bb15abb3def1ae9d178905f2fa0f3",
"armv7-unknown-linux-gnueabihf-0.13.2": "5b16463eb53cc2189c46c9b40c1596fa28d0a657681594ca42afc5606fac732e",
"armv7-unknown-linux-musleabihf-0.13.2": "4c852003d3b9841fb61910bfb0dd2588bff51db647f759b23fcfd637811d379e",
"i686-pc-windows-msvc-0.13.2": "cc498f637cca87e1a87ba35f66e020797e514959bf74932d87d9b8c8a5d733b1",
"i686-unknown-linux-gnu-0.13.2": "a951df6892005b6f5c8264b531f2ddf253dec9097dbcee9594295227eb93455d",
"i686-unknown-linux-musl-0.13.2": "ad6b9933e4b43d509aa686b4e915aa132a8537ee2fe86753ca29d1efac8270c9",
"powerpc64-unknown-linux-gnu-0.13.2": "3f656a654fc7f19a9dd9b6f4e17f8b181fca2d8eb36036d4c44a7d747ca4f834",
"powerpc64le-unknown-linux-gnu-0.13.2": "cb6aab61485a32c24e334c005106775c94dad10a687dd31a3e2e9ddc65682776",
"riscv64gc-unknown-linux-gnu-0.13.2": "a1ea659d0aab60dc3aa308d1ebf27abb3e95b4bbd89b836d9e8fb91dcc9b1b45",
"s390x-unknown-linux-gnu-0.13.2": "8ba0c6d8ad5e102d9d4e6d3fbdabdf4cd1a894add52bc8b238bd675a03abc9b7",
"x86_64-apple-darwin-0.13.2": "ed848ebd0a8d7d96a88686c5fc86e8bb6a4c1b831ace2dfa252777f9c69460c6",
"x86_64-pc-windows-msvc-0.13.2": "dea59c3440e59e4dbfa17ec8e51c10fb6f7586650cf30aad8dd8674ee4cb3f3c",
"x86_64-unknown-linux-gnu-0.13.2": "882a9b37e9fde0835ea67f98ad240c16abee6a2d374bc2429fee45a25b4a0738",
"x86_64-unknown-linux-musl-0.13.2": "60755c060181b8d3649d5b568ebc80f76df49dd03249445627f2ceae552c21b6",
"aarch64-apple-darwin-0.13.1": "1cfb3a7455a83602d474044243b618989edf58c2edda45eb4d3331ab550d52c1",
"aarch64-pc-windows-msvc-0.13.1": "17c8ec337b61c014c0d1d090e379f28181d34c3d29edf528de3cf006f944bb18",
"aarch64-unknown-linux-gnu-0.13.1": "a2c2063a82428abe654cc8cdd7427db0b5790ccdd6b8ab505af17e328b0e7d32",
"aarch64-unknown-linux-musl-0.13.1": "3ad26d4a7a736e00373e635f03d7427e20183b0fe99b003a494bd5cdbc3c9c12",
"arm-unknown-linux-musleabihf-0.13.1": "810e2f052b66c86836c6fcb88b888f6731047537d38e97afc4d43787363bddfe",
"armv7-unknown-linux-gnueabihf-0.13.1": "c603565c9e1b13acadf54c02ff7a42b32787c6b60f45971e2519547d77535df4",
"armv7-unknown-linux-musleabihf-0.13.1": "1d120eef7b14b5d141e77ffb3e3eaf161e597e7b55cc7d45977f1960b5be2d08",
"i686-pc-windows-msvc-0.13.1": "f95615a35a87d7f8f6fb501feb01bc419e6d268ecd4af4f18777efac603a7d2a",
"i686-unknown-linux-gnu-0.13.1": "2d332ec4da0b211a34a65c9f89dfd482907b35dfa82b95964fba82acb9db7948",
"i686-unknown-linux-musl-0.13.1": "8e0f53b0ef11ef1a328a9c33dd565d16149397c33ac5bf9b1218373dad896e0f",
"powerpc64-unknown-linux-gnu-0.13.1": "5f122167cb3719ae116421a6d2ff30a6dbf7f06649a998b7ea25a0450e3a4285",
"powerpc64le-unknown-linux-gnu-0.13.1": "b2af20eb2a3a976c6bb5573a98e577334a366bc6a15a06dee165ae85ad7efe5d",
"riscv64gc-unknown-linux-gnu-0.13.1": "48af0ab64584ee9b3c2b44e3c311e5c9ccce56af16234b7c916cc22068b1494e",
"s390x-unknown-linux-gnu-0.13.1": "08cd47492750a58546d799b4774fcf21e62b8d9a5015d3bf1751d69a19659eea",
"x86_64-apple-darwin-0.13.1": "9c4d53f20f5bae4d4e664cc91c26d57c1d0a67fb5fd16af6cffdac0db88474c2",
"x86_64-pc-windows-msvc-0.13.1": "d9a89413459698f4b1a3803fe76ce1f5976c7d058ed33a081dcc570aca20ced7",
"x86_64-unknown-linux-gnu-0.13.1": "ed653acecf38654fb2e0e45c760a2a12fabf84b390230efa0529896576fcb84a",
"x86_64-unknown-linux-musl-0.13.1": "917c300e001a86d9a5d9aaa275dc49b20a7438e3f298e071b7b695a4092f1898",
"aarch64-apple-darwin-0.13.0": "0d706798534537b6655b79fd95c2955c0a0013d4c54d36679d3306825a6bd6aa",
"aarch64-pc-windows-msvc-0.13.0": "7131186a9e946ed5ef6bc90724b549b05317bbb7919b19927bfdf23df4434249",
"aarch64-unknown-linux-gnu-0.13.0": "7aae1ff1a049bca087aabacf05dc7a13fcca4616efe1b7f031c3397d52f25e82",
"aarch64-unknown-linux-musl-0.13.0": "bdee6f1376470b74b1dc5ed48eca52ec9c3e4512bd7f3204e0df100f0bed4741",
"arm-unknown-linux-musleabihf-0.13.0": "9d118582cb4b2bb803be19b24b12ce74c78d450fbd9b6b3ca0bb1a8d626add89",
"armv7-unknown-linux-gnueabihf-0.13.0": "eddb2dc55df67cca755b6e9006a28d709f6d565c8925dbe73569be195fe2ed35",
"armv7-unknown-linux-musleabihf-0.13.0": "9b9f0e9926966b6f7227ff5eb115f0ce9fa00e70173a5ba52a4498cce9ccda49",
"i686-pc-windows-msvc-0.13.0": "2cfb5ee1214ce8e5d8bbeefd7f48571b98f03dfb4f226fdebf879af82f912d7c",
"i686-unknown-linux-gnu-0.13.0": "ec837f0fd6c2bdae082ac6af0417b235fdc500de56cecad9b1969c683a3c1126",
"i686-unknown-linux-musl-0.13.0": "f1a4fd05eceee516eea520ae13fa9b496fa34563cadcc6b77f3f1bdd39b22dd6",
"powerpc64-unknown-linux-gnu-0.13.0": "da2b5c82d2f68a5c52997d4557c7d399af8fa541e7691ccc5b4f44156c4389e2",
"powerpc64le-unknown-linux-gnu-0.13.0": "55754ba31237cc0b4ce8156cfd76498a4478784568b200cd6a910de5931b84cf",
"riscv64gc-unknown-linux-gnu-0.13.0": "41efed62a6c46f3e267763d481c223db96179a2eea203ad429f7af9986af1994",
"s390x-unknown-linux-gnu-0.13.0": "a425d93ed5f3fd3d0e842c34fc26caf0226380c5c1feb953dc5143d32270833b",
"x86_64-apple-darwin-0.13.0": "ac47ad1ac90f3070c064d2f5fceef4fe609fec7c073fd29d0814ed126c492e6d",
"x86_64-pc-windows-msvc-0.13.0": "3a8d8cb96333671f78a5d209ddb4f830287e3eb2796fe01dd043b02ec1c1c7f1",
"x86_64-unknown-linux-gnu-0.13.0": "19152c46d147cf0d3bf8486628fa1de4a8a33cdc5a1b263c4ed31c949de992d7",
"x86_64-unknown-linux-musl-0.13.0": "b56ac90cc6987401bafdcf1b931ef044074c5b9451286afa4606a983f64f4fdd",
"aarch64-apple-darwin-0.12.12": "fcf7bf04fcd4de79c5a4046ac4dd5eef6ad82f584f8656c2ab1da218639d386d",
"aarch64-pc-windows-msvc-0.12.12": "b55d13ad63c8f48c623adb0290b5e02fa5cb65dc76b4bbcff649d7f1d4273af8",
"aarch64-unknown-linux-gnu-0.12.12": "e8e508419940fd33c657b8abd3c0ede7ec04006619476e22f02d78ccd9476b44",
"aarch64-unknown-linux-musl-0.12.12": "1fe423a0dba3d441bbd5e5cb46a635a8fcbe9812488524235e4f1bb725754f01",
"arm-unknown-linux-musleabihf-0.12.12": "60d90844366feb2a3014f05440c229b8e916f4d197e38cb5e4f8149a39aebc92",
"armv7-unknown-linux-gnueabihf-0.12.12": "273e73c140816c188399f4364b698998d1aba1e4b682696729c4e54de3670772",
"armv7-unknown-linux-musleabihf-0.12.12": "3fabdcdde82870e53623f634a43d5bb543e7cfa8bc3b6e24149cbf19ab6436a2",
"i686-pc-windows-msvc-0.12.12": "6121d1e2b0a5a37821aaa2c2d21e81da80e94c942fa12b6f752531b882cd0c51",
"i686-unknown-linux-gnu-0.12.12": "7420224b8a5f7283147f72284de649a297a762bb8984ddc1ffda56f623748938",
"i686-unknown-linux-musl-0.12.12": "75ed6520296f67e9b0cd82e26d3897896a24747e41dfa33786458208a7a491fd",
"powerpc64-unknown-linux-gnu-0.12.12": "3308e5a680189793bfd408e52c724124c9cf01787f13da31c4d8e5d5bb02c620",
"powerpc64le-unknown-linux-gnu-0.12.12": "3cb063448a9acf92d5e234b4af2cc8800808e0c9d09078dc66f2ca64dffa9a0e",
"riscv64gc-unknown-linux-gnu-0.12.12": "140ba0ebddd736b793c80ec36dc870fa11974cf194921fefb6aab303afe1a696",
"s390x-unknown-linux-gnu-0.12.12": "13777acab7da68b180912e3933249ee069378b8f768e95ff0d2359d43f9e549a",
"x86_64-apple-darwin-0.12.12": "92231ffd1448909f09ce2675ea674e5c51e1984cb64b99919fff60b861b4f5d9",
"x86_64-pc-windows-msvc-0.12.12": "bd10f42b2d580e2fd4af2757d68df34e6483dbee5d57263b33b2198cc11058a8",
"x86_64-unknown-linux-gnu-0.12.12": "1baad5d4282fcad356925d45b84b5c0a9c8a814c1b7919027651b8f83bd78828",
"x86_64-unknown-linux-musl-0.12.12": "dd4840045c585ebc982530b9a8b687787dd6f3c099da93a6c1ff495471ab937b",
"aarch64-apple-darwin-0.12.11": "09690b35cac07d5bb096b291b88b8adcbf7750163c20ada2dfd33aa02acd3d88",
"aarch64-pc-windows-msvc-0.12.11": "758d7da795fca758ca82b3b657f71dda92ef090bbb581bce189dde5412eafcc6",
"aarch64-unknown-linux-gnu-0.12.11": "4664bec73806c4b9a30a56510281004dcccfac4f1877a60fcd87e07b01ab7463",
"aarch64-unknown-linux-musl-0.12.11": "9848a6f91b0aa292063c04a74f5a8984a83bb1f4c9c21518e6f9eda4ec810d44",
"arm-unknown-linux-musleabihf-0.12.11": "f82835161ff591489ed270781154ea78b0e4b55f98229892f7efa200be3cff74",
"armv7-unknown-linux-gnueabihf-0.12.11": "e231c22937bf53d399a0f10e6b7e418c7e69462c0ce2b6a51a49e51a8a3e060d",
"armv7-unknown-linux-musleabihf-0.12.11": "7d94766a23e40a6c351aa803cf868247a006bbe5ee08385edf8d02889ba1ddaa",
"i686-pc-windows-msvc-0.12.11": "5f44870463efc6c8b16eb07f2b6fc8209c75f5c1050ef83b2c66305a6dd0839c",
"i686-unknown-linux-gnu-0.12.11": "e2b7c746c40aaacb0f8eeef4bf04c520479ecf3b162edb7c836e8873c68b099c",
"i686-unknown-linux-musl-0.12.11": "a644834a42e13b3768c151152f154e3ab12154e5566dfb46edea0bf3862d6e43",
"powerpc64-unknown-linux-gnu-0.12.11": "99736afef3ea165aae8800411a1c058a0037f774691400c1679bd609a5bc0419",
"powerpc64le-unknown-linux-gnu-0.12.11": "c01aef8b1f20878952399a1a71011be2ab14471c44d94b652be1e41ee3e07315",
"riscv64gc-unknown-linux-gnu-0.12.11": "88d0604b40b523b208e68669512bc8a6d2ea7043d745976ff6530de79bce9385",
"s390x-unknown-linux-gnu-0.12.11": "cc16d30ba5a4544c75d608ac78cf59ebb27f657c7e92ea853398ed63794a7319",
"x86_64-apple-darwin-0.12.11": "b6627363e52f6b49466f032894c3c395c4bbc645f6c520069050debbbaf8204f",
"x86_64-pc-windows-msvc-0.12.11": "a9246d32c62999747cd0671e7d11ad4ebfb36a5f658fe63de583c7a5e9e2f306",
"x86_64-unknown-linux-gnu-0.12.11": "c127b7ccc292ad4489440e90e3ef314113cda79f3add3acd687a0db235f1692c",
"x86_64-unknown-linux-musl-0.12.11": "8e1631dc9b662759d08ab7bc0e4643636e36c450479006711bfe0d83b659686f",
"aarch64-apple-darwin-0.12.10": "72c6abf39f5e87c57faa2d191baf2582e437ff72cdc0f52b7c7e50f26d41b807",
"aarch64-pc-windows-msvc-0.12.10": "b157b393f368f9f1f646f573066e0cbf81fa852be3ba15fdd3a76c75a0b45c6e",
"aarch64-unknown-linux-gnu-0.12.10": "f58ea47d6d482712a8338056541fb604956d8c81f37323d29c7920a88179e542",
"aarch64-unknown-linux-musl-0.12.10": "10b43a88fb948aaae538ec9f35e93b4433f144d0379fb3a67d88282595b969f7",
"arm-unknown-linux-musleabihf-0.12.10": "a6d94f838d4a2720199ea530172b63280860f9f92cae1eaaa3041899e62664e2",
"armv7-unknown-linux-gnueabihf-0.12.10": "4e1a7330cebebd3f4e4e0dc1f5b8d4f768f0dc1cff0e199e8425eb8ebe8bf799",
"armv7-unknown-linux-musleabihf-0.12.10": "4f0b1cd3ea250c87abc766c341225e12c465fc4622272e621e9fb64b4b00ac19",
"i686-pc-windows-msvc-0.12.10": "b5d58c3b59aebe46626116721498bb7f88605f0085ebc23d3a75b78724ecc687",
"i686-unknown-linux-gnu-0.12.10": "759096182f5e767efc6b7f3ac2a3df2dceb26c5091604b03a305f3882fb80ae4",
"i686-unknown-linux-musl-0.12.10": "c7b6d22586642a3f2f6ce051a75783874cb7f3f3626e28b92fbf22fbbfd2329d",
"powerpc64-unknown-linux-gnu-0.12.10": "49e52b6ee3edef681e1d28127ef990b504996b97d8e1ee30a000a72c9486c31e",
"powerpc64le-unknown-linux-gnu-0.12.10": "0c562f790640b6d128867af254a646b86d1975a7ae426b3a61e332c08ad9db6c",
"riscv64gc-unknown-linux-gnu-0.12.10": "9ca0ecf7a7b93a7d3348cbc10989a4779a9a79bc47b5ab47f510fde74abe88d5",
"s390x-unknown-linux-gnu-0.12.10": "a71fe85458fb0e1df2e73abb03a945a90eda722162fe13e1b326bd6807b83192",
"x86_64-apple-darwin-0.12.10": "8619f277921b3e2e56d850c3e203fd4ef10b457bc50f93ab6fe85743eb324de6",
"x86_64-pc-windows-msvc-0.12.10": "a639e4dee10cb2900bffa7165457766671c59c744ce6b61cc658c35ab33a91fd",
"x86_64-unknown-linux-gnu-0.12.10": "a3e1757c16f3feffab6faf22140d57e5528c91c7b338d4fa542dc50f95b857fb",
"x86_64-unknown-linux-musl-0.12.10": "dd4e5b8f81547a48975489913a80e0dce6be7f1c455912fe3a5bd5a1f5f1a35d",
"aarch64-apple-darwin-0.12.9": "68cb47f9a98e17c59e861c3b635b32c5212defd21a4ec0b5c1d56950d06076e5",
"aarch64-pc-windows-msvc-0.12.9": "c747d2ca1bd3bb6df0a2af31f39a53180f2bf556242e5380c495cbd7056c10be",
"aarch64-unknown-linux-gnu-0.12.9": "302dcca660fb843f4cebff7ae57e1f4177c5cbc3d760aea419cead8a741a77b7",
"aarch64-unknown-linux-musl-0.12.9": "dca567860383bb6a7b021dab76c616b02ed9a268516a0a1a1dce56ee482740d7",
"arm-unknown-linux-musleabihf-0.12.9": "d58c9b2a5f92494a5765a22feaf4704eede88a97105d60a0436d3af9b88db335",
"armv7-unknown-linux-gnueabihf-0.12.9": "062242367b6a3e72f436e6f913b1c1afa2cc161dc270128366b3f0e27e14f2f6",
"armv7-unknown-linux-musleabihf-0.12.9": "aee8c90b621d339bb10fa53a88e3f3d33881ddaa7a5d04a398b3c2eb42769f3c",
"i686-pc-windows-msvc-0.12.9": "3a043c3f3b5dfd2bd074a6bc86ee83f218dad59dc47b2dcea23ef27ac9b973eb",
"i686-unknown-linux-gnu-0.12.9": "5f5a3ae7b21e09b2fca7a950e466f56769845b93a851bc354f2811c6483041dd",
"i686-unknown-linux-musl-0.12.9": "66e5db26cc7bf20edc8be2e89dfceb25bd5828ea7405009ad0c5edaa7019e47f",
"powerpc64-unknown-linux-gnu-0.12.9": "0a520d5bc483ef02c4d37d716d8ed276e08d5df8e85b5cce8cdb5a2cefe31777",
"powerpc64le-unknown-linux-gnu-0.12.9": "ac9c786cc9bb6c84aa3a5ea5f5a2135349f3e3a28068f307863d8d72c83b11e3",
"riscv64gc-unknown-linux-gnu-0.12.9": "cf7bf473d85ceb289b0e51619cf07d3b854976dc6f99213c869c1e4710264bc7",
"s390x-unknown-linux-gnu-0.12.9": "2d67952a2f5b4fff530e89f969cd4075b7086032135829ae82221b2d2bd2bab0",
"x86_64-apple-darwin-0.12.9": "cc8195f89146268086e99225316b4214100eb78010aa84b9e650f8322d5790f0",
"x86_64-pc-windows-msvc-0.12.9": "9d360dfd4ca5f688aabf542c570644fab8b02a3c0e71460cf51fc4869df03ba6",
"x86_64-unknown-linux-gnu-0.12.9": "db126272c8473979d744c9be0fd9410ca431dc0cc9daa67286f4f206dd715957",
"x86_64-unknown-linux-musl-0.12.9": "c177d59d4c6347abbf08c8943eff919432d5c70229a0dd6390e5697d393a9c05",
"aarch64-apple-darwin-0.12.8": "d7ddfc029858b97452e728c229b0378e3dde5300b23df5cc5c77296025971379",
"aarch64-pc-windows-msvc-0.12.8": "99cedac1f9b7a321a0e2b81ded68bbaf5dbff6aedac528766eda50d3871ccce9",
"aarch64-unknown-linux-gnu-0.12.8": "fc4a79cfe90c8e4f7bfdad2198e939b70416916a7e90f687f30490b25e2171d6",
"aarch64-unknown-linux-musl-0.12.8": "6840915d3f11a32ac00368206d7a4c957d2d499bc324ab39a3a0a851fda07dc2",
"arm-unknown-linux-musleabihf-0.12.8": "cf549a91db1de22bde9562725d748625a23d41050f2e3ef9a6dca0b6abaa3ca3",
"armv7-unknown-linux-gnueabihf-0.12.8": "b69472a32bc355f7cbc61d939d3ea1cbf1ab42f1bddd56f4ad53af1a372dab55",
"armv7-unknown-linux-musleabihf-0.12.8": "0de514e00cfccff21fd52315f439e52ac95f02539487a78ea864df5d8627e77e",
"i686-pc-windows-msvc-0.12.8": "50bd0eea8f4dc8a94a96cc64f3f61163421f02230672e12b5a91068c7585f7e1",
"i686-unknown-linux-gnu-0.12.8": "3363c9c7b41fec9ad680f9bb32b65fffb30bd582e0fc2ae5d3ee8c51e3fc8347",
"i686-unknown-linux-musl-0.12.8": "73dbe5b0718322479e7e78abf598c626d7ffc8cf10a2ebc54524fb0e0118fa37",
"powerpc64-unknown-linux-gnu-0.12.8": "570dda0a1f5683eb2124491356694fcd2d5b13efc43f2b2f7315fe187fc2add5",
"powerpc64le-unknown-linux-gnu-0.12.8": "73bab12d97b6ecd54d8e338f57ab90b3c06e6bdb965bd9ea1613a2c11eb24256",
"s390x-unknown-linux-gnu-0.12.8": "001f98c87871a617fda8addc74954b79b8c10875feade4a187de79daf8613fcc",
"x86_64-apple-darwin-0.12.8": "5c795cae1956a1d1c84e1d93c952b627da1541311fdbb09885bf9d80b0e2cc42",
"x86_64-pc-windows-msvc-0.12.8": "223d7691fc68bfcfb0bbefa35e5d63998721367404573d883e97583fe73a7682",
"x86_64-unknown-linux-gnu-0.12.8": "ac0edfd0935dfedc884f2ddeab6705b4875e7e84aa9f1c7af78233492ebecdb0",
"x86_64-unknown-linux-musl-0.12.8": "0062142b6277177f196a9dd7cf1bcf10f536f8a33c458d258525504f94760227",
"aarch64-apple-darwin-0.12.7": "86b39b4002bb12588af972ad56cfddc1eaa0879c4badb07f0021fae77b5cd958",
"aarch64-pc-windows-msvc-0.12.7": "35b51d47463eebfc2d39863222a19540e73ddda5b1662b88e774580a7ac526a4",
"aarch64-unknown-linux-gnu-0.12.7": "0d4bb492a02cf191a2e1e058cf819c2ed86c05ea444de5e3895ba75c890a9804",
"aarch64-unknown-linux-musl-0.12.7": "5f97261a334af4f4ba41baa5cea0f0dfd8d732d9ab22beb5bf0639804389bfa3",
"arm-unknown-linux-musleabihf-0.12.7": "ec0d3cf0c6721b1c4c7480995d8a538b217c9dcf37f64389f05a0bea7ff308b9",
"armv7-unknown-linux-gnueabihf-0.12.7": "59f8f6d19faa61f3ca6e7127a3e34470028bed90e40bebacf7c8be48d3080140",
"armv7-unknown-linux-musleabihf-0.12.7": "6ce861317f812b69c68a92c6f6afbb68b99bab4525758b9bad659f94a6fd2429",
"i686-pc-windows-msvc-0.12.7": "becca8cf66388f2532477ad28fae2bd3ccfda8635f4fd68d7139914020203ff6",
"i686-unknown-linux-gnu-0.12.7": "65bbeba7444f62cc403591999d7bfbf3aec0e2ecae869c969c9faf096a737279",
"i686-unknown-linux-musl-0.12.7": "0fd4cc8e5f2f02acd208482da316fdb4ecc2179d11bf0aa61d7622ba7100e889",
"powerpc64-unknown-linux-gnu-0.12.7": "81efd82ed616aa951499cf4012420adfbc4cac0b39375623bbecbf79a4d08098",
"powerpc64le-unknown-linux-gnu-0.12.7": "46360fc4d0b498a3ebfc9ee73ee6b2b59db3ace21dbf12ba41e5fb15dfb71364",
"s390x-unknown-linux-gnu-0.12.7": "ef03f40de21e9eed3e66626d3af768b3f9a82cd2e8cd62bc887bcd206a2ccdce",
"x86_64-apple-darwin-0.12.7": "f0179a587d5509f32ab16bd95cdf64ddcebc80d653e3674161d366312a4eaf7a",
"x86_64-pc-windows-msvc-0.12.7": "12a239698d4f0926523cb51a9b00a560615d6237e9a748c563a74f4708f4abdf",
"x86_64-unknown-linux-gnu-0.12.7": "65b1ec7ba8feda6cbe52aec168f32e5c276577065914fca922b9a8b3f42db433",
"x86_64-unknown-linux-musl-0.12.7": "58aeb49137d0a9df810ba26c778d10d612f8c1439439527a6a95c90ea318c7c5",
"aarch64-apple-darwin-0.12.5": "8819b61cff645c1d1671df331bb57c1ab230094b686942bccedde1f888feb522",
"aarch64-pc-windows-msvc-0.12.5": "b5f06365b87c4d90de76dbd17379db937faa49cd37a931f1908e7c94a604dcd4",
"aarch64-unknown-linux-gnu-0.12.5": "6d00576ccef50b5627ded90879430acd40d590bbc7b354af0549f41fe2f58fcf",
"aarch64-unknown-linux-musl-0.12.5": "f147ccdbe26d35f2752c6d97d158bc8e3b4d1833d283748fc48f350c698a6f7b",
"arm-unknown-linux-musleabihf-0.12.5": "c6aaa6d90cd2abad0650e968defa8e30dd065ea05ef6391716302cc8e6e34287",
"armv7-unknown-linux-gnueabihf-0.12.5": "e479a5f64160f814b44415ccdc834b0f85b539bc286eb8c09199a7aeefa6bf06",
"armv7-unknown-linux-musleabihf-0.12.5": "04b7b507752e6f62fffefa3d02d31e96a7e8fb31f699dbc83fb814d7c3c4bb15",
"i686-pc-windows-msvc-0.12.5": "a0c5b5be39841055fa7b4255cbcc9e8761a1328f461d2335dd53cc195b7c51bb",
"i686-unknown-linux-gnu-0.12.5": "0c95dc3c5711fccccf26a1aef9a620d6a1fd2faa8485e38ec91d836f7d2200e1",
"i686-unknown-linux-musl-0.12.5": "d223f9db886191de0c80c5e2519f413dce0281080f6bc9eecbaff18e2c474d52",
"powerpc64-unknown-linux-gnu-0.12.5": "c436a319fec80a7b23591fbd15b2c224a3b30a5c0dc257d150f684a8c45dc147",
"powerpc64le-unknown-linux-gnu-0.12.5": "26ccf69bb0a6b98b8ad0d7e566acacbd86e2fbbd734ea98b854e40237905a9c9",
"s390x-unknown-linux-gnu-0.12.5": "c8f8ef8f4ce2930085f7e3e17ee58936938b41c9753c2a9aeab0a6473138887a",
"x86_64-apple-darwin-0.12.5": "5af0b2931581a5ed91743c9f669c23cb0db9bb1f0c49f8695ad1443dbc6a9e50",
"x86_64-pc-windows-msvc-0.12.5": "91b88d365f60e3b641d5204a87d56275cd1b4a869f939b637b06e1d6e9fd38e1",
"x86_64-unknown-linux-gnu-0.12.5": "1ef5e978c41c67feaa5447d97a4400f5f0136c92d6507a876d81f1a2fd64d154",
"x86_64-unknown-linux-musl-0.12.5": "79beb4eac07beaea24774709eeb88a87115f1b53f857dcc1155431e642e01ade",
"aarch64-apple-darwin-0.12.4": "be7dc64e69a31b1bb9e875274778c1b65c9470ff18214232aa35fc843e5a6826",
"aarch64-pc-windows-msvc-0.12.4": "859739ae8f64f39512f637ecc56ca12adfdc0d45f79f2ce1ba53d5111d92e753",
"aarch64-unknown-linux-gnu-0.12.4": "8ce8faaeeb277f7481eb6fb21d1073365f1e633513f67542d245fad2aeebabca",
"aarch64-unknown-linux-musl-0.12.4": "adab1c084dbe508c134a354e277b6706da98e89c84aee619cbff37fff5f0b8fc",
"arm-unknown-linux-musleabihf-0.12.4": "0357e038b60ef8c879d625474f0c93e31601a3e648836ccf4dfcf85ffa7897d3",
"armv7-unknown-linux-gnueabihf-0.12.4": "dd6f50075a6b02878d35b21a192ba6ec1a7b43be21b882f6363cceac19e457f7",
"armv7-unknown-linux-musleabihf-0.12.4": "1286d7520f616f797427a492e51f2f53248505661c86ed30d141379f595ad049",
"i686-pc-windows-msvc-0.12.4": "5f6a09e123059e7b434edc68b5ed5e8d2af8156cf10506a3587c51ecc1ffcab1",
"i686-unknown-linux-gnu-0.12.4": "a19cc2babc73065184e60ee41a1157e94f290261175cbc51b11038ebb0dde84a",
"i686-unknown-linux-musl-0.12.4": "c230fe5125497ba667bbe554759bdbd43d7e45855762ce35afc7e1bccd4300ed",
"powerpc64-unknown-linux-gnu-0.12.4": "d8f029b295985aeb0ec877e232d43f56e452792e8edabcc82b1094ac2d07c006",
"powerpc64le-unknown-linux-gnu-0.12.4": "60ac64921ff538beb3cbe8d91b56bda14dffaa7f4c398ebbedb0ff358b1c71c8",
"s390x-unknown-linux-gnu-0.12.4": "78319ca0b164c84cb8a0f8bbe13372c9dd4d26cbc286b78c34bb5e947695fe08",
"x86_64-apple-darwin-0.12.4": "2c829e3128354900495ad91d0401e2284e70121bae67cfcb264eea3a639381a5",
"x86_64-pc-windows-msvc-0.12.4": "0fcadba5764177cc79d3b1bdf56481e71977dd167efd1073f9db9b719e34ed38",
"x86_64-unknown-linux-gnu-0.12.4": "bc783b6b4b4a253ec2d9baf5ce559aa3a41570a14ae865cac3cdd11ef28403a7",
"x86_64-unknown-linux-musl-0.12.4": "41117fc1c67eb9572c50403297bd5fcb8cec99d8a1566badec7ff1a03f8a356d",
"aarch64-apple-darwin-0.12.3": "5769e4841870d1f7c17f12a7d1437222e8035eded52f93c54c035c770dbffebb", "aarch64-apple-darwin-0.12.3": "5769e4841870d1f7c17f12a7d1437222e8035eded52f93c54c035c770dbffebb",
"aarch64-pc-windows-msvc-0.12.3": "25056f8a5ca19f87e4d8e13b744077ad47e122dbef454a6ecf572d9d92d5dbf1", "aarch64-pc-windows-msvc-0.12.3": "25056f8a5ca19f87e4d8e13b744077ad47e122dbef454a6ecf572d9d92d5dbf1",
"aarch64-unknown-linux-gnu-0.12.3": "d63a773c9e2854d4d726bc8ac0d919736e8f8e683b5a54caea0ad470ce233f0c", "aarch64-unknown-linux-gnu-0.12.3": "d63a773c9e2854d4d726bc8ac0d919736e8f8e683b5a54caea0ad470ce233f0c",
@@ -30616,6 +30846,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.updateChecksums = updateChecksums; exports.updateChecksums = updateChecksums;
const node_fs_1 = __nccwpck_require__(3024); const node_fs_1 = __nccwpck_require__(3024);
const tc = __importStar(__nccwpck_require__(3472)); const tc = __importStar(__nccwpck_require__(3472));
const retry_1 = __nccwpck_require__(5931);
const known_checksums_1 = __nccwpck_require__(2764); const known_checksums_1 = __nccwpck_require__(2764);
async function updateChecksums(filePath, downloadUrls) { async function updateChecksums(filePath, downloadUrls) {
await node_fs_1.promises.rm(filePath); await node_fs_1.promises.rm(filePath);
@@ -30665,8 +30896,21 @@ async function getOrDownloadChecksum(key, downloadUrl) {
return checksum; return checksum;
} }
async function downloadAssetContent(downloadUrl) { async function downloadAssetContent(downloadUrl) {
return await (0, retry_1.withRetry)(async () => {
try {
const downloadPath = await tc.downloadTool(downloadUrl); const downloadPath = await tc.downloadTool(downloadUrl);
return await node_fs_1.promises.readFile(downloadPath, "utf8"); return await node_fs_1.promises.readFile(downloadPath, "utf8");
}
catch (error) {
const err = error;
if ((0, retry_1.isRetryableError)(err)) {
throw new retry_1.RetryableError(`Failed to download checksum file: ${err.message}`, err);
}
else {
throw new retry_1.NonRetryableError(`Failed to download checksum file: ${err.message}`, err);
}
}
}, { maxRetries: 3, timeoutMs: 30000 }, "download checksum file");
} }
@@ -30711,22 +30955,36 @@ var __importStar = (this && this.__importStar) || (function () {
}; };
})(); })();
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
const core_1 = __nccwpck_require__(767);
const core = __importStar(__nccwpck_require__(7484)); const core = __importStar(__nccwpck_require__(7484));
const core_1 = __nccwpck_require__(767);
const plugin_paginate_rest_1 = __nccwpck_require__(3779); const plugin_paginate_rest_1 = __nccwpck_require__(3779);
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210); const plugin_rest_endpoint_methods_1 = __nccwpck_require__(9210);
const constants_1 = __nccwpck_require__(6156);
const semver = __importStar(__nccwpck_require__(9318)); const semver = __importStar(__nccwpck_require__(9318));
const update_known_checksums_1 = __nccwpck_require__(6182); const update_known_checksums_1 = __nccwpck_require__(6182);
const constants_1 = __nccwpck_require__(6156);
const retry_1 = __nccwpck_require__(5931);
const PaginatingOctokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.restEndpointMethods); const PaginatingOctokit = core_1.Octokit.plugin(plugin_paginate_rest_1.paginateRest, plugin_rest_endpoint_methods_1.restEndpointMethods);
async function run() { async function run() {
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 response = await (0, retry_1.withRetry)(async () => {
try {
const octokit = new PaginatingOctokit({ auth: github_token }); const octokit = new PaginatingOctokit({ auth: github_token });
const response = await octokit.paginate(octokit.rest.repos.listReleases, { return await octokit.paginate(octokit.rest.repos.listReleases, {
owner: constants_1.OWNER, owner: constants_1.OWNER,
repo: constants_1.REPO, repo: constants_1.REPO,
}); });
}
catch (error) {
const err = error;
if ((0, retry_1.isRetryableError)(err)) {
throw new retry_1.RetryableError(`Failed to list releases for checksum update: ${err.message}`, err);
}
else {
throw new retry_1.NonRetryableError(`Failed to list releases for checksum update: ${err.message}`, err);
}
}
}, { maxRetries: 3, timeoutMs: 60000 }, "list releases for checksum update");
const downloadUrls = response.flatMap((release) => release.assets const downloadUrls = response.flatMap((release) => release.assets
.filter((asset) => asset.name.endsWith(".sha256")) .filter((asset) => asset.name.endsWith(".sha256"))
.map((asset) => asset.browser_download_url)); .map((asset) => asset.browser_download_url));
@@ -30753,6 +31011,175 @@ exports.OWNER = "astral-sh";
exports.TOOL_CACHE_NAME = "ruff"; exports.TOOL_CACHE_NAME = "ruff";
/***/ }),
/***/ 5931:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.NonRetryableError = exports.RetryableError = exports.DEFAULT_RETRY_OPTIONS = void 0;
exports.withRetry = withRetry;
exports.withTimeout = withTimeout;
exports.isRetryableError = isRetryableError;
exports.wrapWithRetryLogic = wrapWithRetryLogic;
const core = __importStar(__nccwpck_require__(7484));
exports.DEFAULT_RETRY_OPTIONS = {
backoffMultiplier: 2,
initialDelayMs: 1000,
maxDelayMs: 10000,
maxRetries: 3,
timeoutMs: 30000, // 30 second timeout
};
class RetryableError extends Error {
cause;
constructor(message, cause) {
super(message);
this.cause = cause;
this.name = "RetryableError";
}
}
exports.RetryableError = RetryableError;
class NonRetryableError extends Error {
cause;
constructor(message, cause) {
super(message);
this.cause = cause;
this.name = "NonRetryableError";
}
}
exports.NonRetryableError = NonRetryableError;
async function withRetry(operation, options = {}, operationName = "operation") {
const opts = { ...exports.DEFAULT_RETRY_OPTIONS, ...options };
let lastError;
for (let attempt = 0; attempt <= opts.maxRetries; attempt++) {
try {
if (attempt > 0) {
const delay = Math.min(opts.initialDelayMs * opts.backoffMultiplier ** (attempt - 1), opts.maxDelayMs);
core.info(`Retrying ${operationName} (attempt ${attempt + 1}/${opts.maxRetries + 1}) after ${delay}ms delay...`);
await sleep(delay);
}
// Wrap operation with timeout if specified
if (opts.timeoutMs) {
return await withTimeout(operation(), opts.timeoutMs, operationName);
}
else {
return await operation();
}
}
catch (error) {
lastError = error;
// Don't retry on non-retryable errors
if (lastError instanceof NonRetryableError) {
core.debug(`Non-retryable error in ${operationName}: ${lastError.message}`);
throw lastError.cause || lastError;
}
// Log the error for debugging
core.debug(`Attempt ${attempt + 1} failed for ${operationName}: ${lastError.message}`);
// If this was the last attempt, throw the error
if (attempt === opts.maxRetries) {
core.error(`${operationName} failed after ${opts.maxRetries + 1} attempts. Last error: ${lastError.message}`);
throw lastError;
}
}
}
throw lastError || new Error(`${operationName} failed for unknown reason`);
}
async function withTimeout(promise, timeoutMs, operationName = "operation") {
const timeoutPromise = new Promise((_, reject) => {
setTimeout(() => {
reject(new RetryableError(`${operationName} timed out after ${timeoutMs}ms`));
}, timeoutMs);
});
return Promise.race([promise, timeoutPromise]);
}
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
function isRetryableError(error) {
const message = error.message.toLowerCase();
// Network-related errors that should be retried
const retryableMessages = [
"connect timeout",
"connection timeout",
"timeout",
"econnreset",
"econnrefused",
"enotfound",
"network error",
"request timeout",
"socket timeout",
"fetch failed",
"connect etimedout",
];
// HTTP status codes that should be retried
const retryableStatusCodes = [408, 429, 500, 502, 503, 504];
// Check for retryable messages
if (retryableMessages.some((msg) => message.includes(msg))) {
return true;
}
// Check for HTTP status codes in error message
const statusMatch = message.match(/status.*?(\d{3})/);
if (statusMatch) {
const statusCode = parseInt(statusMatch[1], 10);
if (retryableStatusCodes.includes(statusCode)) {
return true;
}
}
return false;
}
function wrapWithRetryLogic(operation, operationName, options = {}) {
return async () => {
try {
return await withRetry(operation, options, operationName);
}
catch (error) {
const err = error;
if (isRetryableError(err)) {
throw new RetryableError(`${operationName} failed: ${err.message}`, err);
}
else {
throw new NonRetryableError(`${operationName} failed: ${err.message}`, err);
}
}
};
}
/***/ }), /***/ }),
/***/ 2613: /***/ 2613:
@@ -33922,14 +34349,16 @@ function normalizePaginatedListResponse(response) {
data: [] data: []
}; };
} }
const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data); const responseNeedsNormalization = ("total_count" in response.data || "total_commits" in response.data) && !("url" in response.data);
if (!responseNeedsNormalization) return response; if (!responseNeedsNormalization) return response;
const incompleteResults = response.data.incomplete_results; const incompleteResults = response.data.incomplete_results;
const repositorySelection = response.data.repository_selection; const repositorySelection = response.data.repository_selection;
const totalCount = response.data.total_count; const totalCount = response.data.total_count;
const totalCommits = response.data.total_commits;
delete response.data.incomplete_results; delete response.data.incomplete_results;
delete response.data.repository_selection; delete response.data.repository_selection;
delete response.data.total_count; delete response.data.total_count;
delete response.data.total_commits;
const namespaceKey = Object.keys(response.data)[0]; const namespaceKey = Object.keys(response.data)[0];
const data = response.data[namespaceKey]; const data = response.data[namespaceKey];
response.data = data; response.data = data;
@@ -33940,6 +34369,7 @@ function normalizePaginatedListResponse(response) {
response.data.repository_selection = repositorySelection; response.data.repository_selection = repositorySelection;
} }
response.data.total_count = totalCount; response.data.total_count = totalCount;
response.data.total_commits = totalCommits;
return response; return response;
} }
@@ -33960,6 +34390,16 @@ function iterator(octokit, route, parameters) {
url = ((normalizedResponse.headers.link || "").match( url = ((normalizedResponse.headers.link || "").match(
/<([^<>]+)>;\s*rel="next"/ /<([^<>]+)>;\s*rel="next"/
) || [])[1]; ) || [])[1];
if (!url && "total_commits" in normalizedResponse.data) {
const parsedUrl = new URL(normalizedResponse.url);
const params = parsedUrl.searchParams;
const page = parseInt(params.get("page") || "1", 10);
const per_page = parseInt(params.get("per_page") || "250", 10);
if (page * per_page < normalizedResponse.data.total_commits) {
params.set("page", String(page + 1));
url = parsedUrl.toString();
}
}
return { value: normalizedResponse }; return { value: normalizedResponse };
} catch (error) { } catch (error) {
if (error.status !== 409) throw error; if (error.status !== 409) throw error;
@@ -34154,6 +34594,8 @@ var paginatingEndpoints = [
"GET /repos/{owner}/{repo}/commits/{ref}/check-suites", "GET /repos/{owner}/{repo}/commits/{ref}/check-suites",
"GET /repos/{owner}/{repo}/commits/{ref}/status", "GET /repos/{owner}/{repo}/commits/{ref}/status",
"GET /repos/{owner}/{repo}/commits/{ref}/statuses", "GET /repos/{owner}/{repo}/commits/{ref}/statuses",
"GET /repos/{owner}/{repo}/compare/{basehead}",
"GET /repos/{owner}/{repo}/compare/{base}...{head}",
"GET /repos/{owner}/{repo}/contributors", "GET /repos/{owner}/{repo}/contributors",
"GET /repos/{owner}/{repo}/dependabot/alerts", "GET /repos/{owner}/{repo}/dependabot/alerts",
"GET /repos/{owner}/{repo}/dependabot/secrets", "GET /repos/{owner}/{repo}/dependabot/secrets",
+61 -53
View File
@@ -13,19 +13,19 @@
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.2", "@actions/tool-cache": "^2.0.2",
"@octokit/core": "^7.0.3", "@octokit/core": "^7.0.3",
"@octokit/plugin-paginate-rest": "^13.0.1", "@octokit/plugin-paginate-rest": "^13.1.1",
"@octokit/plugin-rest-endpoint-methods": "^16.0.0", "@octokit/plugin-rest-endpoint-methods": "^16.0.0",
"@renovatebot/pep440": "^4.1.0", "@renovatebot/pep440": "^4.1.0",
"smol-toml": "^1.4.1" "smol-toml": "^1.4.1"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "2.1.4",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^24.0.13", "@types/node": "^24.2.1",
"@types/semver": "^7.7.0", "@types/semver": "^7.7.0",
"@vercel/ncc": "^0.38.3", "@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"typescript": "^5.8.3" "typescript": "^5.9.2"
} }
}, },
"node_modules/@actions/core": { "node_modules/@actions/core": {
@@ -72,11 +72,11 @@
} }
}, },
"node_modules/@biomejs/biome": { "node_modules/@biomejs/biome": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.1.4.tgz",
"integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==", "integrity": "sha512-QWlrqyxsU0FCebuMnkvBIkxvPqH89afiJzjMl+z67ybutse590jgeaFdDurE9XYtzpjRGTI1tlUZPGWmbKsElA==",
"dev": true, "dev": true,
"hasInstallScript": true, "license": "MIT OR Apache-2.0",
"bin": { "bin": {
"biome": "bin/biome" "biome": "bin/biome"
}, },
@@ -88,24 +88,25 @@
"url": "https://opencollective.com/biome" "url": "https://opencollective.com/biome"
}, },
"optionalDependencies": { "optionalDependencies": {
"@biomejs/cli-darwin-arm64": "1.9.4", "@biomejs/cli-darwin-arm64": "2.1.4",
"@biomejs/cli-darwin-x64": "1.9.4", "@biomejs/cli-darwin-x64": "2.1.4",
"@biomejs/cli-linux-arm64": "1.9.4", "@biomejs/cli-linux-arm64": "2.1.4",
"@biomejs/cli-linux-arm64-musl": "1.9.4", "@biomejs/cli-linux-arm64-musl": "2.1.4",
"@biomejs/cli-linux-x64": "1.9.4", "@biomejs/cli-linux-x64": "2.1.4",
"@biomejs/cli-linux-x64-musl": "1.9.4", "@biomejs/cli-linux-x64-musl": "2.1.4",
"@biomejs/cli-win32-arm64": "1.9.4", "@biomejs/cli-win32-arm64": "2.1.4",
"@biomejs/cli-win32-x64": "1.9.4" "@biomejs/cli-win32-x64": "2.1.4"
} }
}, },
"node_modules/@biomejs/cli-darwin-arm64": { "node_modules/@biomejs/cli-darwin-arm64": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.1.4.tgz",
"integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==", "integrity": "sha512-sCrNENE74I9MV090Wq/9Dg7EhPudx3+5OiSoQOkIe3DLPzFARuL1dOwCWhKCpA3I5RHmbrsbNSRfZwCabwd8Qg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"darwin" "darwin"
@@ -115,13 +116,14 @@
} }
}, },
"node_modules/@biomejs/cli-darwin-x64": { "node_modules/@biomejs/cli-darwin-x64": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.1.4.tgz",
"integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==", "integrity": "sha512-gOEICJbTCy6iruBywBDcG4X5rHMbqCPs3clh3UQ+hRKlgvJTk4NHWQAyHOXvaLe+AxD1/TNX1jbZeffBJzcrOw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"darwin" "darwin"
@@ -131,13 +133,14 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64": { "node_modules/@biomejs/cli-linux-arm64": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.1.4.tgz",
"integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==", "integrity": "sha512-juhEkdkKR4nbUi5k/KRp1ocGPNWLgFRD4NrHZSveYrD6i98pyvuzmS9yFYgOZa5JhaVqo0HPnci0+YuzSwT2fw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"linux" "linux"
@@ -147,13 +150,14 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64-musl": { "node_modules/@biomejs/cli-linux-arm64-musl": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.4.tgz",
"integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==", "integrity": "sha512-nYr7H0CyAJPaLupFE2cH16KZmRC5Z9PEftiA2vWxk+CsFkPZQ6dBRdcC6RuS+zJlPc/JOd8xw3uCCt9Pv41WvQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"linux" "linux"
@@ -163,13 +167,14 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64": { "node_modules/@biomejs/cli-linux-x64": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.1.4.tgz",
"integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==", "integrity": "sha512-Eoy9ycbhpJVYuR+LskV9s3uyaIkp89+qqgqhGQsWnp/I02Uqg2fXFblHJOpGZR8AxdB9ADy87oFVxn9MpFKUrw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"linux" "linux"
@@ -179,13 +184,14 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64-musl": { "node_modules/@biomejs/cli-linux-x64-musl": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.4.tgz",
"integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==", "integrity": "sha512-lvwvb2SQQHctHUKvBKptR6PLFCM7JfRjpCCrDaTmvB7EeZ5/dQJPhTYBf36BE/B4CRWR2ZiBLRYhK7hhXBCZAg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"linux" "linux"
@@ -195,13 +201,14 @@
} }
}, },
"node_modules/@biomejs/cli-win32-arm64": { "node_modules/@biomejs/cli-win32-arm64": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.1.4.tgz",
"integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==", "integrity": "sha512-3WRYte7orvyi6TRfIZkDN9Jzoogbv+gSvR+b9VOXUg1We1XrjBg6WljADeVEaKTvOcpVdH0a90TwyOQ6ue4fGw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"win32" "win32"
@@ -211,13 +218,14 @@
} }
}, },
"node_modules/@biomejs/cli-win32-x64": { "node_modules/@biomejs/cli-win32-x64": {
"version": "1.9.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.1.4.tgz",
"integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==", "integrity": "sha512-tBc+W7anBPSFXGAoQW+f/+svkpt8/uXfRwDzN1DvnatkRMt16KIYpEi/iw8u9GahJlFv98kgHcIrSsZHZTR0sw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"win32" "win32"
@@ -295,9 +303,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "13.0.1", "version": "13.1.1",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.0.1.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.1.1.tgz",
"integrity": "sha512-m1KvHlueScy4mQJWvFDCxFBTIdXS0K1SgFGLmqHyX90mZdCIv6gWBbKRhatxRjhGlONuTK/hztYdaqrTXcFZdQ==", "integrity": "sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@octokit/types": "^14.1.0" "@octokit/types": "^14.1.0"
@@ -379,13 +387,13 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "24.0.13", "version": "24.2.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.13.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.2.1.tgz",
"integrity": "sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==", "integrity": "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~7.8.0" "undici-types": "~7.10.0"
} }
}, },
"node_modules/@types/semver": { "node_modules/@types/semver": {
@@ -473,9 +481,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.8.3", "version": "5.9.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
@@ -499,9 +507,9 @@
} }
}, },
"node_modules/undici-types": { "node_modules/undici-types": {
"version": "7.8.0", "version": "7.10.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz",
"integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
+6 -8
View File
@@ -6,13 +6,11 @@
"main": "dist/ruff-action/index.js", "main": "dist/ruff-action/index.js",
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"format": "biome format --fix", "check": "biome check --write",
"format-check": "biome format",
"lint": "biome lint --fix",
"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 install && npm run build && npm run check && npm run package"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -26,18 +24,18 @@
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/tool-cache": "^2.0.2", "@actions/tool-cache": "^2.0.2",
"@octokit/core": "^7.0.3", "@octokit/core": "^7.0.3",
"@octokit/plugin-paginate-rest": "^13.0.1", "@octokit/plugin-paginate-rest": "^13.1.1",
"@octokit/plugin-rest-endpoint-methods": "^16.0.0", "@octokit/plugin-rest-endpoint-methods": "^16.0.0",
"@renovatebot/pep440": "^4.1.0", "@renovatebot/pep440": "^4.1.0",
"smol-toml": "^1.4.1" "smol-toml": "^1.4.1"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.9.4", "@biomejs/biome": "2.1.4",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^24.0.13", "@types/node": "^24.2.1",
"@types/semver": "^7.7.0", "@types/semver": "^7.7.0",
"@vercel/ncc": "^0.38.3", "@vercel/ncc": "^0.38.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"typescript": "^5.8.3" "typescript": "^5.9.2"
} }
} }
+3 -3
View File
@@ -1,9 +1,9 @@
import * as fs from "node:fs";
import * as crypto from "node:crypto"; import * as crypto from "node:crypto";
import * as fs from "node:fs";
import * as core from "@actions/core"; import * as core from "@actions/core";
import { KNOWN_CHECKSUMS } from "./known-checksums";
import type { Architecture, Platform } from "../../utils/platforms"; import type { Architecture, Platform } from "../../utils/platforms";
import { KNOWN_CHECKSUMS } from "./known-checksums";
export async function validateChecksum( export async function validateChecksum(
checkSum: string | undefined, checkSum: string | undefined,
@@ -12,7 +12,7 @@ export async function validateChecksum(
platform: Platform, platform: Platform,
version: string, version: string,
): Promise<void> { ): Promise<void> {
let isValid: boolean | undefined = undefined; let isValid: boolean | undefined;
if (checkSum !== undefined && checkSum !== "") { if (checkSum !== undefined && checkSum !== "") {
isValid = await validateFileCheckSum(downloadPath, checkSum); isValid = await validateFileCheckSum(downloadPath, checkSum);
} else { } else {
+460
View File
@@ -1,5 +1,465 @@
// 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.14.0":
"0b7c193d5c45eda02226720eb75239fabeca995d5a0eb3830fd2973caa3030ec",
"aarch64-pc-windows-msvc-0.14.0":
"a882d2ec2235c13f63453fde682775d2e1f8a44ccfd1af9e031255b051e30e70",
"aarch64-unknown-linux-gnu-0.14.0":
"60fc3b464a723456ba1bc8cd91d29806753c885f72e26ac67b718cee6b35aaca",
"aarch64-unknown-linux-musl-0.14.0":
"34a25398f03e7d32a4ec406c5c841c6e183fa0a96fbdd40b7e7eec1f177b360e",
"arm-unknown-linux-musleabihf-0.14.0":
"7fd422231c9f34ccf8afed3e11db7add9aaedb25e8f5086e856e1f405f8b6625",
"armv7-unknown-linux-gnueabihf-0.14.0":
"994f029a927373d9039319775971ae04aaf07cfe2b2d0eed2e1f4817437441dc",
"armv7-unknown-linux-musleabihf-0.14.0":
"dad98aa125f6c164e1dec2401dc67661128725f17d7a2d17021254ad47f29a69",
"i686-pc-windows-msvc-0.14.0":
"75326418f1728e83ff615143beb32d203c73272621c4fec402dfd9c4ca0a403d",
"i686-unknown-linux-gnu-0.14.0":
"5005907c511b455ff6f617805ddd6363e648240fe639134f93190e8c20496c75",
"i686-unknown-linux-musl-0.14.0":
"58831bbc23d69541643796922197e3f145f556283409683f8a19624e89f13956",
"powerpc64-unknown-linux-gnu-0.14.0":
"7c892d6dd348b8a01ba07c6a819f3f68996b5e73a1dc9b8f0858f4f3788d89b1",
"powerpc64le-unknown-linux-gnu-0.14.0":
"b66f376d7a19808ab5760f98c1cdf577e7dab666340437fb665a863baf701c02",
"riscv64gc-unknown-linux-gnu-0.14.0":
"7126a36d39b58d2bb45a241e490c5b6f9e6f9f32880a0c50f65f6545b73b570c",
"s390x-unknown-linux-gnu-0.14.0":
"d6160cda15380eed80c4512b4c577e105e3f00a5a6d6e5c5f6dcc1199a91396a",
"x86_64-apple-darwin-0.14.0":
"880ae046b435eb306cd557a7481eed6da463b85f283ba1f2c1e2ad7c139ed6c5",
"x86_64-pc-windows-msvc-0.14.0":
"f81f957c862f310ac0be70ae7cef2e99afb4cc09648e40c039432e11465c2c1c",
"x86_64-unknown-linux-gnu-0.14.0":
"28fe06f700caf99eee235f90e6e349f48b7f9a4b0d42e3ee5b3686f9259649a3",
"x86_64-unknown-linux-musl-0.14.0":
"ed6d1b8407a1d228dc332fb19057e86e04a6cd3c2beacdb324ad6ff2a3f9071b",
"aarch64-apple-darwin-0.13.3":
"a170ead9a9f03527dba3d2fb3e9e445f73d9efe3584c3307f3d30c6d5f31c487",
"aarch64-pc-windows-msvc-0.13.3":
"382c0c3948330f8abe0b5349c41aa80a01a6c54201f2312ef41152a057008bce",
"aarch64-unknown-linux-gnu-0.13.3":
"bbc9e73e8e302ec2f6175165374aadfb15f5210ec12660aa444c1cc1e3058cfc",
"aarch64-unknown-linux-musl-0.13.3":
"4301d51fd2fbce6d4cc55613e5f8f96ee4fcb8dcaec8419023fe555575cf78f6",
"arm-unknown-linux-musleabihf-0.13.3":
"377dc72597e3760b25c3b18616bf69966aed963e68b51f94a12c63207da286ba",
"armv7-unknown-linux-gnueabihf-0.13.3":
"86c4411773e21fa4bc1969da3a62d9f795205d83908d94a0bf3d91b577a6edaf",
"armv7-unknown-linux-musleabihf-0.13.3":
"8c981482f90a9bc4bed9c8f5b51ea272fb70baf239998a8ae13d7a57c8eeeb09",
"i686-pc-windows-msvc-0.13.3":
"f8800f124929cac319ec13be1d5a3941a0ba986e3c2e8bb31eee962098eb5e0c",
"i686-unknown-linux-gnu-0.13.3":
"77502c38f90e583bcc8e713007fcb5ec669c872252850028e01e98893e8bd6be",
"i686-unknown-linux-musl-0.13.3":
"e6f740d1b8eb8c14adab59abfe1fcf0ba97ebd34c92c65611de001e28edb697d",
"powerpc64-unknown-linux-gnu-0.13.3":
"f402e5e49bcfc3b4bcc54a093c908a5798fb61890a96a9aa034ecb79bebcf398",
"powerpc64le-unknown-linux-gnu-0.13.3":
"eb22f5bcf2f7e4cbec894423c00b31169ac6df0898fccfb465f0e29d1370f9bc",
"riscv64gc-unknown-linux-gnu-0.13.3":
"83c62e1b880ffd36020b50fd9d2c5169ed3eba984b59f5347ea3301636f747da",
"s390x-unknown-linux-gnu-0.13.3":
"2e8cbf501f913fe809e9fc382229d214ed7ba0ddaa556d9cb3ca4b254865d1ac",
"x86_64-apple-darwin-0.13.3":
"1c3a291a595ddd08398eb1e06fba883b7d8d715bd4255af5972f858fec8b4e57",
"x86_64-pc-windows-msvc-0.13.3":
"01e7ce81e052ad8788d6a9bffbce74524d80fbf0659e6194165d1e1d3ded9f39",
"x86_64-unknown-linux-gnu-0.13.3":
"65667601e41bc669b5b52e0e52cb778d4a982381c9b92423279e8ca43f11268a",
"x86_64-unknown-linux-musl-0.13.3":
"8d24d74171772c67366d3187b990a3dc706022aa3a631b2a612d12e362f226c7",
"aarch64-apple-darwin-0.13.2":
"96738ad0b9decb981f53790949487650255a9da0375524b02dcdd862de9f2efa",
"aarch64-pc-windows-msvc-0.13.2":
"58b946ceaa220052bcb919d1a64ce3fd216ab24ae121fd0484513dd518ff5a40",
"aarch64-unknown-linux-gnu-0.13.2":
"6aabf5f6d12d981d5b6d0759b118bd52ad4de77695f573c96d74de78fb2b1820",
"aarch64-unknown-linux-musl-0.13.2":
"a225f352214340d50882ede447fb8eea6a0a5a77233a2e03cda194aa19e5e514",
"arm-unknown-linux-musleabihf-0.13.2":
"5dc57704c05c4e583b1b98aacc70ca900f9bb15abb3def1ae9d178905f2fa0f3",
"armv7-unknown-linux-gnueabihf-0.13.2":
"5b16463eb53cc2189c46c9b40c1596fa28d0a657681594ca42afc5606fac732e",
"armv7-unknown-linux-musleabihf-0.13.2":
"4c852003d3b9841fb61910bfb0dd2588bff51db647f759b23fcfd637811d379e",
"i686-pc-windows-msvc-0.13.2":
"cc498f637cca87e1a87ba35f66e020797e514959bf74932d87d9b8c8a5d733b1",
"i686-unknown-linux-gnu-0.13.2":
"a951df6892005b6f5c8264b531f2ddf253dec9097dbcee9594295227eb93455d",
"i686-unknown-linux-musl-0.13.2":
"ad6b9933e4b43d509aa686b4e915aa132a8537ee2fe86753ca29d1efac8270c9",
"powerpc64-unknown-linux-gnu-0.13.2":
"3f656a654fc7f19a9dd9b6f4e17f8b181fca2d8eb36036d4c44a7d747ca4f834",
"powerpc64le-unknown-linux-gnu-0.13.2":
"cb6aab61485a32c24e334c005106775c94dad10a687dd31a3e2e9ddc65682776",
"riscv64gc-unknown-linux-gnu-0.13.2":
"a1ea659d0aab60dc3aa308d1ebf27abb3e95b4bbd89b836d9e8fb91dcc9b1b45",
"s390x-unknown-linux-gnu-0.13.2":
"8ba0c6d8ad5e102d9d4e6d3fbdabdf4cd1a894add52bc8b238bd675a03abc9b7",
"x86_64-apple-darwin-0.13.2":
"ed848ebd0a8d7d96a88686c5fc86e8bb6a4c1b831ace2dfa252777f9c69460c6",
"x86_64-pc-windows-msvc-0.13.2":
"dea59c3440e59e4dbfa17ec8e51c10fb6f7586650cf30aad8dd8674ee4cb3f3c",
"x86_64-unknown-linux-gnu-0.13.2":
"882a9b37e9fde0835ea67f98ad240c16abee6a2d374bc2429fee45a25b4a0738",
"x86_64-unknown-linux-musl-0.13.2":
"60755c060181b8d3649d5b568ebc80f76df49dd03249445627f2ceae552c21b6",
"aarch64-apple-darwin-0.13.1":
"1cfb3a7455a83602d474044243b618989edf58c2edda45eb4d3331ab550d52c1",
"aarch64-pc-windows-msvc-0.13.1":
"17c8ec337b61c014c0d1d090e379f28181d34c3d29edf528de3cf006f944bb18",
"aarch64-unknown-linux-gnu-0.13.1":
"a2c2063a82428abe654cc8cdd7427db0b5790ccdd6b8ab505af17e328b0e7d32",
"aarch64-unknown-linux-musl-0.13.1":
"3ad26d4a7a736e00373e635f03d7427e20183b0fe99b003a494bd5cdbc3c9c12",
"arm-unknown-linux-musleabihf-0.13.1":
"810e2f052b66c86836c6fcb88b888f6731047537d38e97afc4d43787363bddfe",
"armv7-unknown-linux-gnueabihf-0.13.1":
"c603565c9e1b13acadf54c02ff7a42b32787c6b60f45971e2519547d77535df4",
"armv7-unknown-linux-musleabihf-0.13.1":
"1d120eef7b14b5d141e77ffb3e3eaf161e597e7b55cc7d45977f1960b5be2d08",
"i686-pc-windows-msvc-0.13.1":
"f95615a35a87d7f8f6fb501feb01bc419e6d268ecd4af4f18777efac603a7d2a",
"i686-unknown-linux-gnu-0.13.1":
"2d332ec4da0b211a34a65c9f89dfd482907b35dfa82b95964fba82acb9db7948",
"i686-unknown-linux-musl-0.13.1":
"8e0f53b0ef11ef1a328a9c33dd565d16149397c33ac5bf9b1218373dad896e0f",
"powerpc64-unknown-linux-gnu-0.13.1":
"5f122167cb3719ae116421a6d2ff30a6dbf7f06649a998b7ea25a0450e3a4285",
"powerpc64le-unknown-linux-gnu-0.13.1":
"b2af20eb2a3a976c6bb5573a98e577334a366bc6a15a06dee165ae85ad7efe5d",
"riscv64gc-unknown-linux-gnu-0.13.1":
"48af0ab64584ee9b3c2b44e3c311e5c9ccce56af16234b7c916cc22068b1494e",
"s390x-unknown-linux-gnu-0.13.1":
"08cd47492750a58546d799b4774fcf21e62b8d9a5015d3bf1751d69a19659eea",
"x86_64-apple-darwin-0.13.1":
"9c4d53f20f5bae4d4e664cc91c26d57c1d0a67fb5fd16af6cffdac0db88474c2",
"x86_64-pc-windows-msvc-0.13.1":
"d9a89413459698f4b1a3803fe76ce1f5976c7d058ed33a081dcc570aca20ced7",
"x86_64-unknown-linux-gnu-0.13.1":
"ed653acecf38654fb2e0e45c760a2a12fabf84b390230efa0529896576fcb84a",
"x86_64-unknown-linux-musl-0.13.1":
"917c300e001a86d9a5d9aaa275dc49b20a7438e3f298e071b7b695a4092f1898",
"aarch64-apple-darwin-0.13.0":
"0d706798534537b6655b79fd95c2955c0a0013d4c54d36679d3306825a6bd6aa",
"aarch64-pc-windows-msvc-0.13.0":
"7131186a9e946ed5ef6bc90724b549b05317bbb7919b19927bfdf23df4434249",
"aarch64-unknown-linux-gnu-0.13.0":
"7aae1ff1a049bca087aabacf05dc7a13fcca4616efe1b7f031c3397d52f25e82",
"aarch64-unknown-linux-musl-0.13.0":
"bdee6f1376470b74b1dc5ed48eca52ec9c3e4512bd7f3204e0df100f0bed4741",
"arm-unknown-linux-musleabihf-0.13.0":
"9d118582cb4b2bb803be19b24b12ce74c78d450fbd9b6b3ca0bb1a8d626add89",
"armv7-unknown-linux-gnueabihf-0.13.0":
"eddb2dc55df67cca755b6e9006a28d709f6d565c8925dbe73569be195fe2ed35",
"armv7-unknown-linux-musleabihf-0.13.0":
"9b9f0e9926966b6f7227ff5eb115f0ce9fa00e70173a5ba52a4498cce9ccda49",
"i686-pc-windows-msvc-0.13.0":
"2cfb5ee1214ce8e5d8bbeefd7f48571b98f03dfb4f226fdebf879af82f912d7c",
"i686-unknown-linux-gnu-0.13.0":
"ec837f0fd6c2bdae082ac6af0417b235fdc500de56cecad9b1969c683a3c1126",
"i686-unknown-linux-musl-0.13.0":
"f1a4fd05eceee516eea520ae13fa9b496fa34563cadcc6b77f3f1bdd39b22dd6",
"powerpc64-unknown-linux-gnu-0.13.0":
"da2b5c82d2f68a5c52997d4557c7d399af8fa541e7691ccc5b4f44156c4389e2",
"powerpc64le-unknown-linux-gnu-0.13.0":
"55754ba31237cc0b4ce8156cfd76498a4478784568b200cd6a910de5931b84cf",
"riscv64gc-unknown-linux-gnu-0.13.0":
"41efed62a6c46f3e267763d481c223db96179a2eea203ad429f7af9986af1994",
"s390x-unknown-linux-gnu-0.13.0":
"a425d93ed5f3fd3d0e842c34fc26caf0226380c5c1feb953dc5143d32270833b",
"x86_64-apple-darwin-0.13.0":
"ac47ad1ac90f3070c064d2f5fceef4fe609fec7c073fd29d0814ed126c492e6d",
"x86_64-pc-windows-msvc-0.13.0":
"3a8d8cb96333671f78a5d209ddb4f830287e3eb2796fe01dd043b02ec1c1c7f1",
"x86_64-unknown-linux-gnu-0.13.0":
"19152c46d147cf0d3bf8486628fa1de4a8a33cdc5a1b263c4ed31c949de992d7",
"x86_64-unknown-linux-musl-0.13.0":
"b56ac90cc6987401bafdcf1b931ef044074c5b9451286afa4606a983f64f4fdd",
"aarch64-apple-darwin-0.12.12":
"fcf7bf04fcd4de79c5a4046ac4dd5eef6ad82f584f8656c2ab1da218639d386d",
"aarch64-pc-windows-msvc-0.12.12":
"b55d13ad63c8f48c623adb0290b5e02fa5cb65dc76b4bbcff649d7f1d4273af8",
"aarch64-unknown-linux-gnu-0.12.12":
"e8e508419940fd33c657b8abd3c0ede7ec04006619476e22f02d78ccd9476b44",
"aarch64-unknown-linux-musl-0.12.12":
"1fe423a0dba3d441bbd5e5cb46a635a8fcbe9812488524235e4f1bb725754f01",
"arm-unknown-linux-musleabihf-0.12.12":
"60d90844366feb2a3014f05440c229b8e916f4d197e38cb5e4f8149a39aebc92",
"armv7-unknown-linux-gnueabihf-0.12.12":
"273e73c140816c188399f4364b698998d1aba1e4b682696729c4e54de3670772",
"armv7-unknown-linux-musleabihf-0.12.12":
"3fabdcdde82870e53623f634a43d5bb543e7cfa8bc3b6e24149cbf19ab6436a2",
"i686-pc-windows-msvc-0.12.12":
"6121d1e2b0a5a37821aaa2c2d21e81da80e94c942fa12b6f752531b882cd0c51",
"i686-unknown-linux-gnu-0.12.12":
"7420224b8a5f7283147f72284de649a297a762bb8984ddc1ffda56f623748938",
"i686-unknown-linux-musl-0.12.12":
"75ed6520296f67e9b0cd82e26d3897896a24747e41dfa33786458208a7a491fd",
"powerpc64-unknown-linux-gnu-0.12.12":
"3308e5a680189793bfd408e52c724124c9cf01787f13da31c4d8e5d5bb02c620",
"powerpc64le-unknown-linux-gnu-0.12.12":
"3cb063448a9acf92d5e234b4af2cc8800808e0c9d09078dc66f2ca64dffa9a0e",
"riscv64gc-unknown-linux-gnu-0.12.12":
"140ba0ebddd736b793c80ec36dc870fa11974cf194921fefb6aab303afe1a696",
"s390x-unknown-linux-gnu-0.12.12":
"13777acab7da68b180912e3933249ee069378b8f768e95ff0d2359d43f9e549a",
"x86_64-apple-darwin-0.12.12":
"92231ffd1448909f09ce2675ea674e5c51e1984cb64b99919fff60b861b4f5d9",
"x86_64-pc-windows-msvc-0.12.12":
"bd10f42b2d580e2fd4af2757d68df34e6483dbee5d57263b33b2198cc11058a8",
"x86_64-unknown-linux-gnu-0.12.12":
"1baad5d4282fcad356925d45b84b5c0a9c8a814c1b7919027651b8f83bd78828",
"x86_64-unknown-linux-musl-0.12.12":
"dd4840045c585ebc982530b9a8b687787dd6f3c099da93a6c1ff495471ab937b",
"aarch64-apple-darwin-0.12.11":
"09690b35cac07d5bb096b291b88b8adcbf7750163c20ada2dfd33aa02acd3d88",
"aarch64-pc-windows-msvc-0.12.11":
"758d7da795fca758ca82b3b657f71dda92ef090bbb581bce189dde5412eafcc6",
"aarch64-unknown-linux-gnu-0.12.11":
"4664bec73806c4b9a30a56510281004dcccfac4f1877a60fcd87e07b01ab7463",
"aarch64-unknown-linux-musl-0.12.11":
"9848a6f91b0aa292063c04a74f5a8984a83bb1f4c9c21518e6f9eda4ec810d44",
"arm-unknown-linux-musleabihf-0.12.11":
"f82835161ff591489ed270781154ea78b0e4b55f98229892f7efa200be3cff74",
"armv7-unknown-linux-gnueabihf-0.12.11":
"e231c22937bf53d399a0f10e6b7e418c7e69462c0ce2b6a51a49e51a8a3e060d",
"armv7-unknown-linux-musleabihf-0.12.11":
"7d94766a23e40a6c351aa803cf868247a006bbe5ee08385edf8d02889ba1ddaa",
"i686-pc-windows-msvc-0.12.11":
"5f44870463efc6c8b16eb07f2b6fc8209c75f5c1050ef83b2c66305a6dd0839c",
"i686-unknown-linux-gnu-0.12.11":
"e2b7c746c40aaacb0f8eeef4bf04c520479ecf3b162edb7c836e8873c68b099c",
"i686-unknown-linux-musl-0.12.11":
"a644834a42e13b3768c151152f154e3ab12154e5566dfb46edea0bf3862d6e43",
"powerpc64-unknown-linux-gnu-0.12.11":
"99736afef3ea165aae8800411a1c058a0037f774691400c1679bd609a5bc0419",
"powerpc64le-unknown-linux-gnu-0.12.11":
"c01aef8b1f20878952399a1a71011be2ab14471c44d94b652be1e41ee3e07315",
"riscv64gc-unknown-linux-gnu-0.12.11":
"88d0604b40b523b208e68669512bc8a6d2ea7043d745976ff6530de79bce9385",
"s390x-unknown-linux-gnu-0.12.11":
"cc16d30ba5a4544c75d608ac78cf59ebb27f657c7e92ea853398ed63794a7319",
"x86_64-apple-darwin-0.12.11":
"b6627363e52f6b49466f032894c3c395c4bbc645f6c520069050debbbaf8204f",
"x86_64-pc-windows-msvc-0.12.11":
"a9246d32c62999747cd0671e7d11ad4ebfb36a5f658fe63de583c7a5e9e2f306",
"x86_64-unknown-linux-gnu-0.12.11":
"c127b7ccc292ad4489440e90e3ef314113cda79f3add3acd687a0db235f1692c",
"x86_64-unknown-linux-musl-0.12.11":
"8e1631dc9b662759d08ab7bc0e4643636e36c450479006711bfe0d83b659686f",
"aarch64-apple-darwin-0.12.10":
"72c6abf39f5e87c57faa2d191baf2582e437ff72cdc0f52b7c7e50f26d41b807",
"aarch64-pc-windows-msvc-0.12.10":
"b157b393f368f9f1f646f573066e0cbf81fa852be3ba15fdd3a76c75a0b45c6e",
"aarch64-unknown-linux-gnu-0.12.10":
"f58ea47d6d482712a8338056541fb604956d8c81f37323d29c7920a88179e542",
"aarch64-unknown-linux-musl-0.12.10":
"10b43a88fb948aaae538ec9f35e93b4433f144d0379fb3a67d88282595b969f7",
"arm-unknown-linux-musleabihf-0.12.10":
"a6d94f838d4a2720199ea530172b63280860f9f92cae1eaaa3041899e62664e2",
"armv7-unknown-linux-gnueabihf-0.12.10":
"4e1a7330cebebd3f4e4e0dc1f5b8d4f768f0dc1cff0e199e8425eb8ebe8bf799",
"armv7-unknown-linux-musleabihf-0.12.10":
"4f0b1cd3ea250c87abc766c341225e12c465fc4622272e621e9fb64b4b00ac19",
"i686-pc-windows-msvc-0.12.10":
"b5d58c3b59aebe46626116721498bb7f88605f0085ebc23d3a75b78724ecc687",
"i686-unknown-linux-gnu-0.12.10":
"759096182f5e767efc6b7f3ac2a3df2dceb26c5091604b03a305f3882fb80ae4",
"i686-unknown-linux-musl-0.12.10":
"c7b6d22586642a3f2f6ce051a75783874cb7f3f3626e28b92fbf22fbbfd2329d",
"powerpc64-unknown-linux-gnu-0.12.10":
"49e52b6ee3edef681e1d28127ef990b504996b97d8e1ee30a000a72c9486c31e",
"powerpc64le-unknown-linux-gnu-0.12.10":
"0c562f790640b6d128867af254a646b86d1975a7ae426b3a61e332c08ad9db6c",
"riscv64gc-unknown-linux-gnu-0.12.10":
"9ca0ecf7a7b93a7d3348cbc10989a4779a9a79bc47b5ab47f510fde74abe88d5",
"s390x-unknown-linux-gnu-0.12.10":
"a71fe85458fb0e1df2e73abb03a945a90eda722162fe13e1b326bd6807b83192",
"x86_64-apple-darwin-0.12.10":
"8619f277921b3e2e56d850c3e203fd4ef10b457bc50f93ab6fe85743eb324de6",
"x86_64-pc-windows-msvc-0.12.10":
"a639e4dee10cb2900bffa7165457766671c59c744ce6b61cc658c35ab33a91fd",
"x86_64-unknown-linux-gnu-0.12.10":
"a3e1757c16f3feffab6faf22140d57e5528c91c7b338d4fa542dc50f95b857fb",
"x86_64-unknown-linux-musl-0.12.10":
"dd4e5b8f81547a48975489913a80e0dce6be7f1c455912fe3a5bd5a1f5f1a35d",
"aarch64-apple-darwin-0.12.9":
"68cb47f9a98e17c59e861c3b635b32c5212defd21a4ec0b5c1d56950d06076e5",
"aarch64-pc-windows-msvc-0.12.9":
"c747d2ca1bd3bb6df0a2af31f39a53180f2bf556242e5380c495cbd7056c10be",
"aarch64-unknown-linux-gnu-0.12.9":
"302dcca660fb843f4cebff7ae57e1f4177c5cbc3d760aea419cead8a741a77b7",
"aarch64-unknown-linux-musl-0.12.9":
"dca567860383bb6a7b021dab76c616b02ed9a268516a0a1a1dce56ee482740d7",
"arm-unknown-linux-musleabihf-0.12.9":
"d58c9b2a5f92494a5765a22feaf4704eede88a97105d60a0436d3af9b88db335",
"armv7-unknown-linux-gnueabihf-0.12.9":
"062242367b6a3e72f436e6f913b1c1afa2cc161dc270128366b3f0e27e14f2f6",
"armv7-unknown-linux-musleabihf-0.12.9":
"aee8c90b621d339bb10fa53a88e3f3d33881ddaa7a5d04a398b3c2eb42769f3c",
"i686-pc-windows-msvc-0.12.9":
"3a043c3f3b5dfd2bd074a6bc86ee83f218dad59dc47b2dcea23ef27ac9b973eb",
"i686-unknown-linux-gnu-0.12.9":
"5f5a3ae7b21e09b2fca7a950e466f56769845b93a851bc354f2811c6483041dd",
"i686-unknown-linux-musl-0.12.9":
"66e5db26cc7bf20edc8be2e89dfceb25bd5828ea7405009ad0c5edaa7019e47f",
"powerpc64-unknown-linux-gnu-0.12.9":
"0a520d5bc483ef02c4d37d716d8ed276e08d5df8e85b5cce8cdb5a2cefe31777",
"powerpc64le-unknown-linux-gnu-0.12.9":
"ac9c786cc9bb6c84aa3a5ea5f5a2135349f3e3a28068f307863d8d72c83b11e3",
"riscv64gc-unknown-linux-gnu-0.12.9":
"cf7bf473d85ceb289b0e51619cf07d3b854976dc6f99213c869c1e4710264bc7",
"s390x-unknown-linux-gnu-0.12.9":
"2d67952a2f5b4fff530e89f969cd4075b7086032135829ae82221b2d2bd2bab0",
"x86_64-apple-darwin-0.12.9":
"cc8195f89146268086e99225316b4214100eb78010aa84b9e650f8322d5790f0",
"x86_64-pc-windows-msvc-0.12.9":
"9d360dfd4ca5f688aabf542c570644fab8b02a3c0e71460cf51fc4869df03ba6",
"x86_64-unknown-linux-gnu-0.12.9":
"db126272c8473979d744c9be0fd9410ca431dc0cc9daa67286f4f206dd715957",
"x86_64-unknown-linux-musl-0.12.9":
"c177d59d4c6347abbf08c8943eff919432d5c70229a0dd6390e5697d393a9c05",
"aarch64-apple-darwin-0.12.8":
"d7ddfc029858b97452e728c229b0378e3dde5300b23df5cc5c77296025971379",
"aarch64-pc-windows-msvc-0.12.8":
"99cedac1f9b7a321a0e2b81ded68bbaf5dbff6aedac528766eda50d3871ccce9",
"aarch64-unknown-linux-gnu-0.12.8":
"fc4a79cfe90c8e4f7bfdad2198e939b70416916a7e90f687f30490b25e2171d6",
"aarch64-unknown-linux-musl-0.12.8":
"6840915d3f11a32ac00368206d7a4c957d2d499bc324ab39a3a0a851fda07dc2",
"arm-unknown-linux-musleabihf-0.12.8":
"cf549a91db1de22bde9562725d748625a23d41050f2e3ef9a6dca0b6abaa3ca3",
"armv7-unknown-linux-gnueabihf-0.12.8":
"b69472a32bc355f7cbc61d939d3ea1cbf1ab42f1bddd56f4ad53af1a372dab55",
"armv7-unknown-linux-musleabihf-0.12.8":
"0de514e00cfccff21fd52315f439e52ac95f02539487a78ea864df5d8627e77e",
"i686-pc-windows-msvc-0.12.8":
"50bd0eea8f4dc8a94a96cc64f3f61163421f02230672e12b5a91068c7585f7e1",
"i686-unknown-linux-gnu-0.12.8":
"3363c9c7b41fec9ad680f9bb32b65fffb30bd582e0fc2ae5d3ee8c51e3fc8347",
"i686-unknown-linux-musl-0.12.8":
"73dbe5b0718322479e7e78abf598c626d7ffc8cf10a2ebc54524fb0e0118fa37",
"powerpc64-unknown-linux-gnu-0.12.8":
"570dda0a1f5683eb2124491356694fcd2d5b13efc43f2b2f7315fe187fc2add5",
"powerpc64le-unknown-linux-gnu-0.12.8":
"73bab12d97b6ecd54d8e338f57ab90b3c06e6bdb965bd9ea1613a2c11eb24256",
"s390x-unknown-linux-gnu-0.12.8":
"001f98c87871a617fda8addc74954b79b8c10875feade4a187de79daf8613fcc",
"x86_64-apple-darwin-0.12.8":
"5c795cae1956a1d1c84e1d93c952b627da1541311fdbb09885bf9d80b0e2cc42",
"x86_64-pc-windows-msvc-0.12.8":
"223d7691fc68bfcfb0bbefa35e5d63998721367404573d883e97583fe73a7682",
"x86_64-unknown-linux-gnu-0.12.8":
"ac0edfd0935dfedc884f2ddeab6705b4875e7e84aa9f1c7af78233492ebecdb0",
"x86_64-unknown-linux-musl-0.12.8":
"0062142b6277177f196a9dd7cf1bcf10f536f8a33c458d258525504f94760227",
"aarch64-apple-darwin-0.12.7":
"86b39b4002bb12588af972ad56cfddc1eaa0879c4badb07f0021fae77b5cd958",
"aarch64-pc-windows-msvc-0.12.7":
"35b51d47463eebfc2d39863222a19540e73ddda5b1662b88e774580a7ac526a4",
"aarch64-unknown-linux-gnu-0.12.7":
"0d4bb492a02cf191a2e1e058cf819c2ed86c05ea444de5e3895ba75c890a9804",
"aarch64-unknown-linux-musl-0.12.7":
"5f97261a334af4f4ba41baa5cea0f0dfd8d732d9ab22beb5bf0639804389bfa3",
"arm-unknown-linux-musleabihf-0.12.7":
"ec0d3cf0c6721b1c4c7480995d8a538b217c9dcf37f64389f05a0bea7ff308b9",
"armv7-unknown-linux-gnueabihf-0.12.7":
"59f8f6d19faa61f3ca6e7127a3e34470028bed90e40bebacf7c8be48d3080140",
"armv7-unknown-linux-musleabihf-0.12.7":
"6ce861317f812b69c68a92c6f6afbb68b99bab4525758b9bad659f94a6fd2429",
"i686-pc-windows-msvc-0.12.7":
"becca8cf66388f2532477ad28fae2bd3ccfda8635f4fd68d7139914020203ff6",
"i686-unknown-linux-gnu-0.12.7":
"65bbeba7444f62cc403591999d7bfbf3aec0e2ecae869c969c9faf096a737279",
"i686-unknown-linux-musl-0.12.7":
"0fd4cc8e5f2f02acd208482da316fdb4ecc2179d11bf0aa61d7622ba7100e889",
"powerpc64-unknown-linux-gnu-0.12.7":
"81efd82ed616aa951499cf4012420adfbc4cac0b39375623bbecbf79a4d08098",
"powerpc64le-unknown-linux-gnu-0.12.7":
"46360fc4d0b498a3ebfc9ee73ee6b2b59db3ace21dbf12ba41e5fb15dfb71364",
"s390x-unknown-linux-gnu-0.12.7":
"ef03f40de21e9eed3e66626d3af768b3f9a82cd2e8cd62bc887bcd206a2ccdce",
"x86_64-apple-darwin-0.12.7":
"f0179a587d5509f32ab16bd95cdf64ddcebc80d653e3674161d366312a4eaf7a",
"x86_64-pc-windows-msvc-0.12.7":
"12a239698d4f0926523cb51a9b00a560615d6237e9a748c563a74f4708f4abdf",
"x86_64-unknown-linux-gnu-0.12.7":
"65b1ec7ba8feda6cbe52aec168f32e5c276577065914fca922b9a8b3f42db433",
"x86_64-unknown-linux-musl-0.12.7":
"58aeb49137d0a9df810ba26c778d10d612f8c1439439527a6a95c90ea318c7c5",
"aarch64-apple-darwin-0.12.5":
"8819b61cff645c1d1671df331bb57c1ab230094b686942bccedde1f888feb522",
"aarch64-pc-windows-msvc-0.12.5":
"b5f06365b87c4d90de76dbd17379db937faa49cd37a931f1908e7c94a604dcd4",
"aarch64-unknown-linux-gnu-0.12.5":
"6d00576ccef50b5627ded90879430acd40d590bbc7b354af0549f41fe2f58fcf",
"aarch64-unknown-linux-musl-0.12.5":
"f147ccdbe26d35f2752c6d97d158bc8e3b4d1833d283748fc48f350c698a6f7b",
"arm-unknown-linux-musleabihf-0.12.5":
"c6aaa6d90cd2abad0650e968defa8e30dd065ea05ef6391716302cc8e6e34287",
"armv7-unknown-linux-gnueabihf-0.12.5":
"e479a5f64160f814b44415ccdc834b0f85b539bc286eb8c09199a7aeefa6bf06",
"armv7-unknown-linux-musleabihf-0.12.5":
"04b7b507752e6f62fffefa3d02d31e96a7e8fb31f699dbc83fb814d7c3c4bb15",
"i686-pc-windows-msvc-0.12.5":
"a0c5b5be39841055fa7b4255cbcc9e8761a1328f461d2335dd53cc195b7c51bb",
"i686-unknown-linux-gnu-0.12.5":
"0c95dc3c5711fccccf26a1aef9a620d6a1fd2faa8485e38ec91d836f7d2200e1",
"i686-unknown-linux-musl-0.12.5":
"d223f9db886191de0c80c5e2519f413dce0281080f6bc9eecbaff18e2c474d52",
"powerpc64-unknown-linux-gnu-0.12.5":
"c436a319fec80a7b23591fbd15b2c224a3b30a5c0dc257d150f684a8c45dc147",
"powerpc64le-unknown-linux-gnu-0.12.5":
"26ccf69bb0a6b98b8ad0d7e566acacbd86e2fbbd734ea98b854e40237905a9c9",
"s390x-unknown-linux-gnu-0.12.5":
"c8f8ef8f4ce2930085f7e3e17ee58936938b41c9753c2a9aeab0a6473138887a",
"x86_64-apple-darwin-0.12.5":
"5af0b2931581a5ed91743c9f669c23cb0db9bb1f0c49f8695ad1443dbc6a9e50",
"x86_64-pc-windows-msvc-0.12.5":
"91b88d365f60e3b641d5204a87d56275cd1b4a869f939b637b06e1d6e9fd38e1",
"x86_64-unknown-linux-gnu-0.12.5":
"1ef5e978c41c67feaa5447d97a4400f5f0136c92d6507a876d81f1a2fd64d154",
"x86_64-unknown-linux-musl-0.12.5":
"79beb4eac07beaea24774709eeb88a87115f1b53f857dcc1155431e642e01ade",
"aarch64-apple-darwin-0.12.4":
"be7dc64e69a31b1bb9e875274778c1b65c9470ff18214232aa35fc843e5a6826",
"aarch64-pc-windows-msvc-0.12.4":
"859739ae8f64f39512f637ecc56ca12adfdc0d45f79f2ce1ba53d5111d92e753",
"aarch64-unknown-linux-gnu-0.12.4":
"8ce8faaeeb277f7481eb6fb21d1073365f1e633513f67542d245fad2aeebabca",
"aarch64-unknown-linux-musl-0.12.4":
"adab1c084dbe508c134a354e277b6706da98e89c84aee619cbff37fff5f0b8fc",
"arm-unknown-linux-musleabihf-0.12.4":
"0357e038b60ef8c879d625474f0c93e31601a3e648836ccf4dfcf85ffa7897d3",
"armv7-unknown-linux-gnueabihf-0.12.4":
"dd6f50075a6b02878d35b21a192ba6ec1a7b43be21b882f6363cceac19e457f7",
"armv7-unknown-linux-musleabihf-0.12.4":
"1286d7520f616f797427a492e51f2f53248505661c86ed30d141379f595ad049",
"i686-pc-windows-msvc-0.12.4":
"5f6a09e123059e7b434edc68b5ed5e8d2af8156cf10506a3587c51ecc1ffcab1",
"i686-unknown-linux-gnu-0.12.4":
"a19cc2babc73065184e60ee41a1157e94f290261175cbc51b11038ebb0dde84a",
"i686-unknown-linux-musl-0.12.4":
"c230fe5125497ba667bbe554759bdbd43d7e45855762ce35afc7e1bccd4300ed",
"powerpc64-unknown-linux-gnu-0.12.4":
"d8f029b295985aeb0ec877e232d43f56e452792e8edabcc82b1094ac2d07c006",
"powerpc64le-unknown-linux-gnu-0.12.4":
"60ac64921ff538beb3cbe8d91b56bda14dffaa7f4c398ebbedb0ff358b1c71c8",
"s390x-unknown-linux-gnu-0.12.4":
"78319ca0b164c84cb8a0f8bbe13372c9dd4d26cbc286b78c34bb5e947695fe08",
"x86_64-apple-darwin-0.12.4":
"2c829e3128354900495ad91d0401e2284e70121bae67cfcb264eea3a639381a5",
"x86_64-pc-windows-msvc-0.12.4":
"0fcadba5764177cc79d3b1bdf56481e71977dd167efd1073f9db9b719e34ed38",
"x86_64-unknown-linux-gnu-0.12.4":
"bc783b6b4b4a253ec2d9baf5ce559aa3a41570a14ae865cac3cdd11ef28403a7",
"x86_64-unknown-linux-musl-0.12.4":
"41117fc1c67eb9572c50403297bd5fcb8cec99d8a1566badec7ff1a03f8a356d",
"aarch64-apple-darwin-0.12.3": "aarch64-apple-darwin-0.12.3":
"5769e4841870d1f7c17f12a7d1437222e8035eded52f93c54c035c770dbffebb", "5769e4841870d1f7c17f12a7d1437222e8035eded52f93c54c035c770dbffebb",
"aarch64-pc-windows-msvc-0.12.3": "aarch64-pc-windows-msvc-0.12.3":
@@ -1,5 +1,11 @@
import { promises as fs } from "node:fs"; import { promises as fs } from "node:fs";
import * as tc from "@actions/tool-cache"; import * as tc from "@actions/tool-cache";
import {
isRetryableError,
NonRetryableError,
RetryableError,
withRetry,
} from "../../utils/retry";
import { KNOWN_CHECKSUMS } from "./known-checksums"; import { KNOWN_CHECKSUMS } from "./known-checksums";
export async function updateChecksums( export async function updateChecksums(
filePath: string, filePath: string,
@@ -60,6 +66,27 @@ async function getOrDownloadChecksum(
} }
async function downloadAssetContent(downloadUrl: string): Promise<string> { async function downloadAssetContent(downloadUrl: string): Promise<string> {
return await withRetry(
async () => {
try {
const downloadPath = await tc.downloadTool(downloadUrl); const downloadPath = await tc.downloadTool(downloadUrl);
return await fs.readFile(downloadPath, "utf8"); return await fs.readFile(downloadPath, "utf8");
} catch (error) {
const err = error as Error;
if (isRetryableError(err)) {
throw new RetryableError(
`Failed to download checksum file: ${err.message}`,
err,
);
} else {
throw new NonRetryableError(
`Failed to download checksum file: ${err.message}`,
err,
);
}
}
},
{ maxRetries: 3, timeoutMs: 30000 },
"download checksum file",
);
} }
+132 -19
View File
@@ -1,15 +1,21 @@
import { promises as fs } from "node:fs";
import * as path from "node:path";
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as tc from "@actions/tool-cache"; import * as tc from "@actions/tool-cache";
import * as path from "node:path";
import { promises as fs } from "node:fs";
import * as semver from "semver";
import * as pep440 from "@renovatebot/pep440";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms";
import { validateChecksum } from "./checksum/checksum";
import { Octokit } from "@octokit/core"; import { Octokit } from "@octokit/core";
import { paginateRest } from "@octokit/plugin-paginate-rest"; import { paginateRest } from "@octokit/plugin-paginate-rest";
import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods"; import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
import * as pep440 from "@renovatebot/pep440";
import * as semver from "semver";
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
import type { Architecture, Platform } from "../utils/platforms";
import {
isRetryableError,
NonRetryableError,
RetryableError,
withRetry,
} from "../utils/retry";
import { validateChecksum } from "./checksum/checksum";
const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods); const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods);
@@ -25,7 +31,7 @@ export function tryGetFromToolCache(
resolvedVersion = version; resolvedVersion = version;
} }
const installedPath = tc.find(TOOL_CACHE_NAME, resolvedVersion, arch); const installedPath = tc.find(TOOL_CACHE_NAME, resolvedVersion, arch);
return { version: resolvedVersion, installedPath }; return { installedPath, version: resolvedVersion };
} }
export async function downloadVersion( export async function downloadVersion(
@@ -43,11 +49,29 @@ export async function downloadVersion(
const downloadUrl = constructDownloadUrl(version, platform, arch); const downloadUrl = constructDownloadUrl(version, platform, arch);
core.debug(`Downloading ruff from "${downloadUrl}" ...`); core.debug(`Downloading ruff from "${downloadUrl}" ...`);
const downloadPath = await tc.downloadTool( const downloadPath = await withRetry(
downloadUrl, async () => {
undefined, try {
githubToken, return await tc.downloadTool(downloadUrl, undefined, githubToken);
} catch (error) {
const err = error as Error;
if (isRetryableError(err)) {
throw new RetryableError(
`Failed to download ruff binary: ${err.message}`,
err,
); );
} else {
throw new NonRetryableError(
`Failed to download ruff binary: ${err.message}`,
err,
);
}
}
},
{ maxRetries: 3, timeoutMs: 60000 }, // 60 second timeout for downloads
"download ruff binary",
);
core.debug(`Downloaded ruff to "${downloadPath}"`); core.debug(`Downloaded ruff to "${downloadPath}"`);
await validateChecksum(checkSum, downloadPath, arch, platform, version); await validateChecksum(checkSum, downloadPath, arch, platform, version);
@@ -65,7 +89,7 @@ export async function downloadVersion(
version, version,
arch, arch,
); );
return { version: version, cachedToolDir }; return { cachedToolDir, version: version };
} }
function constructDownloadUrl( function constructDownloadUrl(
@@ -134,34 +158,82 @@ export async function resolveVersion(
} }
async function getAvailableVersions(githubToken: string): Promise<string[]> { async function getAvailableVersions(githubToken: string): Promise<string[]> {
return await withRetry(
async () => {
try { try {
const octokit = new PaginatingOctokit({ const octokit = new PaginatingOctokit({
auth: githubToken, auth: githubToken,
}); });
return await getReleaseTagNames(octokit); return await getReleaseTagNames(octokit);
} catch (err) { } catch (err) {
if ((err as Error).message.includes("Bad credentials")) { const error = err as Error;
if (error.message.includes("Bad credentials")) {
core.info( core.info(
"No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.", "No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.",
); );
const octokit = new PaginatingOctokit(); const octokit = new PaginatingOctokit();
return await getReleaseTagNames(octokit); return await getReleaseTagNames(octokit);
} }
throw err;
if (isRetryableError(error)) {
throw new RetryableError(
`Failed to get available versions: ${error.message}`,
error,
);
} else {
throw new NonRetryableError(
`Failed to get available versions: ${error.message}`,
error,
);
} }
}
},
{ maxRetries: 3, timeoutMs: 30000 }, // 30 second timeout for API calls
"get available versions",
);
} }
async function getReleaseTagNames( async function getReleaseTagNames(
octokit: InstanceType<typeof PaginatingOctokit>, octokit: InstanceType<typeof PaginatingOctokit>,
): Promise<string[]> { ): Promise<string[]> {
const response = await octokit.paginate(octokit.rest.repos.listReleases, { const response = await withRetry(
async () => {
try {
return await octokit.paginate(octokit.rest.repos.listReleases, {
owner: OWNER, owner: OWNER,
repo: REPO, repo: REPO,
}); });
} catch (error) {
const err = error as Error;
if (isRetryableError(err)) {
throw new RetryableError(
`Failed to list GitHub releases: ${err.message}`,
err,
);
} else {
throw new NonRetryableError(
`Failed to list GitHub releases: ${err.message}`,
err,
);
}
}
},
{ maxRetries: 3, timeoutMs: 30000 },
"list GitHub releases",
);
const releaseTagNames = response.map((release) => release.tag_name);
if (releaseTagNames.length === 0) {
throw Error(
"Github API request failed while getting releases. Check the GitHub status page for outages. Try again later.",
);
}
return response.map((release) => release.tag_name); return response.map((release) => release.tag_name);
} }
async function getLatestVersion(githubToken: string) { async function getLatestVersion(githubToken: string) {
return await withRetry(
async () => {
const octokit = new PaginatingOctokit({ const octokit = new PaginatingOctokit({
auth: githubToken, auth: githubToken,
}); });
@@ -170,14 +242,29 @@ async function getLatestVersion(githubToken: string) {
try { try {
latestRelease = await getLatestRelease(octokit); latestRelease = await getLatestRelease(octokit);
} catch (err) { } catch (err) {
if ((err as Error).message.includes("Bad credentials")) { const error = err as Error;
if (error.message.includes("Bad credentials")) {
core.info( core.info(
"No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.", "No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.",
); );
const octokit = new PaginatingOctokit(); const octokit = new PaginatingOctokit();
latestRelease = await getLatestRelease(octokit); latestRelease = await getLatestRelease(octokit);
} else { } else {
throw err; core.error(
"Github API request failed while getting latest release. Check the GitHub status page for outages. Try again later.",
);
if (isRetryableError(error)) {
throw new RetryableError(
`Failed to get latest version: ${error.message}`,
error,
);
} else {
throw new NonRetryableError(
`Failed to get latest version: ${error.message}`,
error,
);
}
} }
} }
@@ -185,16 +272,42 @@ async function getLatestVersion(githubToken: string) {
throw new Error("Could not determine latest release."); throw new Error("Could not determine latest release.");
} }
return latestRelease.tag_name; return latestRelease.tag_name;
},
{ maxRetries: 3, timeoutMs: 30000 },
"get latest version",
);
} }
async function getLatestRelease( async function getLatestRelease(
octokit: InstanceType<typeof PaginatingOctokit>, octokit: InstanceType<typeof PaginatingOctokit>,
) { ) {
const { data: latestRelease } = await octokit.rest.repos.getLatestRelease({ return await withRetry(
async () => {
try {
const { data: latestRelease } =
await octokit.rest.repos.getLatestRelease({
owner: OWNER, owner: OWNER,
repo: REPO, repo: REPO,
}); });
return latestRelease; return latestRelease;
} catch (error) {
const err = error as Error;
if (isRetryableError(err)) {
throw new RetryableError(
`Failed to get latest release: ${err.message}`,
err,
);
} else {
throw new NonRetryableError(
`Failed to get latest release: ${err.message}`,
err,
);
}
}
},
{ maxRetries: 3, timeoutMs: 30000 },
"get latest release",
);
} }
function maxSatisfying( function maxSatisfying(
+10 -11
View File
@@ -1,18 +1,13 @@
import * as fs from "node:fs";
import * as path from "node:path";
import * as core from "@actions/core"; import * as core from "@actions/core";
import * as exec from "@actions/exec"; import * as exec from "@actions/exec";
import * as path from "node:path"; import * as semver from "semver";
import { import {
downloadVersion, downloadVersion,
resolveVersion, resolveVersion,
tryGetFromToolCache, tryGetFromToolCache,
} from "./download/download-version"; } from "./download/download-version";
import {
type Architecture,
getArch,
getPlatform,
type Platform,
} from "./utils/platforms";
import { import {
args, args,
checkSum, checkSum,
@@ -21,9 +16,13 @@ import {
version, version,
versionFile as versionFileInput, versionFile as versionFileInput,
} from "./utils/inputs"; } from "./utils/inputs";
import {
type Architecture,
getArch,
getPlatform,
type Platform,
} from "./utils/platforms";
import { getRuffVersionFromRequirementsFile } from "./utils/pyproject"; import { getRuffVersionFromRequirementsFile } from "./utils/pyproject";
import * as fs from "node:fs";
import * as semver from "semver";
async function run(): Promise<void> { async function run(): Promise<void> {
const platform = getPlatform(); const platform = getPlatform();
@@ -116,7 +115,7 @@ async function determineVersion(): Promise<string> {
const versionFromPyproject = const versionFromPyproject =
getRuffVersionFromRequirementsFile(pyProjectPath); getRuffVersionFromRequirementsFile(pyProjectPath);
if (versionFromPyproject === undefined) { if (versionFromPyproject === undefined) {
core.warning( core.info(
`Could not parse version from ${pyProjectPath}. Using latest version.`, `Could not parse version from ${pyProjectPath}. Using latest version.`,
); );
} }
+31 -6
View File
@@ -1,12 +1,16 @@
import { Octokit } from "@octokit/core";
import * as core from "@actions/core"; import * as core from "@actions/core";
import { Octokit } from "@octokit/core";
import { paginateRest } from "@octokit/plugin-paginate-rest"; import { paginateRest } from "@octokit/plugin-paginate-rest";
import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods"; import { restEndpointMethods } from "@octokit/plugin-rest-endpoint-methods";
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";
import { OWNER, REPO } from "./utils/constants";
import {
isRetryableError,
NonRetryableError,
RetryableError,
withRetry,
} from "./utils/retry";
const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods); const PaginatingOctokit = Octokit.plugin(paginateRest, restEndpointMethods);
@@ -14,12 +18,33 @@ 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 response = await withRetry(
async () => {
try {
const octokit = new PaginatingOctokit({ auth: github_token }); const octokit = new PaginatingOctokit({ auth: github_token });
return await octokit.paginate(octokit.rest.repos.listReleases, {
const response = await octokit.paginate(octokit.rest.repos.listReleases, {
owner: OWNER, owner: OWNER,
repo: REPO, repo: REPO,
}); });
} catch (error) {
const err = error as Error;
if (isRetryableError(err)) {
throw new RetryableError(
`Failed to list releases for checksum update: ${err.message}`,
err,
);
} else {
throw new NonRetryableError(
`Failed to list releases for checksum update: ${err.message}`,
err,
);
}
}
},
{ maxRetries: 3, timeoutMs: 60000 },
"list releases for checksum update",
);
const downloadUrls: string[] = response.flatMap((release) => const downloadUrls: string[] = response.flatMap((release) =>
release.assets release.assets
.filter((asset) => asset.name.endsWith(".sha256")) .filter((asset) => asset.name.endsWith(".sha256"))
+2 -2
View File
@@ -9,9 +9,9 @@ export type Architecture = "i686" | "x86_64" | "aarch64";
export function getArch(): Architecture | undefined { export function getArch(): Architecture | undefined {
const arch = process.arch; const arch = process.arch;
const archMapping: { [key: string]: Architecture } = { const archMapping: { [key: string]: Architecture } = {
arm64: "aarch64",
ia32: "i686", ia32: "i686",
x64: "x86_64", x64: "x86_64",
arm64: "aarch64",
}; };
if (arch in archMapping) { if (arch in archMapping) {
@@ -22,8 +22,8 @@ export function getArch(): Architecture | undefined {
export function getPlatform(): Platform | undefined { export function getPlatform(): Platform | undefined {
const platform = process.platform; const platform = process.platform;
const platformMapping: { [key: string]: Platform } = { const platformMapping: { [key: string]: Platform } = {
linux: "unknown-linux-gnu",
darwin: "apple-darwin", darwin: "apple-darwin",
linux: "unknown-linux-gnu",
win32: "pc-windows-msvc", win32: "pc-windows-msvc",
}; };
+176
View File
@@ -0,0 +1,176 @@
import * as core from "@actions/core";
export interface RetryOptions {
maxRetries: number;
initialDelayMs: number;
maxDelayMs: number;
backoffMultiplier: number;
timeoutMs?: number;
}
export const DEFAULT_RETRY_OPTIONS: RetryOptions = {
backoffMultiplier: 2,
initialDelayMs: 1000,
maxDelayMs: 10000,
maxRetries: 3,
timeoutMs: 30000, // 30 second timeout
};
export class RetryableError extends Error {
constructor(
message: string,
public readonly cause?: Error,
) {
super(message);
this.name = "RetryableError";
}
}
export class NonRetryableError extends Error {
constructor(
message: string,
public readonly cause?: Error,
) {
super(message);
this.name = "NonRetryableError";
}
}
export async function withRetry<T>(
operation: () => Promise<T>,
options: Partial<RetryOptions> = {},
operationName = "operation",
): Promise<T> {
const opts = { ...DEFAULT_RETRY_OPTIONS, ...options };
let lastError: Error | undefined;
for (let attempt = 0; attempt <= opts.maxRetries; attempt++) {
try {
if (attempt > 0) {
const delay = Math.min(
opts.initialDelayMs * opts.backoffMultiplier ** (attempt - 1),
opts.maxDelayMs,
);
core.info(
`Retrying ${operationName} (attempt ${attempt + 1}/${opts.maxRetries + 1}) after ${delay}ms delay...`,
);
await sleep(delay);
}
// Wrap operation with timeout if specified
if (opts.timeoutMs) {
return await withTimeout(operation(), opts.timeoutMs, operationName);
} else {
return await operation();
}
} catch (error) {
lastError = error as Error;
// Don't retry on non-retryable errors
if (lastError instanceof NonRetryableError) {
core.debug(
`Non-retryable error in ${operationName}: ${lastError.message}`,
);
throw lastError.cause || lastError;
}
// Log the error for debugging
core.debug(
`Attempt ${attempt + 1} failed for ${operationName}: ${lastError.message}`,
);
// If this was the last attempt, throw the error
if (attempt === opts.maxRetries) {
core.error(
`${operationName} failed after ${opts.maxRetries + 1} attempts. Last error: ${lastError.message}`,
);
throw lastError;
}
}
}
throw lastError || new Error(`${operationName} failed for unknown reason`);
}
export async function withTimeout<T>(
promise: Promise<T>,
timeoutMs: number,
operationName = "operation",
): Promise<T> {
const timeoutPromise = new Promise<never>((_, reject) => {
setTimeout(() => {
reject(
new RetryableError(`${operationName} timed out after ${timeoutMs}ms`),
);
}, timeoutMs);
});
return Promise.race([promise, timeoutPromise]);
}
function sleep(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
export function isRetryableError(error: Error): boolean {
const message = error.message.toLowerCase();
// Network-related errors that should be retried
const retryableMessages = [
"connect timeout",
"connection timeout",
"timeout",
"econnreset",
"econnrefused",
"enotfound",
"network error",
"request timeout",
"socket timeout",
"fetch failed",
"connect etimedout",
];
// HTTP status codes that should be retried
const retryableStatusCodes = [408, 429, 500, 502, 503, 504];
// Check for retryable messages
if (retryableMessages.some((msg) => message.includes(msg))) {
return true;
}
// Check for HTTP status codes in error message
const statusMatch = message.match(/status.*?(\d{3})/);
if (statusMatch) {
const statusCode = parseInt(statusMatch[1], 10);
if (retryableStatusCodes.includes(statusCode)) {
return true;
}
}
return false;
}
export function wrapWithRetryLogic<T>(
operation: () => Promise<T>,
operationName: string,
options: Partial<RetryOptions> = {},
): () => Promise<T> {
return async () => {
try {
return await withRetry(operation, options, operationName);
} catch (error) {
const err = error as Error;
if (isRetryableError(err)) {
throw new RetryableError(
`${operationName} failed: ${err.message}`,
err,
);
} else {
throw new NonRetryableError(
`${operationName} failed: ${err.message}`,
err,
);
}
}
};
}
+3 -3
View File
@@ -1,12 +1,12 @@
{ {
"compilerOptions": { "compilerOptions": {
"target": "ES2022" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
"module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
"noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
"outDir": "./lib" /* Redirect output structure to the directory. */, "outDir": "./lib" /* Redirect output structure to the directory. */,
"rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
"strict": true /* Enable all strict type-checking options. */, "strict": true /* Enable all strict type-checking options. */,
"noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, "target": "ES2022" /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
}, },
"exclude": ["node_modules", "**/*.test.ts"] "exclude": ["node_modules", "**/*.test.ts"]
} }