Skip to content

Continuous Integration Checks

Continuous integration (CI) hygiene checks are run after the code is pushed to GitHub.

CI runs in a clean environment on GitHub's servers. It verifies that the code works correctly outside of the local machine. CI validates only; it never edits files or deploys.

Example CI steps (runs on GitHub after push):

ASSEMBLE: get code and set up environment

  • A1 checkout repository - get the code from GitHub
  • A2 install uv - the Python package manager used in this project
  • A3 install Python 3.14 - match the version pinned in pyproject.toml
  • A4 sync dependencies - install all packages needed to run code, checks, and docs

BASELINE: basic checks that fail fast and validate

  • B1 validate-pyproject - confirms pyproject.toml is well-formed

CHECK: verify code quality and functionality

  • C1 ruff format --check - verifies formatting without changing files
  • C2 ruff check - verifies lint without fixing
  • C3 run example code - proves the Python actually executes

DEPLOY: build documentation

  • D1 build docs (continue-on-error) - warns on docs problems, doesn't fail the build

A Note on Prefixes

Prefixes (e.g. A1) are just concise identifiers. When a check fails, the prefix identifies the step that had the problem. They do not need to match across different projects, they are only for convenience.