Skip to content

Cache poetry itself #1138

Cache poetry itself

Cache poetry itself #1138

name: Linting & Testing
on:
push:
branches:
- master
pull_request:
env:
RUNS_ON: ubuntu-latest
jobs:
pre-commit:
name: Pre-commit
strategy:
matrix:
python-version: ["3.9", "3.10"]
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: abatilo/actions-poetry@v3
- name: Use local virtual environment
run: |
poetry config virtualenvs.create true --local
poetry config virtualenvs.in-project true --local
- uses: actions/cache@v4
name: Cache Poetry dependencies
with:
path: ./.venv
key: deps-${{ env.RUNS_ON }}-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }}
restore-keys: |
deps-${{ env.RUNS_ON }}-${{ matrix.python-version }}-
- uses: actions/cache@v4
name: Cache pre-commit hooks
with:
path: ~/.cache/pre-commit/
key: >
${{ format('pre-commit-{0}-{1}-{2}',
env.RUNS_ON,
matrix.python-version,
hashFiles('.pre-commit-config.yaml')
) }}
restore-keys: |
pre-commit-${{ env.RUNS_ON }}-${{ matrix.python-version }}-
pre-commit-${{ env.RUNS_ON }}-
- name: Install dependencies with Poetry
run: poetry install
- name: Run pre-commit on all files
run: |
poetry run pre-commit run --all-files --show-diff-on-failure --color=always
- name: Run python-typing-update
run: |
poetry run pre-commit run --hook-stage manual python-typing-update --all-files --show-diff-on-failure --color=always