name: pre-commit

on: [push, pull_request]

jobs:
  pre-commit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/cache@v2
        with:
          path: |
            ~/.cache/pre-commit
            ~/.cache/pip
          key: ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
      - uses: actions/setup-python@v2
      - uses: psf/black@21.4b0
      - name: Install pre-commit
        run: |
          python -m pip install --upgrade pip
          python -m pip install --upgrade pre-commit
      - run: pre-commit run --verbose --all-files --show-diff-on-failure