2023-03-25 20:24:12 +01:00
|
|
|
name: Test
|
|
|
|
|
|
|
|
on:
|
|
|
|
workflow_dispatch:
|
|
|
|
workflow_call:
|
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
2023-04-29 22:57:01 +02:00
|
|
|
env:
|
|
|
|
PIP_DISABLE_PIP_VERSION_CHECK: 1
|
|
|
|
|
2023-03-25 20:24:12 +01:00
|
|
|
jobs:
|
|
|
|
tests:
|
|
|
|
name: Python tests
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout
|
2023-09-04 18:34:54 +00:00
|
|
|
uses: actions/checkout@v4
|
2025-01-05 11:48:05 +01:00
|
|
|
- name: Install uv
|
|
|
|
uses: astral-sh/setup-uv@v5
|
2023-03-25 20:24:12 +01:00
|
|
|
- name: Set up Python
|
2023-12-11 18:10:13 +00:00
|
|
|
uses: actions/setup-python@v5
|
2023-03-25 20:24:12 +01:00
|
|
|
with:
|
2025-01-05 11:48:05 +01:00
|
|
|
python-version-file: "pyproject.toml"
|
|
|
|
- name: Install the project
|
2023-03-25 20:24:12 +01:00
|
|
|
run: |
|
2025-01-05 11:48:05 +01:00
|
|
|
uv sync --all-extras --dev --frozen --no-install-project
|
2023-03-25 20:39:29 +01:00
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install -y --no-install-recommends gettext
|
2023-03-25 20:24:12 +01:00
|
|
|
- name: Setup pre-commit cache
|
2024-01-22 18:44:19 +00:00
|
|
|
uses: actions/cache@v4
|
2023-03-25 20:24:12 +01:00
|
|
|
with:
|
|
|
|
path: ~/.cache/pre-commit
|
|
|
|
key: pre-commit-3|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}
|
|
|
|
- name: Check pre-commit
|
2025-01-05 11:48:05 +01:00
|
|
|
run: uv run pre-commit run --show-diff-on-failure --color=always --all-files
|
2023-03-25 20:24:12 +01:00
|
|
|
- name: Test
|
2025-01-05 11:48:05 +01:00
|
|
|
run: uv run inv test-cov
|
2023-03-25 20:24:12 +01:00
|
|
|
working-directory: ./src/
|