1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
name: Pre-commit check
permissions:
contents: read
on:
push:
branches-ignore:
- renovate/**
- weblate
pull_request:
jobs:
pre-commit:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- name: Get cache tag
id: get-date
run: |
echo "cache_tag=$(/bin/date --utc '+%Y%m')" >> "$GITHUB_OUTPUT"
echo "previous_cache_tag=$(/bin/date --date='1 month ago' --utc '+%Y%m')" >> "$GITHUB_OUTPUT"
shell: bash
- uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
id: pre-commit-cache
with:
path: ~/.cache/pre-commit
key: ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.cache_tag }}-${{ hashFiles('.pre-commit-config.yaml') }}
restore-keys: |
${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.cache_tag }}
${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.previous_cache_tag }}
${{ runner.os }}-pre-commit-
- name: Setup Python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: '3.14'
- uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
with:
version: 0.9.22
enable-cache: false
- name: pre-commit
run: |
uvx pre-commit run --all --show-diff-on-failure
uvx pre-commit gc
env:
RUFF_OUTPUT_FORMAT: github
REUSE_OUTPUT_FORMAT: github
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: diff
run: git diff
if: always()
- uses: pre-commit-ci/lite-action@5d6cc0eb514c891a40562a58a8e71576c5c7fb43 # v1.1.0
if: always()
with:
msg: 'chore(pre-commit): apply code formatting'
|