Skip to content

CI

GitHub Actions validates code quality, packaging, and cross-platform test behavior.

On pull requests, each CI workflow updates a dedicated conversation comment with the overall job status, run link, commit, and step-level outcomes.

Quality

The quality workflow runs on Ubuntu and checks:

  • lockfile consistency with uv lock --check
  • dependency installation with uv sync --locked --all-extras --dev
  • formatting with ruff format --check
  • linting with ruff check
  • Python compilation with compileall
  • package builds with uv build
  • wheel installation in a temporary environment

Tests

pytest runs on:

  • Linux with Python 3.11, 3.12, and 3.13
  • macOS with the repository default Python version
  • Windows with the repository default Python version

Each test job installs the locked development environment and runs:

uv run pytest

Coverage

The coverage workflow runs on Ubuntu and writes both terminal output and coverage.xml:

uv run pytest --cov=trainpit --cov-report=term-missing --cov-report=xml

The workflow uploads coverage.xml as a GitHub Actions artifact named coverage-xml.

Documentation

Documentation builds run on pull requests with:

zensical build --clean

Deployments to GitHub Pages only run from main or master.

Dependency Updates

Dependabot is configured for:

  • GitHub Actions
  • uv
  • devcontainers