name: Test on: workflow_dispatch: workflow_call: pull_request: branches: [ "master" ] permissions: contents: read jobs: tests: name: Python tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '{{cookiecutter.python_version}}' cache: pip - name: Install dependencies run: | pip install pip-tools pip-sync requirements.txt requirements-dev.txt - name: Setup pre-commit cache uses: actions/cache@v3 with: path: ~/.cache/pre-commit key: {% raw %}pre-commit-3|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}{% endraw %} - name: Check pre-commit run: pre-commit run --show-diff-on-failure --color=always --all-files - name: Test run: pytest --cov=. --cov-branch --cov-report term-missing:skip-covered working-directory: ./src/ auto_merge: name: Auto merge runs-on: ubuntu-latest needs: tests permissions: pull-requests: write contents: write env: GH_TOKEN: {% raw %}${{ github.token }}{% endraw %} if: >- github.event.pull_request && github.event.pull_request.merged == false && ( github.event.pull_request.user.login == 'crocmagnon-pr[bot]' || github.event.pull_request.user.login == 'pre-commit-ci[bot]' ) steps: - name: Checkout uses: actions/checkout@v3 - name: Auto merge run: gh pr merge {% raw %}${{github.event.pull_request.number}}{% endraw %} --delete-branch --rebase