52 lines
940 B
YAML
52 lines
940 B
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "**"
|
|
paths:
|
|
- '**.py'
|
|
- 'pyproject.toml'
|
|
- 'poetry.lock'
|
|
- 'tests/**'
|
|
pull_request:
|
|
branches:
|
|
- "**"
|
|
paths:
|
|
- '**.py'
|
|
- 'pyproject.toml'
|
|
- 'poetry.lock'
|
|
- 'tests/**'
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.14'
|
|
|
|
- name: Install uv
|
|
run: pip install uv
|
|
|
|
- name: Cache uv dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
.venv
|
|
~/.cache/uv
|
|
key: ${{ runner.os }}-uv-${{ hashFiles('uv.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-uv-
|
|
|
|
- name: Sync dependencies
|
|
run: uv sync --dev
|
|
|
|
- name: Run tests
|
|
run: uv run pytest
|
|
|