Skip to content

test(preprocess): add extended test suite to improve coverage #626

test(preprocess): add extended test suite to improve coverage

test(preprocess): add extended test suite to improve coverage #626

Workflow file for this run

name: Quality Checks
on:
push:
branches: ["main"]
paths-ignore:
# Documentation and metadata
- "README.md"
- "CONTRIBUTING.md"
- "CHANGELOG.md"
- "LICENSE"
- "**.md"
# Version and config
- "**/__version__.py"
- ".gitignore"
- ".editorconfig"
- ".prettierrc"
- "Makefile"
# Images and diagrams
- "**/*.png"
- "**/*.jpg"
- "**/*.jpeg"
- "**/*.svg"
- "**/*.gif"
# Directories
- ".vscode/**"
- "docs/**"
- "examples/**"
- "scripts/**"
pull_request:
branches: ["main"]
paths-ignore:
# Documentation and metadata
- "README.md"
- "CONTRIBUTING.md"
- "CHANGELOG.md"
- "LICENSE"
- "**.md"
# Version and config
- "**/__version__.py"
- ".gitignore"
- ".editorconfig"
- ".prettierrc"
- "Makefile"
# Images and diagrams
- "**/*.png"
- "**/*.jpg"
- "**/*.jpeg"
- "**/*.svg"
- "**/*.gif"
# Directories
- ".vscode/**"
- "docs/**"
- "examples/**"
- "scripts/**"
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"
- name: Install dependencies for mypy
run: |
uv pip install --system mypy
uv pip install --system .
- name: Lint with ruff
run: uvx ruff check .
- name: Check formatting with ruff
run: uvx ruff format --check .
- name: Type check with mypy (strict mode)
run: mypy src/gac --strict
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "**/pyproject.toml"
- name: Install dependencies
run: |
uv pip install --system pytest pytest-cov pytest-asyncio
uv pip install --system .
- name: Run pytest with coverage
run: pytest --cov=gac --cov-report=xml -s
- name: Upload coverage reports to Codecov
if: matrix.python-version == '3.11' # Only upload coverage once
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: cellwebb/gac
- name: Upload test results to Codecov
if: ${{ !cancelled() && matrix.python-version == '3.11' }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}