Skip to content

feat: Adding robust unit support for pydantic models. #102

feat: Adding robust unit support for pydantic models.

feat: Adding robust unit support for pydantic models. #102

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
- "releases/**"
workflow_dispatch:
env:
DEFAULT_PYTHON: "3.12"
DEFAULT_OS: ubuntu-latest
permissions:
pull-requests: write
contents: write
jobs:
pytest:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.11", "3.12", "3.13"]
os: [ubuntu-latest, windows-latest]
needs:
- pre-commit
- ruff
- mypy
steps:
- uses: actions/checkout@v4
- name: Installing uv with python ${{ matrix.python-version }}
uses: astral-sh/setup-uv@v6
with:
version: "latest"
python-version: ${{ matrix.python-version }}
- name: Installing dependencies
run: uv sync --dev
- name: Running package tests
run: |
uv run --frozen pytest -vvl --cov=src/r2x_core --cov-report=xml
- name: codecov
uses: codecov/codecov-action@v5
if: ${{ matrix.os == env.DEFAULT_OS && matrix.python-version == env.DEFAULT_PYTHON }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
name: r2x-core
fail_ci_if_error: false
verbose: true
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "latest"
- name: Installing dependencies
run: uv sync --dev
- name: Run pre-commit
run: |
uv run pre-commit run --all-files
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "latest"
- name: Installing dependencies
run: uv sync --dev
- name: Run mypy
run: |
uv run mypy --config-file=pyproject.toml src/
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "latest"
- name: Installing dependencies
run: uv sync --dev
- name: Run Ruff
run: uv run ruff check --output-format=github src/
docstr_coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
version: "latest"
- name: Installing dependencies
run: uv sync --group docs
- name: Run docstring coverage check
run: uv run docstr-coverage src/ --fail-under 90