Skip to content

Run Tests

Run Tests #1189

Workflow file for this run

name: Run Tests
on:
workflow_dispatch: # Allows this workflow to be manually triggered
push: # Run for every push to and PR filed against main (renamed from master)
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: "0 0 * * *" # At the end of every day
jobs:
build:
runs-on: ${{ matrix.os-version }}
strategy:
matrix:
os-version: [ubuntu-22.04, ubuntu-latest]
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install dependencies
run: make install-deps
- name: Lint (ruff, isort, black)
run: make lint
- name: Type check with mypy (Python >= 3.9)
if: matrix.python-version != '3.8'
run: make check
- name: Run unit tests with coverage
# Exclude dependencies in coverage report with --omit
run: make coverage
- name: Check Coverage Results
# Could gate here to prevent pass under certain coverage %
run: make coverage-report