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.