diff --git a/.github/actions/pre-commit/action.yml b/.github/actions/pre-commit/action.yml new file mode 100644 index 0000000..b9845c6 --- /dev/null +++ b/.github/actions/pre-commit/action.yml @@ -0,0 +1,18 @@ +name: run pre-commit checks +description: run all pre-commit managed checks +inputs: + pre-commit-home: + description: cache dir to use + required: true + default: ${{ github.workspace }}/.pre-commit-cache +runs: + using: "composite" + steps: + - id: python-interpreter-hash + run: echo "HASH=$(python -VV | sha256sum | cut -d' ' -f1)" >> $$GITHUB_OUTPUTS + - uses: actions/cache@v4 + with: + path: ${{ env.PRE_COMMIT_HOME }} + key: pre-commit|${{ env.PYTHON_INTERPRETER_HASH }}|${{ hashFiles('.pre-commit-config.yaml') }} + - name: Run commit checks + run: poetry run pre-commit run -a diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 9d0dccf..92d0a59 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -7,6 +7,8 @@ on: jobs: check: runs-on: ubuntu-latest + env: + PRE_COMMIT_HOME: $CI_PROJECT_DIR/.pre-commit-cache steps: - uses: actions/checkout@v4 - run: pipx install poetry==1.7.1 @@ -16,6 +18,7 @@ jobs: cache: poetry - name: Install dependencies run: poetry install --with=dev + - uses: ./.github/actions/pre-commit - name: Run commit checks run: poetry run pre-commit run -a - name: Run tests