charasheet/.github/workflows/test.yaml

56 lines
1.4 KiB
YAML

name: Test
on:
workflow_dispatch:
workflow_call:
pull_request:
branches: [ "master" ]
permissions:
contents: read
jobs:
context:
name: Display context
runs-on: ubuntu-latest
if: >-
github.event.pull_request
&& github.event.pull_request.merged == false
steps:
- run: echo "${{github.event.pull_request.user.login}}"
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: '3.11'
cache: pip
- name: Install dependencies
run: |
pip install pip-tools
pip-sync requirements.txt requirements-dev.txt
- name: Ruff
run: ruff --format=github .
- name: Test
run: pytest --cov=. --cov-branch --cov-report term-missing:skip-covered
working-directory: ./src/
- name: Check pre-commit
run: pre-commit run --all-files
auto_merge:
name: Auto merge
runs-on: ubuntu-latest
needs: tests
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: Auto merge
run: gh pr merge ${{github.event.pull_request.number}} --delete-branch --rebase