Skip to content

CI Integration

The repository CI workflow runs Ruff lint, strict mypy, pytest, a 1900–2100 calendar regression, MkDocs, package builds, Twine metadata checks, and clean wheel/sdist installation smoke tests.

For another CI system, consume JSON or SARIF output and use the process status:

betacal-printlint check export.svg --format sarif > printlint.sarif

Exit code 0 means no errors (warnings may still exist); 1 means one or more validation errors; 2 means command-line input was invalid.