@@ -23,10 +23,21 @@ jobs:
2323 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2424 with :
2525 persist-credentials : false
26+ - name : Get cache tag
27+ id : get-date
28+ run : |
29+ echo "cache_tag=$(/bin/date --utc '+%Y%m')" >> "$GITHUB_OUTPUT"
30+ echo "previous_cache_tag=$(/bin/date --date='1 month ago' --utc '+%Y%m')" >> "$GITHUB_OUTPUT"
31+ shell : bash
2632 - uses : actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
33+ id : pre-commit-cache
2734 with :
2835 path : ~/.cache/pre-commit
29- key : ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
36+ key : ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.cache_tag }}-${{ hashFiles('.pre-commit-config.yaml') }}
37+ restore-keys : |
38+ ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.cache_tag }}
39+ ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.previous_cache_tag }}
40+ ${{ runner.os }}-pre-commit-
3041 - name : Setup Python
3142 uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
3243 with :
@@ -46,13 +57,17 @@ jobs:
4657 fi
4758 - name : pre-commit (PEP 735)
4859 if : steps.detect.outputs.method == 'pep735'
49- run : uv run --only-group pre-commit pre-commit run --all --show-diff-on-failure
60+ run : |
61+ uv run --only-group pre-commit pre-commit run --all --show-diff-on-failure
62+ uv run --only-group pre-commit pre-commit gc
5063 env :
5164 RUFF_OUTPUT_FORMAT : github
5265 REUSE_OUTPUT_FORMAT : github
5366 - name : pre-commit (uvx)
5467 if : steps.detect.outputs.method == 'uvx'
55- run : uvx pre-commit run --all --show-diff-on-failure
68+ run : |
69+ uvx pre-commit run --all --show-diff-on-failure
70+ uvx pre-commit gc
5671 env :
5772 RUFF_OUTPUT_FORMAT : github
5873 REUSE_OUTPUT_FORMAT : github
6479 run : uv pip install --system "$(sed -n 's/.*"\(pre-commit==\([^"]*\)\)".*/\1/p' pyproject.toml)"
6580 - name : pre-commit (installed)
6681 if : steps.detect.outputs.method == 'requirements' || steps.detect.outputs.method == 'pyproject'
67- run : pre-commit run --all --show-diff-on-failure
82+ run : |
83+ pre-commit run --all --show-diff-on-failure
84+ pre-commit gc
6885 env :
6986 RUFF_OUTPUT_FORMAT : github
7087 REUSE_OUTPUT_FORMAT : github
0 commit comments