Update GitHub Actions - #1885
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1885 +/- ##
==========================================
- Coverage 92.13% 92.12% -0.02%
==========================================
Files 112 112
Lines 22528 22528
==========================================
- Hits 20757 20754 -3
- Misses 1771 1774 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
📦 Cargo Bloat ComparisonBinary size change: +0.00% (25.5 MiB → 25.5 MiB) Expand for cargo-bloat outputHead Branch ResultsBase Branch Results |
⚡️ Hyperfine BenchmarksSummary: 0 regressions, 0 improvements above the 10% threshold. Environment
CLI CommandsBenchmarking basic commands in the main repo:
|
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base --version |
2.1 ± 0.1 | 2.0 | 3.1 | 1.00 |
prek-head --version |
2.2 ± 0.1 | 2.0 | 2.6 | 1.04 ± 0.08 |
prek list
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base list |
8.3 ± 0.2 | 8.1 | 10.1 | 1.00 |
prek-head list |
8.4 ± 0.2 | 8.1 | 10.4 | 1.01 ± 0.04 |
prek validate-config .pre-commit-config.yaml
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base validate-config .pre-commit-config.yaml |
2.9 ± 0.0 | 2.8 | 3.0 | 1.00 |
prek-head validate-config .pre-commit-config.yaml |
2.9 ± 0.0 | 2.8 | 2.9 | 1.01 ± 0.02 |
prek sample-config
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base sample-config |
2.4 ± 0.0 | 2.3 | 2.5 | 1.00 |
prek-head sample-config |
2.4 ± 0.0 | 2.3 | 2.5 | 1.03 ± 0.02 |
Cold vs Warm Runs
Comparing first run (cold) vs subsequent runs (warm cache):
prek run --all-files (cold - no cache)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run --all-files |
138.3 ± 3.1 | 134.2 | 142.3 | 1.00 ± 0.04 |
prek-head run --all-files |
138.2 ± 4.5 | 130.3 | 144.1 | 1.00 |
prek run --all-files (warm - with cache)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run --all-files |
136.8 ± 3.6 | 132.2 | 146.3 | 1.00 |
prek-head run --all-files |
137.4 ± 3.4 | 132.7 | 144.6 | 1.00 ± 0.04 |
Full Hook Suite
Running the builtin hook suite on the benchmark workspace:
prek run --all-files (full builtin hook suite)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run --all-files |
137.4 ± 2.9 | 131.7 | 144.1 | 1.00 ± 0.03 |
prek-head run --all-files |
137.3 ± 3.2 | 132.0 | 143.6 | 1.00 |
Individual Hook Performance
Benchmarking each hook individually on the test repo:
prek run trailing-whitespace --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run trailing-whitespace --all-files |
19.8 ± 0.6 | 19.0 | 22.3 | 1.03 ± 0.04 |
prek-head run trailing-whitespace --all-files |
19.3 ± 0.4 | 18.6 | 20.6 | 1.00 |
prek run end-of-file-fixer --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run end-of-file-fixer --all-files |
26.1 ± 2.4 | 22.5 | 30.7 | 1.03 ± 0.12 |
prek-head run end-of-file-fixer --all-files |
25.4 ± 2.0 | 22.7 | 28.5 | 1.00 |
prek run check-json --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run check-json --all-files |
10.9 ± 0.4 | 10.3 | 12.1 | 1.00 |
prek-head run check-json --all-files |
21.8 ± 28.8 | 10.2 | 123.9 | 2.00 ± 2.64 |
prek run check-yaml --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run check-yaml --all-files |
10.6 ± 0.3 | 10.3 | 11.9 | 1.00 |
prek-head run check-yaml --all-files |
10.7 ± 0.2 | 10.3 | 11.4 | 1.01 ± 0.03 |
prek run check-toml --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run check-toml --all-files |
10.8 ± 0.2 | 10.4 | 11.3 | 1.00 ± 0.03 |
prek-head run check-toml --all-files |
10.8 ± 0.3 | 10.3 | 11.7 | 1.00 |
prek run check-xml --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run check-xml --all-files |
10.9 ± 0.3 | 10.4 | 12.1 | 1.01 ± 0.04 |
prek-head run check-xml --all-files |
10.8 ± 0.3 | 10.4 | 11.4 | 1.00 |
prek run detect-private-key --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run detect-private-key --all-files |
16.6 ± 1.1 | 14.8 | 18.5 | 1.00 ± 0.09 |
prek-head run detect-private-key --all-files |
16.6 ± 0.9 | 14.5 | 18.4 | 1.00 |
prek run fix-byte-order-marker --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run fix-byte-order-marker --all-files |
21.5 ± 1.6 | 19.0 | 24.5 | 1.00 ± 0.10 |
prek-head run fix-byte-order-marker --all-files |
21.4 ± 1.4 | 18.8 | 24.0 | 1.00 |
Installation Performance
Benchmarking hook installation (fast path hooks skip Python setup):
prek install-hooks (cold - no cache)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base install-hooks |
4.3 ± 0.1 | 4.2 | 4.3 | 1.00 |
prek-head install-hooks |
4.3 ± 0.0 | 4.2 | 4.3 | 1.00 ± 0.02 |
prek install-hooks (warm - with cache)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base install-hooks |
4.2 ± 0.0 | 4.1 | 4.2 | 1.00 |
prek-head install-hooks |
4.3 ± 0.1 | 4.2 | 4.4 | 1.02 ± 0.02 |
File Filtering/Scoping Performance
Testing different file selection modes:
prek run (staged files only)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run |
47.6 ± 0.9 | 46.0 | 49.5 | 1.01 ± 0.03 |
prek-head run |
47.3 ± 0.8 | 46.1 | 49.8 | 1.00 |
prek run --files '*.json' (specific file type)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run --files '*.json' |
8.0 ± 0.1 | 7.8 | 8.1 | 1.00 |
prek-head run --files '*.json' |
8.0 ± 0.1 | 7.9 | 8.1 | 1.00 ± 0.01 |
Workspace Discovery & Initialization
Benchmarking hook discovery and initialization overhead:
prek run --dry-run --all-files (measures init overhead)
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run --dry-run --all-files |
12.2 ± 0.4 | 12.0 | 13.9 | 1.00 |
prek-head run --dry-run --all-files |
14.2 ± 1.6 | 12.2 | 16.6 | 1.17 ± 0.14 |
Meta Hooks Performance
Benchmarking meta hooks separately:
prek run check-hooks-apply --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run check-hooks-apply --all-files |
12.5 ± 0.2 | 12.4 | 13.0 | 1.00 ± 0.01 |
prek-head run check-hooks-apply --all-files |
12.5 ± 0.1 | 12.4 | 12.7 | 1.00 |
prek run check-useless-excludes --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run check-useless-excludes --all-files |
12.2 ± 0.7 | 11.1 | 12.8 | 1.09 ± 0.06 |
prek-head run check-useless-excludes --all-files |
11.2 ± 0.1 | 11.1 | 11.4 | 1.00 |
prek run identity --all-files
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|---|---|---|---|---|
prek-base run identity --all-files |
9.7 ± 0.1 | 9.6 | 9.8 | 1.00 |
prek-head run identity --all-files |
9.8 ± 0.1 | 9.6 | 10.0 | 1.01 ± 0.01 |
This PR contains the following updates:
v2.8.2→v2.9.1v5.0.3→v5.0.4v8.0.0→v8.0.1v6.3.0→v6.4.0v7.4.0→v7.6.0v5.5.2→v5.5.3v5.5.4v2.0.3→v2.0.4v2.0.0→v2.0.1v2.1.3→v2.2.0v1.290.0→v1.295.0v1.299.0(+3)v1.0.3→v1.0.4v2.68.26→v2.69.10v2.71.0(+9)Release Notes
Swatinem/rust-cache (Swatinem/rust-cache)
v2.9.1Compare Source
Fix regression in hash calculation
Full Changelog: Swatinem/rust-cache@v2.9.0...v2.9.1
v2.9.0Compare Source
What's Changed
node24runner by @rhysd in #314New Contributors
Full Changelog: Swatinem/rust-cache@v2.8.2...v2.9.0
actions/cache (actions/cache)
v5.0.4Compare Source
actions/download-artifact (actions/download-artifact)
v8.0.1Compare Source
What's Changed
Full Changelog: actions/download-artifact@v8...v8.0.1
actions/setup-go (actions/setup-go)
v6.4.0Compare Source
What's Changed
Enhancement
Dependency update
Documentation update
New Contributors
Full Changelog: actions/setup-go@v6...v6.4.0
astral-sh/setup-uv (astral-sh/setup-uv)
v7.6.0: 🌈 Fetch uv from Astral's mirror by defaultCompare Source
Changes
We now default to download uv from
releases.astral.sh.This means by default we don't hit the GitHub API at all and shouldn't see any rate limits and timeouts any more.
🚀 Enhancements
🧰 Maintenance
⬆️ Dependency updates
v7.5.0: 🌈 Useastral-sh/versionsas version providerCompare Source
No more rate-limits
This release addresses a long-standing source of timeouts and rate-limit failures in setup-uv.
Previously, the action resolved version identifiers like 0.5.x by iterating over available uv releases via the GitHub API to find the best match. In contrast, latest and exact versions such as 0.5.0 skipped version resolution entirely and downloaded uv directly.
The
manifest-fileinput was an earlier attempt to improve this. It allows providing an url to a file that lists available versions, checksums, and even custom download URLs. The action also shipped with such a manifest.However, because that bundled file could become outdated whenever new uv releases were published, the action still had to fall back to the GitHub API in many cases.
This release solves the problem by sourcing version data from Astral’s versions repository via the raw content endpoint:
https://raw.githubusercontent.com/astral-sh/versions/refs/heads/main/v1/uv.ndjson
By using the raw endpoint instead of the GitHub API, version resolution no longer depends on API authentication and is much less likely to run into rate limits or timeouts.
The
manifest-fileinput lets you override that source with your own URL, for example to test custom uv builds or alternate download locations.The manifest file must be in NDJSON format, where each line is a JSON object representing a version and its artifacts. For example:
{"version":"0.10.7","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]} {"version":"0.10.6","artifacts":[{"platform":"x86_64-unknown-linux-gnu","variant":"default","url":"https://example.com/uv-x86_64-unknown-linux-gnu.tar.gz","archive_format":"tar.gz","sha256":"..."}]}Changes
🚀 Enhancements
📚 Documentation
codecov/codecov-action (codecov/codecov-action)
v5.5.3Compare Source
What's Changed
Full Changelog: codecov/codecov-action@v5.5.2...v5.5.3
denoland/setup-deno (denoland/setup-deno)
v2.0.4Compare Source
j178/prek-action (j178/prek-action)
v2.0.1Compare Source
What's Changed
Full Changelog: j178/prek-action@v2...v2.0.1
oven-sh/setup-bun (oven-sh/setup-bun)
v2.2.0Compare Source
oven-sh/setup-bunis the github action for setting up Bun.What's Changed
actions/checkout@v6.0.2in the test workflow by @tcely in #173autofix.ciworkflow by @tcely in #174Release new action versionworkflow by @tcely in #175New Contributors
Full Changelog: oven-sh/setup-bun@v2...v2.2.0
ruby/setup-ruby (ruby/setup-ruby)
v1.295.0Compare Source
What's Changed
Full Changelog: ruby/setup-ruby@v1.294.0...v1.295.0
v1.294.0Compare Source
What's Changed
Full Changelog: ruby/setup-ruby@v1.293.0...v1.294.0
v1.293.0Compare Source
What's Changed
Full Changelog: ruby/setup-ruby@v1.292.0...v1.293.0
v1.292.0Compare Source
What's Changed
Full Changelog: ruby/setup-ruby@v1.291.0...v1.292.0
v1.291.0Compare Source
What's Changed
Full Changelog: ruby/setup-ruby@v1.290.0...v1.291.0
rust-lang/crates-io-auth-action (rust-lang/crates-io-auth-action)
v1.0.4Compare Source
What's Changed
Full Changelog: rust-lang/crates-io-auth-action@v1.0.3...v1.0.4
taiki-e/install-action (taiki-e/install-action)
v2.69.10Compare Source
Initial release
[2
Configuration
📅 Schedule: Branch creation - Between 01:00 AM and 03:59 AM, only on Monday ( * 1-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.