Skip to content

Save

Save #20

Workflow file for this run

name: CI
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 8 * * 6'
jobs:
test:
runs-on: ubuntu-24.04
strategy:
matrix:
python: ["3.12", "3.13"]
name: "Test: Python ${{ matrix.python }}"
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- uses: pypa/hatch@install
- name: Test with coverage
run: hatch test -v --cover --include python=$(echo ${{ matrix.python }} | tr -d '-')
- name: Generate coverage report
run: hatch run coverage:xml
- name: Upload coverage report
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
typecheck:
runs-on: ubuntu-24.04
strategy:
matrix:
python: ["3.12", "3.13"]
name: "Type check: Python ${{ matrix.python }}"
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- uses: pypa/hatch@install
- run: hatch run types:check
fmt:
name: Format and lint
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- uses: pypa/hatch@install
- run: hatch fmt --check