Skip to content

Misc (#95)

Misc (#95) #237

name: Python package
on:
push:
branches: [ master, v3 ]
pull_request:
branches: [ master, v3 ]
jobs:
lint:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.13']
steps:
- name: Check out the code
uses: actions/checkout@v3
- name: Set up uv
uses: hynek/setup-cached-uv@v2
with:
cache-dependency-path: uv.lock
- name: Pin Python version
run: uv python pin ${{ matrix.python-version }}
- name: Sync dependencies
run: uv sync
- name: Lint check
run: uvx ruff check
- name: Check formatting
run: uvx ruff format --check
test:
runs-on: ubuntu-latest
strategy:
matrix:
settings:
- python: '3.13'
coverage: false
steps:
- name: Check out the code
uses: actions/checkout@v3
- name: Set up uv
uses: hynek/setup-cached-uv@v2
with:
cache-dependency-path: uv.lock
- name: Pin Python version
run: uv python pin ${{ matrix.settings.python }}
- name: Sync dependencies
run: uv sync
- name: Test with pytest
if: ${{ !matrix.settings.coverage }}
run: uv run pytest tests/
- name: Test with pytest and coverage
if: ${{ matrix.settings.coverage }}
run: uv run pytest --cov=src --cov-report term-missing tests/
- name: Verify coverage
if: ${{ matrix.settings.coverage }}
run: uv run coverage report | tail -1 | egrep "TOTAL +[0-9]+ +0 +100%"