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 09:29:35 +01:00
|
|
|
- name: Check pre-commit
|
|
|
|
run: pre-commit run --all-files
|
2023-03-14 10:13:46 +01:00
|
|
|
auto_merge:
|
|
|
|
name: Auto merge
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
needs: tests
|
|
|
|
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:
|
|
|
|
- name: Auto merge
|
|
|
|
run: gh pr merge ${{github.event.pull_request.number}} --delete-branch --rebase
|