charasheet/.github/workflows/test.yaml

61 lines
1.6 KiB
YAML
Raw Normal View History

2022-10-31 09:02:54 +01:00
name: Test
on:
2023-01-30 15:09:11 +01:00
workflow_dispatch:
2022-10-31 09:02:54 +01:00
workflow_call:
pull_request:
branches: [ "master" ]
2023-01-18 15:12:12 +01:00
permissions:
contents: read
2022-10-31 09:02:54 +01:00
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:
2022-11-01 08:18:33 +01:00
python-version: '3.11'
2022-12-10 01:00:10 +01:00
cache: pip
2022-10-31 09:02:54 +01:00
- name: Install dependencies
run: |
2022-12-10 01:00:10 +01:00
pip install pip-tools
pip-sync requirements.txt requirements-dev.txt
2023-01-29 10:38:41 +01:00
- name: Ruff
run: ruff --format=github .
2022-10-31 09:02:54 +01:00
- name: Test
2022-12-10 01:17:30 +01:00
run: pytest --cov=. --cov-branch --cov-report term-missing:skip-covered
2022-10-31 09:02:54 +01:00
working-directory: ./src/
2023-03-14 10:29:06 +01:00
- name: Setup pre-commit cache
uses: actions/cache@v3
with:
path: ~/.cache/pre-commit
key: pre-commit-3|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}
2023-03-14 09:29:35 +01:00
- name: Check pre-commit
2023-03-14 10:29:06 +01:00
run: pre-commit run --show-diff-on-failure --color=always --all-files
2023-03-14 10:13:46 +01:00
auto_merge:
name: Auto merge
runs-on: ubuntu-latest
needs: tests
2023-03-14 10:42:32 +01:00
permissions:
pull-requests: write
2023-03-14 10:46:51 +01:00
contents: write
2023-03-14 10:29:12 +01:00
env:
GH_TOKEN: ${{ github.token }}
2023-03-14 10:13:46 +01:00
if: >-
github.event.pull_request
&& github.event.pull_request.merged == false
&& (
2023-03-14 10:15:21 +01:00
github.event.pull_request.user.login == 'crocmagnon-pr[bot]'
|| github.event.pull_request.user.login == 'pre-commit-ci[bot]'
2023-03-14 10:13:46 +01:00
)
steps:
2023-03-14 10:35:48 +01:00
- name: Checkout
uses: actions/checkout@v3
2023-03-14 10:13:46 +01:00
- name: Auto merge
run: gh pr merge ${{github.event.pull_request.number}} --delete-branch --rebase