Skip to content

👷⚡️ Cache pre-commit hooks in CI workflow #315

👷⚡️ Cache pre-commit hooks in CI workflow

👷⚡️ Cache pre-commit hooks in CI workflow #315

Workflow file for this run

name: Tests
on:
push:
branches: [main, develop]
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
COLUMNS: 200
# Many color libraries just need this variable to be set to any value.
# Set it to 3 to support 8-bit color graphics (256 colors per channel)
# for libraries that care about the value set.
FORCE_COLOR: 3
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: pre-commit/[email protected]
copier-template-tester:
name: copier-template-tester (uv ${{ matrix.uv-version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
uv-version: ["0.7.3", "latest"]
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: astral-sh/setup-uv@v6
with:
version: ${{ matrix.uv-version }}
- name: Use correct Python version in older uv version
if: ${{ matrix.uv-version == '0.7.3' }}
run: sed -i 's/14/13/g' ctt.toml copier.yml
- name: Configure Git
run: |
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
git config --global user.name "${{ github.actor }}"
- name: Cache pre-commit
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml', 'project_name/.pre-commit-config.yaml.jinja') }}
restore-keys: |
pre-commit-${{ runner.os }}-
- name: Run copier-template-tester
run: uv run ctt